| 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 c0e3ab7206f146261ad7a19a6aa3e8343a9d5d1f..294228cca96c0eafb9472d35aceea785e3fd5aa5 100644
|
| --- a/chromeos/network/network_state_handler_unittest.cc
|
| +++ b/chromeos/network/network_state_handler_unittest.cc
|
| @@ -17,6 +17,7 @@
|
| #include "chromeos/dbus/shill_manager_client.h"
|
| #include "chromeos/dbus/shill_profile_client.h"
|
| #include "chromeos/dbus/shill_service_client.h"
|
| +#include "chromeos/network/device_state.h"
|
| #include "chromeos/network/network_state.h"
|
| #include "chromeos/network/network_state_handler.h"
|
| #include "chromeos/network/network_state_handler_observer.h"
|
| @@ -36,6 +37,7 @@ const std::string kShillManagerClientStubDefaultWifi = "/service/wifi1";
|
| const std::string kShillManagerClientStubWifi2 = "/service/wifi2";
|
| const std::string kShillManagerClientStubCellular = "/service/cellular1";
|
|
|
| +using chromeos::DeviceState;
|
| using chromeos::NetworkState;
|
| using chromeos::NetworkStateHandler;
|
|
|
| @@ -95,6 +97,11 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver {
|
| property_updates_[network->path()]++;
|
| }
|
|
|
| + virtual void DevicePropertiesUpdated(const DeviceState* device) OVERRIDE {
|
| + DCHECK(device);
|
| + device_property_updates_[device->path()]++;
|
| + }
|
| +
|
| size_t device_list_changed_count() { return device_list_changed_count_; }
|
| size_t device_count() { return device_count_; }
|
| size_t network_list_changed_count() { return network_list_changed_count_; }
|
| @@ -117,6 +124,10 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver {
|
| return property_updates_[service_path];
|
| }
|
|
|
| + int PropertyUpdatesForDevice(const std::string& device_path) {
|
| + return device_property_updates_[device_path];
|
| + }
|
| +
|
| int ConnectionStateChangesForService(const std::string& service_path) {
|
| return connection_state_changes_[service_path];
|
| }
|
| @@ -136,6 +147,7 @@ class TestObserver : public chromeos::NetworkStateHandlerObserver {
|
| std::string default_network_;
|
| std::string default_network_connection_state_;
|
| std::map<std::string, int> property_updates_;
|
| + std::map<std::string, int> device_property_updates_;
|
| std::map<std::string, int> connection_state_changes_;
|
| std::map<std::string, std::string> network_connection_state_;
|
|
|
| @@ -703,4 +715,20 @@ TEST_F(NetworkStateHandlerTest, NetworkGuidNotInProfile) {
|
| EXPECT_EQ(wifi_guid, network->guid());
|
| }
|
|
|
| +TEST_F(NetworkStateHandlerTest, DeviceListChanged) {
|
| + size_t stub_device_count = test_observer_->device_count();
|
| + // Add an additional device.
|
| + const std::string wifi_device = "/service/stub_wifi_device2";
|
| + device_test_->AddDevice(wifi_device, shill::kTypeWifi, "stub_wifi_device2");
|
| + UpdateManagerProperties();
|
| + // Expect a device list update.
|
| + EXPECT_EQ(stub_device_count + 1, test_observer_->device_count());
|
| + EXPECT_EQ(0, test_observer_->PropertyUpdatesForDevice(wifi_device));
|
| + // Change a device property.
|
| + device_test_->SetDeviceProperty(
|
| + wifi_device, shill::kScanningProperty, base::FundamentalValue(true));
|
| + UpdateManagerProperties();
|
| + EXPECT_EQ(1, test_observer_->PropertyUpdatesForDevice(wifi_device));
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|