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 "chromeos/network/network_state_handler.h" | 5 #include "chromeos/network/network_state_handler.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 network_state_handler_->InitShillPropertyHandler(); | 157 network_state_handler_->InitShillPropertyHandler(); |
158 } | 158 } |
159 | 159 |
160 protected: | 160 protected: |
161 void SetupDefaultShillState() { | 161 void SetupDefaultShillState() { |
162 message_loop_.RunUntilIdle(); // Process any pending updates | 162 message_loop_.RunUntilIdle(); // Process any pending updates |
163 ShillDeviceClient::TestInterface* device_test = | 163 ShillDeviceClient::TestInterface* device_test = |
164 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface(); | 164 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface(); |
165 device_test->ClearDevices(); | 165 device_test->ClearDevices(); |
166 device_test->AddDevice("/device/stub_wifi_device1", | 166 device_test->AddDevice("/device/stub_wifi_device1", |
167 flimflam::kTypeWifi, "stub_wifi_device1"); | 167 shill::kTypeWifi, "stub_wifi_device1"); |
168 device_test->AddDevice("/device/stub_cellular_device1", | 168 device_test->AddDevice("/device/stub_cellular_device1", |
169 flimflam::kTypeCellular, "stub_cellular_device1"); | 169 shill::kTypeCellular, "stub_cellular_device1"); |
170 | 170 |
171 ShillServiceClient::TestInterface* service_test = | 171 ShillServiceClient::TestInterface* service_test = |
172 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); | 172 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
173 service_test->ClearServices(); | 173 service_test->ClearServices(); |
174 const bool add_to_visible = true; | 174 const bool add_to_visible = true; |
175 const bool add_to_watchlist = true; | 175 const bool add_to_watchlist = true; |
176 service_test->AddService(kShillManagerClientStubDefaultService, | 176 service_test->AddService(kShillManagerClientStubDefaultService, |
177 kShillManagerClientStubDefaultService, | 177 kShillManagerClientStubDefaultService, |
178 flimflam::kTypeEthernet, flimflam::kStateOnline, | 178 shill::kTypeEthernet, shill::kStateOnline, |
179 add_to_visible, add_to_watchlist); | 179 add_to_visible, add_to_watchlist); |
180 service_test->AddService(kShillManagerClientStubDefaultWireless, | 180 service_test->AddService(kShillManagerClientStubDefaultWireless, |
181 kShillManagerClientStubDefaultWireless, | 181 kShillManagerClientStubDefaultWireless, |
182 flimflam::kTypeWifi, flimflam::kStateOnline, | 182 shill::kTypeWifi, shill::kStateOnline, |
183 add_to_visible, add_to_watchlist); | 183 add_to_visible, add_to_watchlist); |
184 service_test->AddService(kShillManagerClientStubWireless2, | 184 service_test->AddService(kShillManagerClientStubWireless2, |
185 kShillManagerClientStubWireless2, | 185 kShillManagerClientStubWireless2, |
186 flimflam::kTypeWifi, flimflam::kStateIdle, | 186 shill::kTypeWifi, shill::kStateIdle, |
187 add_to_visible, add_to_watchlist); | 187 add_to_visible, add_to_watchlist); |
188 service_test->AddService(kShillManagerClientStubCellular, | 188 service_test->AddService(kShillManagerClientStubCellular, |
189 kShillManagerClientStubCellular, | 189 kShillManagerClientStubCellular, |
190 flimflam::kTypeCellular, flimflam::kStateIdle, | 190 shill::kTypeCellular, shill::kStateIdle, |
191 add_to_visible, add_to_watchlist); | 191 add_to_visible, add_to_watchlist); |
192 } | 192 } |
193 | 193 |
194 base::MessageLoopForUI message_loop_; | 194 base::MessageLoopForUI message_loop_; |
195 scoped_ptr<NetworkStateHandler> network_state_handler_; | 195 scoped_ptr<NetworkStateHandler> network_state_handler_; |
196 scoped_ptr<TestObserver> test_observer_; | 196 scoped_ptr<TestObserver> test_observer_; |
197 | 197 |
198 private: | 198 private: |
199 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); | 199 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); |
200 }; | 200 }; |
(...skipping 15 matching lines...) Expand all Loading... |
216 EXPECT_EQ(kShillManagerClientStubDefaultWireless, | 216 EXPECT_EQ(kShillManagerClientStubDefaultWireless, |
217 network_state_handler_->ConnectedNetworkByType( | 217 network_state_handler_->ConnectedNetworkByType( |
218 NetworkTypePattern::Wireless())->path()); | 218 NetworkTypePattern::Wireless())->path()); |
219 EXPECT_EQ(kShillManagerClientStubCellular, | 219 EXPECT_EQ(kShillManagerClientStubCellular, |
220 network_state_handler_->FirstNetworkByType( | 220 network_state_handler_->FirstNetworkByType( |
221 NetworkTypePattern::Mobile())->path()); | 221 NetworkTypePattern::Mobile())->path()); |
222 EXPECT_EQ( | 222 EXPECT_EQ( |
223 kShillManagerClientStubCellular, | 223 kShillManagerClientStubCellular, |
224 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular()) | 224 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular()) |
225 ->path()); | 225 ->path()); |
226 EXPECT_EQ(flimflam::kStateOnline, | 226 EXPECT_EQ(shill::kStateOnline, |
227 test_observer_->default_network_connection_state()); | 227 test_observer_->default_network_connection_state()); |
228 } | 228 } |
229 | 229 |
230 TEST_F(NetworkStateHandlerTest, TechnologyChanged) { | 230 TEST_F(NetworkStateHandlerTest, TechnologyChanged) { |
231 // There may be several manager changes during initialization. | 231 // There may be several manager changes during initialization. |
232 size_t initial_changed_count = test_observer_->device_list_changed_count(); | 232 size_t initial_changed_count = test_observer_->device_list_changed_count(); |
233 // Disable a technology. | 233 // Disable a technology. |
234 network_state_handler_->SetTechnologyEnabled( | 234 network_state_handler_->SetTechnologyEnabled( |
235 NetworkTypePattern::Wimax(), false, network_handler::ErrorCallback()); | 235 NetworkTypePattern::Wimax(), false, network_handler::ErrorCallback()); |
236 EXPECT_NE( | 236 EXPECT_NE( |
(...skipping 17 matching lines...) Expand all Loading... |
254 EXPECT_EQ(initial_changed_count + 4, | 254 EXPECT_EQ(initial_changed_count + 4, |
255 test_observer_->device_list_changed_count()); | 255 test_observer_->device_list_changed_count()); |
256 EXPECT_EQ( | 256 EXPECT_EQ( |
257 NetworkStateHandler::TECHNOLOGY_ENABLED, | 257 NetworkStateHandler::TECHNOLOGY_ENABLED, |
258 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 258 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
259 } | 259 } |
260 | 260 |
261 TEST_F(NetworkStateHandlerTest, TechnologyState) { | 261 TEST_F(NetworkStateHandlerTest, TechnologyState) { |
262 ShillManagerClient::TestInterface* manager_test = | 262 ShillManagerClient::TestInterface* manager_test = |
263 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); | 263 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); |
264 manager_test->RemoveTechnology(flimflam::kTypeWimax); | 264 manager_test->RemoveTechnology(shill::kTypeWimax); |
265 message_loop_.RunUntilIdle(); | 265 message_loop_.RunUntilIdle(); |
266 EXPECT_EQ( | 266 EXPECT_EQ( |
267 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, | 267 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, |
268 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 268 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
269 | 269 |
270 manager_test->AddTechnology(flimflam::kTypeWimax, false); | 270 manager_test->AddTechnology(shill::kTypeWimax, false); |
271 message_loop_.RunUntilIdle(); | 271 message_loop_.RunUntilIdle(); |
272 EXPECT_EQ( | 272 EXPECT_EQ( |
273 NetworkStateHandler::TECHNOLOGY_AVAILABLE, | 273 NetworkStateHandler::TECHNOLOGY_AVAILABLE, |
274 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 274 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
275 | 275 |
276 manager_test->SetTechnologyInitializing(flimflam::kTypeWimax, true); | 276 manager_test->SetTechnologyInitializing(shill::kTypeWimax, true); |
277 message_loop_.RunUntilIdle(); | 277 message_loop_.RunUntilIdle(); |
278 EXPECT_EQ( | 278 EXPECT_EQ( |
279 NetworkStateHandler::TECHNOLOGY_UNINITIALIZED, | 279 NetworkStateHandler::TECHNOLOGY_UNINITIALIZED, |
280 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 280 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
281 | 281 |
282 manager_test->SetTechnologyInitializing(flimflam::kTypeWimax, false); | 282 manager_test->SetTechnologyInitializing(shill::kTypeWimax, false); |
283 network_state_handler_->SetTechnologyEnabled( | 283 network_state_handler_->SetTechnologyEnabled( |
284 NetworkTypePattern::Wimax(), true, network_handler::ErrorCallback()); | 284 NetworkTypePattern::Wimax(), true, network_handler::ErrorCallback()); |
285 message_loop_.RunUntilIdle(); | 285 message_loop_.RunUntilIdle(); |
286 EXPECT_EQ( | 286 EXPECT_EQ( |
287 NetworkStateHandler::TECHNOLOGY_ENABLED, | 287 NetworkStateHandler::TECHNOLOGY_ENABLED, |
288 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 288 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
289 | 289 |
290 manager_test->RemoveTechnology(flimflam::kTypeWimax); | 290 manager_test->RemoveTechnology(shill::kTypeWimax); |
291 message_loop_.RunUntilIdle(); | 291 message_loop_.RunUntilIdle(); |
292 EXPECT_EQ( | 292 EXPECT_EQ( |
293 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, | 293 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, |
294 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); | 294 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); |
295 } | 295 } |
296 | 296 |
297 TEST_F(NetworkStateHandlerTest, ServicePropertyChanged) { | 297 TEST_F(NetworkStateHandlerTest, ServicePropertyChanged) { |
298 // Set a service property. | 298 // Set a service property. |
299 const std::string eth1 = kShillManagerClientStubDefaultService; | 299 const std::string eth1 = kShillManagerClientStubDefaultService; |
300 EXPECT_EQ("", network_state_handler_->GetNetworkState(eth1)->security()); | 300 EXPECT_EQ("", network_state_handler_->GetNetworkState(eth1)->security()); |
301 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(eth1)); | 301 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(eth1)); |
302 base::StringValue security_value("TestSecurity"); | 302 base::StringValue security_value("TestSecurity"); |
303 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 303 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
304 dbus::ObjectPath(eth1), | 304 dbus::ObjectPath(eth1), |
305 flimflam::kSecurityProperty, security_value, | 305 shill::kSecurityProperty, security_value, |
306 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 306 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
307 message_loop_.RunUntilIdle(); | 307 message_loop_.RunUntilIdle(); |
308 EXPECT_EQ("TestSecurity", | 308 EXPECT_EQ("TestSecurity", |
309 network_state_handler_->GetNetworkState(eth1)->security()); | 309 network_state_handler_->GetNetworkState(eth1)->security()); |
310 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); | 310 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); |
311 | 311 |
312 // Changing a service to the existing value should not trigger an update. | 312 // Changing a service to the existing value should not trigger an update. |
313 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 313 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
314 dbus::ObjectPath(eth1), | 314 dbus::ObjectPath(eth1), |
315 flimflam::kSecurityProperty, security_value, | 315 shill::kSecurityProperty, security_value, |
316 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 316 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
317 message_loop_.RunUntilIdle(); | 317 message_loop_.RunUntilIdle(); |
318 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); | 318 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); |
319 } | 319 } |
320 | 320 |
321 TEST_F(NetworkStateHandlerTest, FavoriteState) { | 321 TEST_F(NetworkStateHandlerTest, FavoriteState) { |
322 // Set the profile entry of a service | 322 // Set the profile entry of a service |
323 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 323 const std::string wifi1 = kShillManagerClientStubDefaultWireless; |
324 ShillProfileClient::TestInterface* profile_test = | 324 ShillProfileClient::TestInterface* profile_test = |
325 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); | 325 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); |
326 EXPECT_TRUE(profile_test->AddService("/profile/default", wifi1)); | 326 EXPECT_TRUE(profile_test->AddService("/profile/default", wifi1)); |
327 message_loop_.RunUntilIdle(); | 327 message_loop_.RunUntilIdle(); |
328 network_state_handler_->UpdateManagerProperties(); | 328 network_state_handler_->UpdateManagerProperties(); |
329 message_loop_.RunUntilIdle(); | 329 message_loop_.RunUntilIdle(); |
330 EXPECT_EQ(1u, test_observer_->favorite_count()); | 330 EXPECT_EQ(1u, test_observer_->favorite_count()); |
331 } | 331 } |
332 | 332 |
333 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) { | 333 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) { |
334 // Change a network state. | 334 // Change a network state. |
335 ShillServiceClient::TestInterface* service_test = | 335 ShillServiceClient::TestInterface* service_test = |
336 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); | 336 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
337 const std::string eth1 = kShillManagerClientStubDefaultService; | 337 const std::string eth1 = kShillManagerClientStubDefaultService; |
338 base::StringValue connection_state_idle_value(flimflam::kStateIdle); | 338 base::StringValue connection_state_idle_value(shill::kStateIdle); |
339 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, | 339 service_test->SetServiceProperty(eth1, shill::kStateProperty, |
340 connection_state_idle_value); | 340 connection_state_idle_value); |
341 message_loop_.RunUntilIdle(); | 341 message_loop_.RunUntilIdle(); |
342 EXPECT_EQ(flimflam::kStateIdle, | 342 EXPECT_EQ(shill::kStateIdle, |
343 test_observer_->NetworkConnectionStateForService(eth1)); | 343 test_observer_->NetworkConnectionStateForService(eth1)); |
344 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); | 344 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); |
345 // Confirm that changing the connection state to the same value does *not* | 345 // Confirm that changing the connection state to the same value does *not* |
346 // signal the observer. | 346 // signal the observer. |
347 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, | 347 service_test->SetServiceProperty(eth1, shill::kStateProperty, |
348 connection_state_idle_value); | 348 connection_state_idle_value); |
349 message_loop_.RunUntilIdle(); | 349 message_loop_.RunUntilIdle(); |
350 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); | 350 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); |
351 } | 351 } |
352 | 352 |
353 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { | 353 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { |
354 ShillManagerClient::TestInterface* manager_test = | 354 ShillManagerClient::TestInterface* manager_test = |
355 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); | 355 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); |
356 ASSERT_TRUE(manager_test); | 356 ASSERT_TRUE(manager_test); |
357 ShillServiceClient::TestInterface* service_test = | 357 ShillServiceClient::TestInterface* service_test = |
358 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); | 358 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
359 ASSERT_TRUE(service_test); | 359 ASSERT_TRUE(service_test); |
360 | 360 |
361 // Change the default network by changing the state of eth1 to Idle which | 361 // Change the default network by changing the state of eth1 to Idle which |
362 // should re-sort Manager.Services. | 362 // should re-sort Manager.Services. |
363 const std::string eth1 = kShillManagerClientStubDefaultService; | 363 const std::string eth1 = kShillManagerClientStubDefaultService; |
364 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 364 const std::string wifi1 = kShillManagerClientStubDefaultWireless; |
365 base::StringValue connection_state_idle_value(flimflam::kStateIdle); | 365 base::StringValue connection_state_idle_value(shill::kStateIdle); |
366 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, | 366 service_test->SetServiceProperty(eth1, shill::kStateProperty, |
367 connection_state_idle_value); | 367 connection_state_idle_value); |
368 message_loop_.RunUntilIdle(); | 368 message_loop_.RunUntilIdle(); |
369 EXPECT_EQ(wifi1, test_observer_->default_network()); | 369 EXPECT_EQ(wifi1, test_observer_->default_network()); |
370 EXPECT_EQ(flimflam::kStateOnline, | 370 EXPECT_EQ(shill::kStateOnline, |
371 test_observer_->default_network_connection_state()); | 371 test_observer_->default_network_connection_state()); |
372 // We should have seen 2 default network updates - for the default | 372 // We should have seen 2 default network updates - for the default |
373 // service change, and for the state change. | 373 // service change, and for the state change. |
374 EXPECT_EQ(2u, test_observer_->default_network_change_count()); | 374 EXPECT_EQ(2u, test_observer_->default_network_change_count()); |
375 | 375 |
376 // Updating a property on the default network should trigger | 376 // Updating a property on the default network should trigger |
377 // a default network change. | 377 // a default network change. |
378 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 378 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
379 dbus::ObjectPath(wifi1), | 379 dbus::ObjectPath(wifi1), |
380 flimflam::kSecurityProperty, base::StringValue("TestSecurity"), | 380 shill::kSecurityProperty, base::StringValue("TestSecurity"), |
381 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 381 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
382 message_loop_.RunUntilIdle(); | 382 message_loop_.RunUntilIdle(); |
383 EXPECT_EQ(3u, test_observer_->default_network_change_count()); | 383 EXPECT_EQ(3u, test_observer_->default_network_change_count()); |
384 | 384 |
385 // No default network updates for signal strength changes. | 385 // No default network updates for signal strength changes. |
386 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 386 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
387 dbus::ObjectPath(wifi1), | 387 dbus::ObjectPath(wifi1), |
388 flimflam::kSignalStrengthProperty, base::FundamentalValue(32), | 388 shill::kSignalStrengthProperty, base::FundamentalValue(32), |
389 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 389 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
390 message_loop_.RunUntilIdle(); | 390 message_loop_.RunUntilIdle(); |
391 EXPECT_EQ(3u, test_observer_->default_network_change_count()); | 391 EXPECT_EQ(3u, test_observer_->default_network_change_count()); |
392 } | 392 } |
393 | 393 |
394 TEST_F(NetworkStateHandlerTest, RequestUpdate) { | 394 TEST_F(NetworkStateHandlerTest, RequestUpdate) { |
395 // Request an update for kShillManagerClientStubDefaultWireless. | 395 // Request an update for kShillManagerClientStubDefaultWireless. |
396 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( | 396 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( |
397 kShillManagerClientStubDefaultWireless)); | 397 kShillManagerClientStubDefaultWireless)); |
398 network_state_handler_->RequestUpdateForNetwork( | 398 network_state_handler_->RequestUpdateForNetwork( |
(...skipping 11 matching lines...) Expand all Loading... |
410 // Other networks should have 2 updates (inital + request). | 410 // Other networks should have 2 updates (inital + request). |
411 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( | 411 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( |
412 kShillManagerClientStubDefaultService)); | 412 kShillManagerClientStubDefaultService)); |
413 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( | 413 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( |
414 kShillManagerClientStubWireless2)); | 414 kShillManagerClientStubWireless2)); |
415 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( | 415 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( |
416 kShillManagerClientStubCellular)); | 416 kShillManagerClientStubCellular)); |
417 } | 417 } |
418 | 418 |
419 } // namespace chromeos | 419 } // namespace chromeos |
OLD | NEW |