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 // See network_change_notifier_android.h for design explanations. | 5 // See network_change_notifier_android.h for design explanations. |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 ASSERT_TRUE(ParseIPLiteralToNumber("8.8.8.8", &dns_number)); | 310 ASSERT_TRUE(ParseIPLiteralToNumber("8.8.8.8", &dns_number)); |
311 dns_config_.nameservers.push_back( | 311 dns_config_.nameservers.push_back( |
312 IPEndPoint(dns_number, dns_protocol::kDefaultPort)); | 312 IPEndPoint(dns_number, dns_protocol::kDefaultPort)); |
313 notifier_.reset(new NetworkChangeNotifierAndroid(&delegate_, &dns_config_)); | 313 notifier_.reset(new NetworkChangeNotifierAndroid(&delegate_, &dns_config_)); |
314 NetworkChangeNotifier::AddConnectionTypeObserver( | 314 NetworkChangeNotifier::AddConnectionTypeObserver( |
315 &connection_type_observer_); | 315 &connection_type_observer_); |
316 NetworkChangeNotifier::AddConnectionTypeObserver( | 316 NetworkChangeNotifier::AddConnectionTypeObserver( |
317 &other_connection_type_observer_); | 317 &other_connection_type_observer_); |
318 } | 318 } |
319 | 319 |
| 320 void ForceNetworkHandlesSupportedForTesting() { |
| 321 notifier_->ForceNetworkHandlesSupportedForTesting(); |
| 322 } |
| 323 |
320 NetworkChangeNotifierObserver connection_type_observer_; | 324 NetworkChangeNotifierObserver connection_type_observer_; |
321 NetworkChangeNotifierObserver other_connection_type_observer_; | 325 NetworkChangeNotifierObserver other_connection_type_observer_; |
322 NetworkChangeNotifier::DisableForTest disable_for_test_; | 326 NetworkChangeNotifier::DisableForTest disable_for_test_; |
323 DnsConfig dns_config_; | 327 DnsConfig dns_config_; |
324 scoped_ptr<NetworkChangeNotifierAndroid> notifier_; | 328 scoped_ptr<NetworkChangeNotifierAndroid> notifier_; |
325 }; | 329 }; |
326 | 330 |
327 // When a NetworkChangeNotifierAndroid is observing a | 331 // When a NetworkChangeNotifierAndroid is observing a |
328 // NetworkChangeNotifierDelegateAndroid for network state changes, and the | 332 // NetworkChangeNotifierDelegateAndroid for network state changes, and the |
329 // NetworkChangeNotifierDelegateAndroid's connectivity state changes, the | 333 // NetworkChangeNotifierDelegateAndroid's connectivity state changes, the |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 TEST_F(NetworkChangeNotifierAndroidTest, InitialSignal) { | 384 TEST_F(NetworkChangeNotifierAndroidTest, InitialSignal) { |
381 DNSChangeObserver dns_change_observer; | 385 DNSChangeObserver dns_change_observer; |
382 NetworkChangeNotifier::AddDNSObserver(&dns_change_observer); | 386 NetworkChangeNotifier::AddDNSObserver(&dns_change_observer); |
383 base::MessageLoop::current()->Run(); | 387 base::MessageLoop::current()->Run(); |
384 EXPECT_EQ(1, dns_change_observer.initial_notifications_count()); | 388 EXPECT_EQ(1, dns_change_observer.initial_notifications_count()); |
385 EXPECT_EQ(0, dns_change_observer.change_notifications_count()); | 389 EXPECT_EQ(0, dns_change_observer.change_notifications_count()); |
386 NetworkChangeNotifier::RemoveDNSObserver(&dns_change_observer); | 390 NetworkChangeNotifier::RemoveDNSObserver(&dns_change_observer); |
387 } | 391 } |
388 | 392 |
389 TEST_F(NetworkChangeNotifierAndroidTest, NetworkCallbacks) { | 393 TEST_F(NetworkChangeNotifierAndroidTest, NetworkCallbacks) { |
| 394 ForceNetworkHandlesSupportedForTesting(); |
| 395 |
390 TestNetworkObserver network_observer; | 396 TestNetworkObserver network_observer; |
391 NetworkChangeNotifier::AddNetworkObserver(&network_observer); | 397 NetworkChangeNotifier::AddNetworkObserver(&network_observer); |
392 | 398 |
393 // Test empty values | 399 // Test empty values |
394 EXPECT_EQ(NetworkChangeNotifier::kInvalidNetworkHandle, | 400 EXPECT_EQ(NetworkChangeNotifier::kInvalidNetworkHandle, |
395 NetworkChangeNotifier::GetDefaultNetwork()); | 401 NetworkChangeNotifier::GetDefaultNetwork()); |
396 EXPECT_EQ(NetworkChangeNotifier::CONNECTION_UNKNOWN, | 402 EXPECT_EQ(NetworkChangeNotifier::CONNECTION_UNKNOWN, |
397 NetworkChangeNotifier::GetNetworkConnectionType(100)); | 403 NetworkChangeNotifier::GetNetworkConnectionType(100)); |
398 NetworkChangeNotifier::NetworkList network_list; | 404 NetworkChangeNotifier::NetworkList network_list; |
399 NetworkChangeNotifier::GetConnectedNetworks(&network_list); | 405 NetworkChangeNotifier::GetConnectedNetworks(&network_list); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 NetworkChangeNotifier::GetConnectedNetworks(&network_list); | 481 NetworkChangeNotifier::GetConnectedNetworks(&network_list); |
476 EXPECT_EQ(1u, network_list.size()); | 482 EXPECT_EQ(1u, network_list.size()); |
477 EXPECT_EQ(100, network_list[0]); | 483 EXPECT_EQ(100, network_list[0]); |
478 EXPECT_EQ(NetworkChangeNotifier::kInvalidNetworkHandle, | 484 EXPECT_EQ(NetworkChangeNotifier::kInvalidNetworkHandle, |
479 NetworkChangeNotifier::GetDefaultNetwork()); | 485 NetworkChangeNotifier::GetDefaultNetwork()); |
480 | 486 |
481 NetworkChangeNotifier::RemoveNetworkObserver(&network_observer); | 487 NetworkChangeNotifier::RemoveNetworkObserver(&network_observer); |
482 } | 488 } |
483 | 489 |
484 } // namespace net | 490 } // namespace net |
OLD | NEW |