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

Unified Diff: chromeos/network/network_state_handler_unittest.cc

Issue 395523004: Add DevicePropertiesUpdated to NetworkStateHandlerObserver (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698