Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: sync/internal_api/public/base/invalidation_test_util.cc

Issue 23441042: Refactor common invalidation framework types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move DEPS rule Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sync/internal_api/public/base/invalidation_test_util.h" 5 #include "sync/internal_api/public/base/invalidation_test_util.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/json/string_escape.h" 9 #include "base/json/string_escape.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 DISALLOW_COPY_AND_ASSIGN(InvalidationEqMatcher); 69 DISALLOW_COPY_AND_ASSIGN(InvalidationEqMatcher);
70 }; 70 };
71 71
72 InvalidationEqMatcher::InvalidationEqMatcher( 72 InvalidationEqMatcher::InvalidationEqMatcher(
73 const Invalidation& expected) : expected_(expected) { 73 const Invalidation& expected) : expected_(expected) {
74 } 74 }
75 75
76 bool InvalidationEqMatcher::MatchAndExplain( 76 bool InvalidationEqMatcher::MatchAndExplain(
77 const Invalidation& actual, MatchResultListener* listener) const { 77 const Invalidation& actual, MatchResultListener* listener) const {
78 return expected_.payload == actual.payload; 78 if (!(expected_.object_id() == actual.object_id())) {
79 return false;
80 }
81 if (expected_.is_unknown_version() && actual.is_unknown_version()) {
82 return true;
83 } else if (expected_.is_unknown_version() != actual.is_unknown_version()) {
84 return false;
85 } else {
86 // Neither is unknown version.
87 return expected_.payload() == actual.payload()
88 && expected_.version() == actual.version();
89 }
79 } 90 }
80 91
81 void InvalidationEqMatcher::DescribeTo(::std::ostream* os) const { 92 void InvalidationEqMatcher::DescribeTo(::std::ostream* os) const {
82 *os << " is equal to " << PrintToString(expected_); 93 *os << " is equal to " << PrintToString(expected_);
83 } 94 }
84 95
85 void InvalidationEqMatcher::DescribeNegationTo(::std::ostream* os) const { 96 void InvalidationEqMatcher::DescribeNegationTo(::std::ostream* os) const {
86 *os << " isn't equal to " << PrintToString(expected_); 97 *os << " isn't equal to " << PrintToString(expected_);
87 } 98 }
88 99
89 } // namespace 100 } // namespace
90 101
91 void PrintTo(const AckHandle& ack_handle, ::std::ostream* os ) { 102 void PrintTo(const AckHandle& ack_handle, ::std::ostream* os ) {
92 scoped_ptr<base::Value> value(ack_handle.ToValue()); 103 scoped_ptr<base::Value> value(ack_handle.ToValue());
93 std::string printable_ack_handle; 104 std::string printable_ack_handle;
94 base::JSONWriter::Write(value.get(), &printable_ack_handle); 105 base::JSONWriter::Write(value.get(), &printable_ack_handle);
95 *os << "{ ack_handle: " << printable_ack_handle << " }"; 106 *os << "{ ack_handle: " << printable_ack_handle << " }";
96 } 107 }
97 108
98 Matcher<const AckHandle&> Eq(const AckHandle& expected) { 109 Matcher<const AckHandle&> Eq(const AckHandle& expected) {
99 return MakeMatcher(new AckHandleEqMatcher(expected)); 110 return MakeMatcher(new AckHandleEqMatcher(expected));
100 } 111 }
101 112
102 void PrintTo(const Invalidation& state, ::std::ostream* os) { 113 void PrintTo(const Invalidation& inv, ::std::ostream* os) {
103 std::string printable_payload; 114 *os << "{ payload: " << inv.ToString() << " }";
104 base::JsonDoubleQuote(state.payload,
105 true /* put_in_quotes */,
106 &printable_payload);
107 *os << "{ payload: " << printable_payload << " }";
108 } 115 }
109 116
110 Matcher<const Invalidation&> Eq(const Invalidation& expected) { 117 Matcher<const Invalidation&> Eq(const Invalidation& expected) {
111 return MakeMatcher(new InvalidationEqMatcher(expected)); 118 return MakeMatcher(new InvalidationEqMatcher(expected));
112 } 119 }
113 120
114 } // namespace syncer 121 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/internal_api/public/base/invalidation_test_util.h ('k') | sync/internal_api/public/base/model_type_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698