Chromium Code Reviews| Index: chromeos/network/network_state_handler_unittest.cc |
| diff --git a/chromeos/network/network_state_handler_unittest.cc b/chromeos/network/network_state_handler_unittest.cc |
| index dc54c31665cbd7673fcdecf2d1cc7cdb637e5490..eec1d700a137f4bd48bfae528ec589821a8de294 100644 |
| --- a/chromeos/network/network_state_handler_unittest.cc |
| +++ b/chromeos/network/network_state_handler_unittest.cc |
| @@ -42,7 +42,8 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| explicit TestObserver(NetworkStateHandler* handler) |
| : handler_(handler), |
| manager_changed_count_(0), |
| - network_count_(0) { |
| + network_count_(0), |
| + default_network_change_count_(0) { |
| } |
| virtual ~TestObserver() { |
| @@ -63,6 +64,7 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| } |
| virtual void DefaultNetworkChanged(const NetworkState* network) OVERRIDE { |
| + ++default_network_change_count_; |
| default_network_ = network ? network->path() : ""; |
| default_network_connection_state_ = |
| network ? network->connection_state() : ""; |
| @@ -81,6 +83,9 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| size_t manager_changed_count() { return manager_changed_count_; } |
| size_t network_count() { return network_count_; } |
| + size_t default_network_change_count() { |
| + return default_network_change_count_; |
| + } |
| std::string default_network() { return default_network_; } |
| std::string default_network_connection_state() { |
| return default_network_connection_state_; |
| @@ -103,6 +108,7 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| NetworkStateHandler* handler_; |
| size_t manager_changed_count_; |
| size_t network_count_; |
| + size_t default_network_change_count_; |
| std::string default_network_; |
| std::string default_network_connection_state_; |
| std::map<std::string, int> property_updates_; |
| @@ -158,19 +164,19 @@ class NetworkStateHandlerTest : public testing::Test { |
| service_test->AddService(kShillManagerClientStubDefaultService, |
| kShillManagerClientStubDefaultService, |
| flimflam::kTypeEthernet, flimflam::kStateOnline, |
| - add_to_watchlist); |
| + "", add_to_watchlist); |
| service_test->AddService(kShillManagerClientStubDefaultWireless, |
| kShillManagerClientStubDefaultWireless, |
| flimflam::kTypeWifi, flimflam::kStateOnline, |
| - add_to_watchlist); |
| + "", add_to_watchlist); |
| service_test->AddService(kShillManagerClientStubWireless2, |
| kShillManagerClientStubWireless2, |
| flimflam::kTypeWifi, flimflam::kStateIdle, |
| - add_to_watchlist); |
| + "", add_to_watchlist); |
| service_test->AddService(kShillManagerClientStubCellular, |
| kShillManagerClientStubCellular, |
| flimflam::kTypeCellular, flimflam::kStateIdle, |
| - add_to_watchlist); |
| + "", add_to_watchlist); |
|
stevenjb
2013/03/27 22:18:52
I don't like adding all of these "", especially si
|
| } |
| MessageLoopForUI message_loop_; |
| @@ -282,6 +288,26 @@ TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { |
| EXPECT_EQ(wifi1, test_observer_->default_network()); |
| EXPECT_EQ(flimflam::kStateOnline, |
| test_observer_->default_network_connection_state()); |
| + // We should have seen 2 default network updates - for the default |
| + // service change, and for the state change. |
| + EXPECT_EQ(2u, test_observer_->default_network_change_count()); |
| + |
| + // Updating a property on the default network should trigger |
| + // a default network change. |
| + DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| + dbus::ObjectPath(wifi1), |
| + flimflam::kSecurityProperty, base::StringValue("TestSecurity"), |
| + base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
| + message_loop_.RunUntilIdle(); |
| + EXPECT_EQ(3u, test_observer_->default_network_change_count()); |
| + |
| + // No default network updates for signal strength changes. |
| + DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| + dbus::ObjectPath(wifi1), |
| + flimflam::kSignalStrengthProperty, base::FundamentalValue(32), |
| + base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
| + message_loop_.RunUntilIdle(); |
| + EXPECT_EQ(3u, test_observer_->default_network_change_count()); |
| } |
| } // namespace chromeos |