OLD | NEW |
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 "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler.h" | 5 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler_delegate.h" | 9 #include "chrome/browser/extensions/api/push_messaging/push_messaging_invalidati
on_handler_delegate.h" |
10 #include "chrome/browser/sync/invalidation_frontend.h" | 10 #include "chrome/browser/sync/invalidation_frontend.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 class MockInvalidationFrontend : public InvalidationFrontend { | 29 class MockInvalidationFrontend : public InvalidationFrontend { |
30 public: | 30 public: |
31 MockInvalidationFrontend(); | 31 MockInvalidationFrontend(); |
32 ~MockInvalidationFrontend(); | 32 ~MockInvalidationFrontend(); |
33 MOCK_METHOD1(RegisterInvalidationHandler, | 33 MOCK_METHOD1(RegisterInvalidationHandler, |
34 void(syncer::InvalidationHandler*)); | 34 void(syncer::InvalidationHandler*)); |
35 MOCK_METHOD2(UpdateRegisteredInvalidationIds, | 35 MOCK_METHOD2(UpdateRegisteredInvalidationIds, |
36 void(syncer::InvalidationHandler*, const syncer::ObjectIdSet&)); | 36 void(syncer::InvalidationHandler*, const syncer::ObjectIdSet&)); |
37 MOCK_METHOD1(UnregisterInvalidationHandler, | 37 MOCK_METHOD1(UnregisterInvalidationHandler, |
38 void(syncer::InvalidationHandler*)); | 38 void(syncer::InvalidationHandler*)); |
| 39 MOCK_CONST_METHOD0(GetInvalidatorState, syncer::InvalidatorState()); |
39 | 40 |
40 private: | 41 private: |
41 DISALLOW_COPY_AND_ASSIGN(MockInvalidationFrontend); | 42 DISALLOW_COPY_AND_ASSIGN(MockInvalidationFrontend); |
42 }; | 43 }; |
43 | 44 |
44 MockInvalidationFrontend::MockInvalidationFrontend() {} | 45 MockInvalidationFrontend::MockInvalidationFrontend() {} |
45 MockInvalidationFrontend::~MockInvalidationFrontend() {} | 46 MockInvalidationFrontend::~MockInvalidationFrontend() {} |
46 | 47 |
47 class MockInvalidationHandlerDelegate | 48 class MockInvalidationHandlerDelegate |
48 : public PushMessagingInvalidationHandlerDelegate { | 49 : public PushMessagingInvalidationHandlerDelegate { |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 ids.insert(invalidation::ObjectId( | 157 ids.insert(invalidation::ObjectId( |
157 kSourceId, | 158 kSourceId, |
158 "U/dddddddddddddddddddddddddddddddd/0")); | 159 "U/dddddddddddddddddddddddddddddddd/0")); |
159 ids.insert(invalidation::ObjectId( | 160 ids.insert(invalidation::ObjectId( |
160 kSourceId, | 161 kSourceId, |
161 "U/dddddddddddddddddddddddddddddddd/3")); | 162 "U/dddddddddddddddddddddddddddddddd/3")); |
162 EXPECT_CALL(delegate_, | 163 EXPECT_CALL(delegate_, |
163 OnMessage("dddddddddddddddddddddddddddddddd", 0, "payload")); | 164 OnMessage("dddddddddddddddddddddddddddddddd", 0, "payload")); |
164 EXPECT_CALL(delegate_, | 165 EXPECT_CALL(delegate_, |
165 OnMessage("dddddddddddddddddddddddddddddddd", 3, "payload")); | 166 OnMessage("dddddddddddddddddddddddddddddddd", 3, "payload")); |
166 handler_->OnIncomingNotification(ObjectIdSetToStateMap(ids, "payload"), | 167 handler_->OnIncomingInvalidation(ObjectIdSetToStateMap(ids, "payload"), |
167 syncer::REMOTE_NOTIFICATION); | 168 syncer::REMOTE_INVALIDATION); |
168 } | 169 } |
169 | 170 |
170 // Tests that malformed object IDs don't trigger spurious callbacks. | 171 // Tests that malformed object IDs don't trigger spurious callbacks. |
171 TEST_F(PushMessagingInvalidationHandlerTest, DispatchInvalidObjectIds) { | 172 TEST_F(PushMessagingInvalidationHandlerTest, DispatchInvalidObjectIds) { |
172 syncer::ObjectIdSet ids; | 173 syncer::ObjectIdSet ids; |
173 // Completely incorrect format. | 174 // Completely incorrect format. |
174 ids.insert(invalidation::ObjectId( | 175 ids.insert(invalidation::ObjectId( |
175 ipc::invalidation::ObjectSource::TEST, | 176 ipc::invalidation::ObjectSource::TEST, |
176 "Invalid")); | 177 "Invalid")); |
177 // Incorrect source. | 178 // Incorrect source. |
178 ids.insert(invalidation::ObjectId( | 179 ids.insert(invalidation::ObjectId( |
179 ipc::invalidation::ObjectSource::TEST, | 180 ipc::invalidation::ObjectSource::TEST, |
180 "U/dddddddddddddddddddddddddddddddd/3")); | 181 "U/dddddddddddddddddddddddddddddddd/3")); |
181 // Incorrect format type. | 182 // Incorrect format type. |
182 ids.insert(invalidation::ObjectId( | 183 ids.insert(invalidation::ObjectId( |
183 kSourceId, | 184 kSourceId, |
184 "V/dddddddddddddddddddddddddddddddd/3")); | 185 "V/dddddddddddddddddddddddddddddddd/3")); |
185 // Invalid extension ID length. | 186 // Invalid extension ID length. |
186 ids.insert(invalidation::ObjectId( | 187 ids.insert(invalidation::ObjectId( |
187 kSourceId, | 188 kSourceId, |
188 "U/ddddddddddddddddddddddddddddddddd/3")); | 189 "U/ddddddddddddddddddddddddddddddddd/3")); |
189 // Non-numeric subchannel. | 190 // Non-numeric subchannel. |
190 ids.insert(invalidation::ObjectId( | 191 ids.insert(invalidation::ObjectId( |
191 kSourceId, | 192 kSourceId, |
192 "U/dddddddddddddddddddddddddddddddd/z")); | 193 "U/dddddddddddddddddddddddddddddddd/z")); |
193 // Subchannel out of range. | 194 // Subchannel out of range. |
194 ids.insert(invalidation::ObjectId( | 195 ids.insert(invalidation::ObjectId( |
195 kSourceId, | 196 kSourceId, |
196 "U/dddddddddddddddddddddddddddddddd/4")); | 197 "U/dddddddddddddddddddddddddddddddd/4")); |
197 handler_->OnIncomingNotification(ObjectIdSetToStateMap(ids, "payload"), | 198 handler_->OnIncomingInvalidation(ObjectIdSetToStateMap(ids, "payload"), |
198 syncer::REMOTE_NOTIFICATION); | 199 syncer::REMOTE_INVALIDATION); |
199 } | 200 } |
200 | 201 |
201 } // namespace extensions | 202 } // namespace extensions |
OLD | NEW |