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

Side by Side Diff: sync/notifier/invalidator_test_template.h

Issue 221963003: Reduce dependency of TiclInvalidationService on Profile (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Made InvalidationStateTracker not vend WeakPtrs. Created 6 years, 8 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 // This class defines tests that implementations of Invalidator should pass in 5 // This class defines tests that implementations of Invalidator should pass in
6 // order to be conformant. Here's how you use it to test your implementation. 6 // order to be conformant. Here's how you use it to test your implementation.
7 // 7 //
8 // Say your class is called MyInvalidator. Then you need to define a class 8 // Say your class is called MyInvalidator. Then you need to define a class
9 // called MyInvalidatorTestDelegate in my_sync_notifier_unittest.cc like this: 9 // called MyInvalidatorTestDelegate in my_sync_notifier_unittest.cc like this:
10 // 10 //
11 // class MyInvalidatorTestDelegate { 11 // class MyInvalidatorTestDelegate {
12 // public: 12 // public:
13 // MyInvalidatorTestDelegate() ... 13 // MyInvalidatorTestDelegate() ...
14 // 14 //
15 // ~MyInvalidatorTestDelegate() { 15 // ~MyInvalidatorTestDelegate() {
16 // // DestroyInvalidator() may not be explicitly called by tests. 16 // // DestroyInvalidator() may not be explicitly called by tests.
17 // DestroyInvalidator(); 17 // DestroyInvalidator();
18 // } 18 // }
19 // 19 //
20 // // Create the Invalidator implementation with the given parameters. 20 // // Create the Invalidator implementation with the given parameters.
21 // void CreateInvalidator( 21 // void CreateInvalidator(
22 // const std::string& initial_state, 22 // const std::string& initial_state,
23 // const base::WeakPtr<InvalidationStateTracker>& 23 // InvalidationStateTracker* invalidation_state_tracker) {
24 // invalidation_state_tracker) {
25 // ... 24 // ...
26 // } 25 // }
27 // 26 //
28 // // Should return the Invalidator implementation. Only called after 27 // // Should return the Invalidator implementation. Only called after
29 // // CreateInvalidator and before DestroyInvalidator. 28 // // CreateInvalidator and before DestroyInvalidator.
30 // MyInvalidator* GetInvalidator() { 29 // MyInvalidator* GetInvalidator() {
31 // ... 30 // ...
32 // } 31 // }
33 // 32 //
34 // // Destroy the Invalidator implementation. 33 // // Destroy the Invalidator implementation.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 class InvalidatorTest : public testing::Test { 92 class InvalidatorTest : public testing::Test {
94 protected: 93 protected:
95 InvalidatorTest() 94 InvalidatorTest()
96 : id1(ipc::invalidation::ObjectSource::TEST, "a"), 95 : id1(ipc::invalidation::ObjectSource::TEST, "a"),
97 id2(ipc::invalidation::ObjectSource::TEST, "b"), 96 id2(ipc::invalidation::ObjectSource::TEST, "b"),
98 id3(ipc::invalidation::ObjectSource::TEST, "c"), 97 id3(ipc::invalidation::ObjectSource::TEST, "c"),
99 id4(ipc::invalidation::ObjectSource::TEST, "d") { 98 id4(ipc::invalidation::ObjectSource::TEST, "d") {
100 } 99 }
101 100
102 Invalidator* CreateAndInitializeInvalidator() { 101 Invalidator* CreateAndInitializeInvalidator() {
103 this->delegate_.CreateInvalidator("fake_invalidator_client_id", 102 delegate_.CreateInvalidator("fake_invalidator_client_id",
104 "fake_initial_state", 103 "fake_initial_state",
105 this->fake_tracker_.AsWeakPtr()); 104 &fake_tracker_);
106 Invalidator* const invalidator = this->delegate_.GetInvalidator(); 105 Invalidator* const invalidator = delegate_.GetInvalidator();
107 106
108 this->delegate_.WaitForInvalidator(); 107 delegate_.WaitForInvalidator();
109 invalidator->UpdateCredentials("foo@bar.com", "fake_token"); 108 invalidator->UpdateCredentials("foo@bar.com", "fake_token");
110 this->delegate_.WaitForInvalidator(); 109 delegate_.WaitForInvalidator();
111 110
112 return invalidator; 111 return invalidator;
113 } 112 }
114 113
115 FakeInvalidationStateTracker fake_tracker_; 114 FakeInvalidationStateTracker fake_tracker_;
116 InvalidatorTestDelegate delegate_; 115 InvalidatorTestDelegate delegate_;
117 116
118 const invalidation::ObjectId id1; 117 const invalidation::ObjectId id1;
119 const invalidation::ObjectId id2; 118 const invalidation::ObjectId id2;
120 const invalidation::ObjectId id3; 119 const invalidation::ObjectId id3;
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 invalidator->UnregisterHandler(&handler); 367 invalidator->UnregisterHandler(&handler);
369 } 368 }
370 369
371 REGISTER_TYPED_TEST_CASE_P(InvalidatorTest, 370 REGISTER_TYPED_TEST_CASE_P(InvalidatorTest,
372 Basic, MultipleHandlers, EmptySetUnregisters, 371 Basic, MultipleHandlers, EmptySetUnregisters,
373 GetInvalidatorStateAlwaysCurrent); 372 GetInvalidatorStateAlwaysCurrent);
374 373
375 } // namespace syncer 374 } // namespace syncer
376 375
377 #endif // SYNC_NOTIFIER_INVALIDATOR_TEST_TEMPLATE_H_ 376 #endif // SYNC_NOTIFIER_INVALIDATOR_TEST_TEMPLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698