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

Side by Side Diff: chrome/browser/media/router/discovery/dial/dial_registry_unittest.cc

Issue 2843653002: [DIAL tests] Slightly improve DialRegistry tests. (Closed)
Patch Set: Addressed mark's comments Created 3 years, 7 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
« no previous file with comments | « chrome/browser/media/router/discovery/dial/dial_registry.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/test/simple_test_clock.h"
8 #include "chrome/browser/media/router/discovery/dial/dial_device_data.h" 9 #include "chrome/browser/media/router/discovery/dial/dial_device_data.h"
9 #include "chrome/browser/media/router/discovery/dial/dial_registry.h" 10 #include "chrome/browser/media/router/discovery/dial/dial_registry.h"
10 #include "chrome/browser/media/router/discovery/dial/dial_service.h" 11 #include "chrome/browser/media/router/discovery/dial/dial_service.h"
11 #include "chrome/test/base/testing_profile.h" 12 #include "chrome/test/base/testing_profile.h"
12 #include "content/public/test/test_browser_thread_bundle.h" 13 #include "content/public/test/test_browser_thread_bundle.h"
13 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 #include "url/gurl.h" 16 #include "url/gurl.h"
16 17
17 using base::Time; 18 using base::Time;
(...skipping 19 matching lines...) Expand all
37 ~MockDialService() override {} 38 ~MockDialService() override {}
38 39
39 MOCK_METHOD0(Discover, bool()); 40 MOCK_METHOD0(Discover, bool());
40 MOCK_METHOD1(AddObserver, void(DialService::Observer*)); 41 MOCK_METHOD1(AddObserver, void(DialService::Observer*));
41 MOCK_METHOD1(RemoveObserver, void(DialService::Observer*)); 42 MOCK_METHOD1(RemoveObserver, void(DialService::Observer*));
42 MOCK_CONST_METHOD1(HasObserver, bool(const DialService::Observer*)); 43 MOCK_CONST_METHOD1(HasObserver, bool(const DialService::Observer*));
43 }; 44 };
44 45
45 class MockDialRegistry : public DialRegistry { 46 class MockDialRegistry : public DialRegistry {
46 public: 47 public:
47 MockDialRegistry() : DialRegistry(), time_(Time::Now()) {} 48 MockDialRegistry() : DialRegistry(), clock_(new base::SimpleTestClock()) {
49 // Takes ownership of |clock|.
50 SetClockForTest(base::WrapUnique(clock_));
51 }
48 52
49 ~MockDialRegistry() override { 53 ~MockDialRegistry() override {
50 // Don't let the DialRegistry delete this. 54 // Don't let the DialRegistry delete this.
51 DialService* tmp = dial_.release(); 55 DialService* tmp = dial_.release();
52 if (tmp) 56 if (tmp)
53 CHECK_EQ(&mock_service_, tmp); 57 CHECK_EQ(&mock_service_, tmp);
54 } 58 }
55 59
56 // Returns the mock Dial service. 60 // Returns the mock Dial service.
57 MockDialService& mock_service() { return mock_service_; } 61 MockDialService& mock_service() { return mock_service_; }
58 62 base::SimpleTestClock* clock() const { return clock_; }
59 void set_time(Time time) { time_ = time; }
60 63
61 protected: 64 protected:
62 base::Time Now() const override { return time_; }
63
64 std::unique_ptr<DialService> CreateDialService() override { 65 std::unique_ptr<DialService> CreateDialService() override {
65 return base::WrapUnique(&mock_service_); 66 return base::WrapUnique(&mock_service_);
66 } 67 }
67 68
68 void ClearDialService() override { 69 void ClearDialService() override {
69 // Release the pointer but don't delete the object because the test owns it. 70 // Release the pointer but don't delete the object because the test owns it.
70 CHECK_EQ(&mock_service_, dial_.release()); 71 CHECK_EQ(&mock_service_, dial_.release());
71 } 72 }
72 73
73 private: 74 private:
74 MockDialService mock_service_; 75 MockDialService mock_service_;
75 76
76 // Set to mock out the current time. 77 // Owned by DialRegistry.
77 Time time_; 78 base::SimpleTestClock* const clock_;
78 }; 79 };
79 80
80 class DialRegistryTest : public testing::Test { 81 class DialRegistryTest : public testing::Test {
81 public: 82 public:
82 DialRegistryTest() 83 DialRegistryTest()
83 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), 84 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
84 first_device_("first", GURL("http://127.0.0.1/dd.xml"), Time::Now()), 85 registry_(new MockDialRegistry()),
85 second_device_("second", GURL("http://127.0.0.2/dd.xml"), Time::Now()), 86 first_device_("first", GURL("http://127.0.0.1/dd.xml"), Now()),
86 third_device_("third", GURL("http://127.0.0.3/dd.xml"), Time::Now()) { 87 second_device_("second", GURL("http://127.0.0.2/dd.xml"), Now()),
87 registry_ = base::MakeUnique<MockDialRegistry>(); 88 third_device_("third", GURL("http://127.0.0.3/dd.xml"), Now()),
89 list_with_first_device_({first_device_}),
90 list_with_second_device_({second_device_}),
91 list_with_first_second_devices_({first_device_, second_device_}) {
88 registry_->RegisterObserver(&mock_observer_); 92 registry_->RegisterObserver(&mock_observer_);
89 list_with_first_device_.push_back(first_device_);
90 list_with_second_device_.push_back(second_device_);
91 } 93 }
92 94
93 protected: 95 protected:
94 void SetListenerExpectations() { 96 void SetListenerExpectations() {
95 EXPECT_CALL(registry_->mock_service(), 97 EXPECT_CALL(registry_->mock_service(),
96 AddObserver(A<DialService::Observer*>())); 98 AddObserver(A<DialService::Observer*>()));
97 EXPECT_CALL(registry_->mock_service(), 99 EXPECT_CALL(registry_->mock_service(),
98 RemoveObserver(A<DialService::Observer*>())); 100 RemoveObserver(A<DialService::Observer*>()));
99 } 101 }
100 102
103 void VerifyAndResetMocks() {
104 testing::Mock::VerifyAndClearExpectations(&registry_->mock_service());
105 testing::Mock::VerifyAndClearExpectations(&mock_observer_);
106 }
107
108 Time Now() const { return registry_->clock()->Now(); }
109
110 void AdvanceTime(base::TimeDelta duration) {
111 registry_->clock()->Advance(duration);
112 }
113
101 content::TestBrowserThreadBundle thread_bundle_; 114 content::TestBrowserThreadBundle thread_bundle_;
115
102 std::unique_ptr<MockDialRegistry> registry_; 116 std::unique_ptr<MockDialRegistry> registry_;
103 MockDialObserver mock_observer_; 117 MockDialObserver mock_observer_;
104 const DialDeviceData first_device_; 118 const DialDeviceData first_device_;
105 const DialDeviceData second_device_; 119 const DialDeviceData second_device_;
106 const DialDeviceData third_device_; 120 const DialDeviceData third_device_;
107 121
108 const DialRegistry::DeviceList empty_list_; 122 const DialRegistry::DeviceList empty_list_;
109 DialRegistry::DeviceList list_with_first_device_; 123 const DialRegistry::DeviceList list_with_first_device_;
110 DialRegistry::DeviceList list_with_second_device_; 124 const DialRegistry::DeviceList list_with_second_device_;
125 const DialRegistry::DeviceList list_with_first_second_devices_;
111 }; 126 };
112 127
113 TEST_F(DialRegistryTest, TestAddRemoveListeners) { 128 TEST_F(DialRegistryTest, TestAddRemoveListeners) {
114 SetListenerExpectations(); 129 SetListenerExpectations();
115 EXPECT_CALL(registry_->mock_service(), Discover()); 130 EXPECT_CALL(registry_->mock_service(), Discover());
116 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)).Times(2); 131 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)).Times(2);
117 132
118 EXPECT_FALSE(registry_->repeating_timer_); 133 EXPECT_FALSE(registry_->repeating_timer_);
119 registry_->OnListenerAdded(); 134 registry_->OnListenerAdded();
120 EXPECT_TRUE(registry_->repeating_timer_->IsRunning()); 135 EXPECT_TRUE(registry_->repeating_timer_->IsRunning());
(...skipping 10 matching lines...) Expand all
131 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 146 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
132 EXPECT_CALL(registry_->mock_service(), Discover()); 147 EXPECT_CALL(registry_->mock_service(), Discover());
133 148
134 registry_->OnListenerAdded(); 149 registry_->OnListenerAdded();
135 registry_->OnDiscoveryRequest(nullptr); 150 registry_->OnDiscoveryRequest(nullptr);
136 registry_->OnDiscoveryFinished(nullptr); 151 registry_->OnDiscoveryFinished(nullptr);
137 registry_->OnListenerRemoved(); 152 registry_->OnListenerRemoved();
138 } 153 }
139 154
140 TEST_F(DialRegistryTest, TestDevicesDiscovered) { 155 TEST_F(DialRegistryTest, TestDevicesDiscovered) {
141 DialRegistry::DeviceList expected_list2;
142 expected_list2.push_back(first_device_);
143 expected_list2.push_back(second_device_);
144
145 SetListenerExpectations(); 156 SetListenerExpectations();
146 InSequence s; 157 InSequence s;
147 EXPECT_CALL(registry_->mock_service(), Discover()); 158 EXPECT_CALL(registry_->mock_service(), Discover());
148 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 159 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
149 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_)); 160 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_));
150 EXPECT_CALL(registry_->mock_service(), Discover()); 161 EXPECT_CALL(registry_->mock_service(), Discover());
151 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(expected_list2)); 162 EXPECT_CALL(mock_observer_,
163 OnDialDeviceEvent(list_with_first_second_devices_));
152 164
153 registry_->OnListenerAdded(); 165 registry_->OnListenerAdded();
154 registry_->OnDiscoveryRequest(nullptr); 166 registry_->OnDiscoveryRequest(nullptr);
155 registry_->OnDeviceDiscovered(nullptr, first_device_); 167 registry_->OnDeviceDiscovered(nullptr, first_device_);
156 registry_->OnDiscoveryFinished(nullptr); 168 registry_->OnDiscoveryFinished(nullptr);
157 169
158 registry_->DoDiscovery(); 170 registry_->DoDiscovery();
159 registry_->OnDiscoveryRequest(nullptr); 171 registry_->OnDiscoveryRequest(nullptr);
160 registry_->OnDeviceDiscovered(nullptr, second_device_); 172 registry_->OnDeviceDiscovered(nullptr, second_device_);
161 registry_->OnDiscoveryFinished(nullptr); 173 registry_->OnDiscoveryFinished(nullptr);
162 registry_->OnListenerRemoved(); 174 registry_->OnListenerRemoved();
163 } 175 }
164 176
165 TEST_F(DialRegistryTest, TestDevicesDiscoveredWithTwoListeners) { 177 TEST_F(DialRegistryTest, TestDevicesDiscoveredWithTwoListeners) {
166 DialRegistry::DeviceList expected_list2;
167 expected_list2.push_back(first_device_);
168 expected_list2.push_back(second_device_);
169
170 SetListenerExpectations(); 178 SetListenerExpectations();
171 InSequence s; 179 InSequence s;
172 EXPECT_CALL(registry_->mock_service(), Discover()); 180 EXPECT_CALL(registry_->mock_service(), Discover());
173 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 181 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
174 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_)) 182 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_))
175 .Times(2); 183 .Times(2);
176 EXPECT_CALL(registry_->mock_service(), Discover()); 184 EXPECT_CALL(registry_->mock_service(), Discover());
177 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(expected_list2)); 185 EXPECT_CALL(mock_observer_,
186 OnDialDeviceEvent(list_with_first_second_devices_));
178 187
179 registry_->OnListenerAdded(); 188 registry_->OnListenerAdded();
180 registry_->OnDiscoveryRequest(nullptr); 189 registry_->OnDiscoveryRequest(nullptr);
181 registry_->OnDeviceDiscovered(nullptr, first_device_); 190 registry_->OnDeviceDiscovered(nullptr, first_device_);
182 registry_->OnDiscoveryFinished(nullptr); 191 registry_->OnDiscoveryFinished(nullptr);
183 192
184 registry_->OnListenerAdded(); 193 registry_->OnListenerAdded();
185 194
186 registry_->DoDiscovery(); 195 registry_->DoDiscovery();
187 registry_->OnDiscoveryRequest(nullptr); 196 registry_->OnDiscoveryRequest(nullptr);
188 registry_->OnDeviceDiscovered(nullptr, second_device_); 197 registry_->OnDeviceDiscovered(nullptr, second_device_);
189 registry_->OnDiscoveryFinished(nullptr); 198 registry_->OnDiscoveryFinished(nullptr);
190 registry_->OnListenerRemoved(); 199 registry_->OnListenerRemoved();
191 registry_->OnListenerRemoved(); 200 registry_->OnListenerRemoved();
192 } 201 }
193 202
194 TEST_F(DialRegistryTest, TestDeviceExpires) { 203 TEST_F(DialRegistryTest, TestDeviceExpires) {
195 SetListenerExpectations();
196 InSequence s; 204 InSequence s;
205
206 EXPECT_CALL(registry_->mock_service(),
207 AddObserver(A<DialService::Observer*>()));
197 EXPECT_CALL(registry_->mock_service(), Discover()); 208 EXPECT_CALL(registry_->mock_service(), Discover());
198 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 209 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
199 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_)); 210 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_));
200 EXPECT_CALL(registry_->mock_service(), Discover());
201 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
202 211
203 registry_->OnListenerAdded(); 212 registry_->OnListenerAdded();
204 registry_->OnDiscoveryRequest(nullptr); 213 registry_->OnDiscoveryRequest(nullptr);
205 registry_->OnDeviceDiscovered(nullptr, first_device_); 214 registry_->OnDeviceDiscovered(nullptr, first_device_);
206 registry_->OnDiscoveryFinished(nullptr); 215 registry_->OnDiscoveryFinished(nullptr);
216 VerifyAndResetMocks();
207 217
208 registry_->set_time(Time::Now() + TimeDelta::FromSeconds(300)); 218 // First device has not expired yet.
219 EXPECT_CALL(registry_->mock_service(), Discover());
220 EXPECT_CALL(mock_observer_,
221 OnDialDeviceEvent(list_with_first_second_devices_));
222
223 AdvanceTime(TimeDelta::FromSeconds(100));
224 DialDeviceData second_device_discovered_later = second_device_;
225 second_device_discovered_later.set_response_time(Now());
209 226
210 registry_->DoDiscovery(); 227 registry_->DoDiscovery();
211 registry_->OnDiscoveryRequest(nullptr); 228 registry_->OnDiscoveryRequest(nullptr);
229 registry_->OnDeviceDiscovered(nullptr, second_device_discovered_later);
212 registry_->OnDiscoveryFinished(nullptr); 230 registry_->OnDiscoveryFinished(nullptr);
231 VerifyAndResetMocks();
232
233 // First device has expired, second device has not expired yet.
234 EXPECT_CALL(registry_->mock_service(), Discover());
235 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_second_device_));
236
237 AdvanceTime(TimeDelta::FromSeconds(200));
238 registry_->DoDiscovery();
239 registry_->OnDiscoveryRequest(nullptr);
240 registry_->OnDiscoveryFinished(nullptr);
241 VerifyAndResetMocks();
242
243 // Second device has expired.
244 EXPECT_CALL(registry_->mock_service(), Discover());
245 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
246
247 AdvanceTime(TimeDelta::FromSeconds(200));
248 registry_->DoDiscovery();
249 registry_->OnDiscoveryRequest(nullptr);
250 registry_->OnDiscoveryFinished(nullptr);
251 VerifyAndResetMocks();
252
253 EXPECT_CALL(registry_->mock_service(),
254 RemoveObserver(A<DialService::Observer*>()));
213 registry_->OnListenerRemoved(); 255 registry_->OnListenerRemoved();
214 } 256 }
215 257
216 TEST_F(DialRegistryTest, TestExpiredDeviceIsRediscovered) { 258 TEST_F(DialRegistryTest, TestExpiredDeviceIsRediscovered) {
217 std::vector<Time> discovery_times;
218 discovery_times.push_back(Time::Now());
219 discovery_times.push_back(discovery_times[0] + TimeDelta::FromSeconds(300));
220 discovery_times.push_back(discovery_times[1] + TimeDelta::FromSeconds(300));
221
222 DialDeviceData rediscovered_device("first", GURL("http://127.0.0.1/dd.xml"),
223 discovery_times[2]);
224
225 SetListenerExpectations(); 259 SetListenerExpectations();
226 260
227 InSequence s; 261 InSequence s;
228 EXPECT_CALL(registry_->mock_service(), Discover()); 262 EXPECT_CALL(registry_->mock_service(), Discover());
229 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 263 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
230 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_)); 264 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_));
231 EXPECT_CALL(registry_->mock_service(), Discover()); 265 EXPECT_CALL(registry_->mock_service(), Discover());
232 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 266 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
233 EXPECT_CALL(registry_->mock_service(), Discover()); 267 EXPECT_CALL(registry_->mock_service(), Discover());
234 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_)); 268 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(list_with_first_device_));
235 269
236 registry_->set_time(discovery_times[0]);
237 registry_->OnListenerAdded(); 270 registry_->OnListenerAdded();
238 registry_->OnDiscoveryRequest(nullptr); 271 registry_->OnDiscoveryRequest(nullptr);
239 registry_->OnDeviceDiscovered(nullptr, first_device_); 272 registry_->OnDeviceDiscovered(nullptr, first_device_);
240 registry_->OnDiscoveryFinished(nullptr); 273 registry_->OnDiscoveryFinished(nullptr);
241 274
242 // Will expire "first" device as it is not discovered this time. 275 // Will expire "first" device as it is not discovered this time.
243 registry_->set_time(discovery_times[1]); 276 AdvanceTime(TimeDelta::FromSeconds(300));
244 registry_->DoDiscovery(); 277 registry_->DoDiscovery();
245 registry_->OnDiscoveryRequest(nullptr); 278 registry_->OnDiscoveryRequest(nullptr);
246 registry_->OnDiscoveryFinished(nullptr); 279 registry_->OnDiscoveryFinished(nullptr);
247 280
248 // "first" device is rediscovered 30 seconds later. We pass a device object 281 // "first" device is rediscovered 300 seconds later. We pass a device object
249 // with a newer discovery time so it is not pruned immediately. 282 // with a newer discovery time so it is not pruned immediately.
250 registry_->set_time(discovery_times[2]); 283 AdvanceTime(TimeDelta::FromSeconds(300));
284 DialDeviceData rediscovered_device = first_device_;
285 rediscovered_device.set_response_time(Now());
286
251 registry_->DoDiscovery(); 287 registry_->DoDiscovery();
252 registry_->OnDiscoveryRequest(nullptr); 288 registry_->OnDiscoveryRequest(nullptr);
253 registry_->OnDeviceDiscovered(nullptr, rediscovered_device); 289 registry_->OnDeviceDiscovered(nullptr, rediscovered_device);
254 registry_->OnDiscoveryFinished(nullptr); 290 registry_->OnDiscoveryFinished(nullptr);
255 291
256 registry_->OnListenerRemoved(); 292 registry_->OnListenerRemoved();
257 } 293 }
258 294
259 TEST_F(DialRegistryTest, TestRemovingListenerDoesNotClearList) { 295 TEST_F(DialRegistryTest, TestRemovingListenerDoesNotClearList) {
260 DialRegistry::DeviceList expected_list2;
261 expected_list2.push_back(first_device_);
262 expected_list2.push_back(second_device_);
263
264 InSequence s; 296 InSequence s;
265 EXPECT_CALL(registry_->mock_service(), 297 EXPECT_CALL(registry_->mock_service(),
266 AddObserver(A<DialService::Observer*>())); 298 AddObserver(A<DialService::Observer*>()));
267 EXPECT_CALL(registry_->mock_service(), Discover()); 299 EXPECT_CALL(registry_->mock_service(), Discover());
268 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_)); 300 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(empty_list_));
269 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(expected_list2)); 301 EXPECT_CALL(mock_observer_,
302 OnDialDeviceEvent(list_with_first_second_devices_));
270 EXPECT_CALL(registry_->mock_service(), 303 EXPECT_CALL(registry_->mock_service(),
271 RemoveObserver(A<DialService::Observer*>())); 304 RemoveObserver(A<DialService::Observer*>()));
272 305
273 registry_->OnListenerAdded(); 306 registry_->OnListenerAdded();
274 registry_->OnDiscoveryRequest(nullptr); 307 registry_->OnDiscoveryRequest(nullptr);
275 registry_->OnDeviceDiscovered(nullptr, first_device_); 308 registry_->OnDeviceDiscovered(nullptr, first_device_);
276 registry_->OnDeviceDiscovered(nullptr, second_device_); 309 registry_->OnDeviceDiscovered(nullptr, second_device_);
277 registry_->OnDiscoveryFinished(nullptr); 310 registry_->OnDiscoveryFinished(nullptr);
278 registry_->OnListenerRemoved(); 311 registry_->OnListenerRemoved();
279 312
280 // Removing and adding a listener again fires an event with the current device 313 // Removing and adding a listener again fires an event with the current device
281 // list (even though no new devices were discovered). 314 // list (even though no new devices were discovered).
282 EXPECT_CALL(registry_->mock_service(), 315 EXPECT_CALL(registry_->mock_service(),
283 AddObserver(A<DialService::Observer*>())); 316 AddObserver(A<DialService::Observer*>()));
284 EXPECT_CALL(registry_->mock_service(), Discover()); 317 EXPECT_CALL(registry_->mock_service(), Discover());
285 EXPECT_CALL(mock_observer_, OnDialDeviceEvent(expected_list2)); 318 EXPECT_CALL(mock_observer_,
319 OnDialDeviceEvent(list_with_first_second_devices_));
286 EXPECT_CALL(registry_->mock_service(), 320 EXPECT_CALL(registry_->mock_service(),
287 RemoveObserver(A<DialService::Observer*>())); 321 RemoveObserver(A<DialService::Observer*>()));
288 322
289 registry_->OnListenerAdded(); 323 registry_->OnListenerAdded();
290 registry_->OnDiscoveryRequest(nullptr); 324 registry_->OnDiscoveryRequest(nullptr);
291 registry_->OnDiscoveryFinished(nullptr); 325 registry_->OnDiscoveryFinished(nullptr);
292 registry_->OnListenerRemoved(); 326 registry_->OnListenerRemoved();
293 } 327 }
294 328
295 TEST_F(DialRegistryTest, TestNetworkEventConnectionLost) { 329 TEST_F(DialRegistryTest, TestNetworkEventConnectionLost) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 registry_->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_ETHERNET); 395 registry_->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_ETHERNET);
362 396
363 registry_->OnDiscoveryRequest(nullptr); 397 registry_->OnDiscoveryRequest(nullptr);
364 registry_->OnDeviceDiscovered(nullptr, third_device_); 398 registry_->OnDeviceDiscovered(nullptr, third_device_);
365 registry_->OnDiscoveryFinished(nullptr); 399 registry_->OnDiscoveryFinished(nullptr);
366 400
367 registry_->OnListenerRemoved(); 401 registry_->OnListenerRemoved();
368 } 402 }
369 403
370 } // namespace media_router 404 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/discovery/dial/dial_registry.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698