OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/extensions/api/synced_notifications_private/synced_noti
fications_shim.h" | 5 #include "chrome/browser/extensions/api/synced_notifications_private/synced_noti
fications_shim.h" |
6 | 6 |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "extensions/browser/event_router.h" | 8 #include "extensions/browser/event_router.h" |
9 #include "sync/api/fake_sync_change_processor.h" | 9 #include "sync/api/fake_sync_change_processor.h" |
10 #include "sync/api/sync_change.h" | 10 #include "sync/api/sync_change.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 virtual ~SyncedNotificationsShimTest(); | 74 virtual ~SyncedNotificationsShimTest(); |
75 | 75 |
76 // Starts sync for both sync types. | 76 // Starts sync for both sync types. |
77 void StartSync(); | 77 void StartSync(); |
78 // Starts sync for the specified datatype |type|. | 78 // Starts sync for the specified datatype |type|. |
79 void StartSync(syncer::ModelType type); | 79 void StartSync(syncer::ModelType type); |
80 | 80 |
81 // Transfers ownership of the last event received. | 81 // Transfers ownership of the last event received. |
82 scoped_ptr<Event> GetLastEvent(); | 82 scoped_ptr<Event> GetLastEvent(); |
83 | 83 |
| 84 // Records that a refresh has been requested. |
| 85 void RequestRefresh(); |
| 86 |
84 SyncedNotificationsShim* shim() { return &shim_; } | 87 SyncedNotificationsShim* shim() { return &shim_; } |
85 syncer::FakeSyncChangeProcessor* notification_processor() { | 88 syncer::FakeSyncChangeProcessor* notification_processor() { |
86 return notification_processor_; | 89 return notification_processor_; |
87 } | 90 } |
88 syncer::FakeSyncChangeProcessor* app_info_processor() { | 91 syncer::FakeSyncChangeProcessor* app_info_processor() { |
89 return app_info_processor_; | 92 return app_info_processor_; |
90 } | 93 } |
| 94 bool refresh_requested() const { return refresh_requested_; } |
91 | 95 |
92 private: | 96 private: |
93 void EventCallback(scoped_ptr<Event> event); | 97 void EventCallback(scoped_ptr<Event> event); |
94 | 98 |
95 // Shim being tested. | 99 // Shim being tested. |
96 SyncedNotificationsShim shim_; | 100 SyncedNotificationsShim shim_; |
97 | 101 |
98 syncer::FakeSyncChangeProcessor* notification_processor_; | 102 syncer::FakeSyncChangeProcessor* notification_processor_; |
99 syncer::FakeSyncChangeProcessor* app_info_processor_; | 103 syncer::FakeSyncChangeProcessor* app_info_processor_; |
100 | 104 |
101 // The last event fired by the shim. | 105 // The last event fired by the shim. |
102 scoped_ptr<Event> last_event_fired_; | 106 scoped_ptr<Event> last_event_fired_; |
| 107 |
| 108 // Whether a refresh has been requested; |
| 109 bool refresh_requested_; |
103 }; | 110 }; |
104 | 111 |
105 SyncedNotificationsShimTest::SyncedNotificationsShimTest() | 112 SyncedNotificationsShimTest::SyncedNotificationsShimTest() |
106 : shim_(base::Bind(&SyncedNotificationsShimTest::EventCallback, | 113 : shim_(base::Bind(&SyncedNotificationsShimTest::EventCallback, |
| 114 base::Unretained(this)), |
| 115 base::Bind(&SyncedNotificationsShimTest::RequestRefresh, |
107 base::Unretained(this))), | 116 base::Unretained(this))), |
108 notification_processor_(NULL), | 117 notification_processor_(NULL), |
109 app_info_processor_(NULL) {} | 118 app_info_processor_(NULL), |
| 119 refresh_requested_(false) {} |
110 | 120 |
111 SyncedNotificationsShimTest::~SyncedNotificationsShimTest() {} | 121 SyncedNotificationsShimTest::~SyncedNotificationsShimTest() {} |
112 | 122 |
113 void SyncedNotificationsShimTest::EventCallback(scoped_ptr<Event> event) { | 123 void SyncedNotificationsShimTest::EventCallback(scoped_ptr<Event> event) { |
114 ASSERT_FALSE(last_event_fired_); | 124 ASSERT_FALSE(last_event_fired_); |
115 last_event_fired_ = event.Pass(); | 125 last_event_fired_ = event.Pass(); |
116 } | 126 } |
117 | 127 |
| 128 void SyncedNotificationsShimTest::RequestRefresh() { |
| 129 ASSERT_FALSE(refresh_requested_); |
| 130 refresh_requested_ = true; |
| 131 } |
| 132 |
118 scoped_ptr<Event> SyncedNotificationsShimTest::GetLastEvent() { | 133 scoped_ptr<Event> SyncedNotificationsShimTest::GetLastEvent() { |
119 return last_event_fired_.Pass(); | 134 return last_event_fired_.Pass(); |
120 } | 135 } |
121 | 136 |
122 void SyncedNotificationsShimTest::StartSync() { | 137 void SyncedNotificationsShimTest::StartSync() { |
123 StartSync(syncer::SYNCED_NOTIFICATIONS); | 138 StartSync(syncer::SYNCED_NOTIFICATIONS); |
124 StartSync(syncer::SYNCED_NOTIFICATION_APP_INFO); | 139 StartSync(syncer::SYNCED_NOTIFICATION_APP_INFO); |
125 GetLastEvent(); | 140 GetLastEvent(); |
126 } | 141 } |
127 | 142 |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 .GetSpecifics() | 328 .GetSpecifics() |
314 .synced_notification() | 329 .synced_notification() |
315 .SerializeAsString()); | 330 .SerializeAsString()); |
316 } | 331 } |
317 | 332 |
318 // Verify that SetRenderContext updates the datatype context properly. | 333 // Verify that SetRenderContext updates the datatype context properly. |
319 TEST_F(SyncedNotificationsShimTest, SetRenderContext) { | 334 TEST_F(SyncedNotificationsShimTest, SetRenderContext) { |
320 const std::string kContext = "context"; | 335 const std::string kContext = "context"; |
321 EXPECT_FALSE(shim()->SetRenderContext( | 336 EXPECT_FALSE(shim()->SetRenderContext( |
322 synced_notifications_private::REFRESH_REQUEST_REFRESH_NEEDED, kContext)); | 337 synced_notifications_private::REFRESH_REQUEST_REFRESH_NEEDED, kContext)); |
| 338 EXPECT_FALSE(refresh_requested()); |
323 | 339 |
324 StartSync(); | 340 StartSync(); |
325 | 341 |
326 EXPECT_TRUE(shim()->SetRenderContext( | 342 EXPECT_TRUE(shim()->SetRenderContext( |
327 synced_notifications_private::REFRESH_REQUEST_REFRESH_NEEDED, kContext)); | 343 synced_notifications_private::REFRESH_REQUEST_REFRESH_NEEDED, kContext)); |
328 EXPECT_EQ(kContext, notification_processor()->context()); | 344 EXPECT_EQ(kContext, notification_processor()->context()); |
| 345 EXPECT_TRUE(refresh_requested()); |
329 } | 346 } |
330 | 347 |
331 } // namespace | 348 } // namespace |
OLD | NEW |