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

Unified Diff: chrome/browser/chromeos/cros/cros_network_functions_unittest.cc

Issue 11756002: Move cros_network_functions.cc to src/chromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clang fixes Created 7 years, 12 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: chrome/browser/chromeos/cros/cros_network_functions_unittest.cc
diff --git a/chrome/browser/chromeos/cros/cros_network_functions_unittest.cc b/chrome/browser/chromeos/cros/cros_network_functions_unittest.cc
deleted file mode 100644
index f2c4bdb2765fe1e69de71008acbf127ca7bcaeb6..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/cros/cros_network_functions_unittest.cc
+++ /dev/null
@@ -1,1034 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/bind.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/values.h"
-#include "chrome/browser/chromeos/cros/cros_network_functions.h"
-#include "chrome/browser/chromeos/cros/sms_watcher.h"
-#include "chromeos/dbus/mock_dbus_thread_manager.h"
-#include "chromeos/dbus/mock_shill_device_client.h"
-#include "chromeos/dbus/mock_shill_ipconfig_client.h"
-#include "chromeos/dbus/mock_shill_manager_client.h"
-#include "chromeos/dbus/mock_shill_network_client.h"
-#include "chromeos/dbus/mock_shill_profile_client.h"
-#include "chromeos/dbus/mock_shill_service_client.h"
-#include "chromeos/dbus/mock_gsm_sms_client.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/cros_system_api/dbus/service_constants.h"
-
-using ::testing::_;
-using ::testing::Invoke;
-using ::testing::Pointee;
-using ::testing::Return;
-using ::testing::SaveArg;
-using ::testing::StrEq;
-
-// Matcher to match base::Value.
-MATCHER_P(IsEqualTo, value, "") { return arg.Equals(value); }
-
-// Matcher to match SMS.
-MATCHER_P(IsSMSEqualTo, sms, "") {
- return sms.timestamp == arg.timestamp &&
- std::string(sms.number) == arg.number &&
- std::string(sms.text) == arg.text &&
- sms.validity == arg.validity &&
- sms.msgclass == arg.msgclass;
-}
-
-// Matcher to match IPConfig::path
-MATCHER_P(IsIPConfigPathEqualTo, str, "") { return str == arg.path; }
-
-namespace chromeos {
-
-namespace {
-
-const char kExamplePath[] = "/foo/bar/baz";
-
-// A mock to check arguments of NetworkPropertiesCallback and ensure that the
-// callback is called exactly once.
-class MockNetworkPropertiesCallback {
- public:
- // Creates a NetworkPropertiesCallback with expectations.
- static NetworkPropertiesCallback CreateCallback(
- const std::string& expected_path,
- const base::DictionaryValue& expected_result) {
- MockNetworkPropertiesCallback* mock_callback =
- new MockNetworkPropertiesCallback;
-
- EXPECT_CALL(*mock_callback,
- Run(expected_path, Pointee(IsEqualTo(&expected_result))))
- .Times(1);
-
- return base::Bind(&MockNetworkPropertiesCallback::Run,
- base::Owned(mock_callback));
- }
-
- MOCK_METHOD2(Run, void(const std::string& path,
- const base::DictionaryValue* result));
-};
-
-// A mock to check arguments of NetworkPropertiesWatcherCallback and ensure that
-// the callback is called exactly once.
-class MockNetworkPropertiesWatcherCallback {
- public:
- // Creates a NetworkPropertiesWatcherCallback with expectations.
- static NetworkPropertiesWatcherCallback CreateCallback(
- const std::string& expected_path,
- const std::string& expected_key,
- const base::Value& expected_value) {
- MockNetworkPropertiesWatcherCallback* mock_callback =
- new MockNetworkPropertiesWatcherCallback;
-
- EXPECT_CALL(*mock_callback,
- Run(expected_path, expected_key, IsEqualTo(&expected_value)))
- .Times(1);
-
- return base::Bind(&MockNetworkPropertiesWatcherCallback::Run,
- base::Owned(mock_callback));
- }
-
- MOCK_METHOD3(Run, void(const std::string& expected_path,
- const std::string& expected_key,
- const base::Value& value));
-};
-
-} // namespace
-
-// Test for cros_network_functions.cc without Libcros.
-class CrosNetworkFunctionsTest : public testing::Test {
- public:
- CrosNetworkFunctionsTest() : mock_profile_client_(NULL),
- dictionary_value_result_(NULL) {}
-
- virtual void SetUp() {
- MockDBusThreadManager* mock_dbus_thread_manager = new MockDBusThreadManager;
- EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus())
- .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL)));
- DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager);
- mock_device_client_ =
- mock_dbus_thread_manager->mock_shill_device_client();
- mock_ipconfig_client_ =
- mock_dbus_thread_manager->mock_shill_ipconfig_client();
- mock_manager_client_ =
- mock_dbus_thread_manager->mock_shill_manager_client();
- mock_network_client_ =
- mock_dbus_thread_manager->mock_shill_network_client();
- mock_profile_client_ =
- mock_dbus_thread_manager->mock_shill_profile_client();
- mock_service_client_ =
- mock_dbus_thread_manager->mock_shill_service_client();
- mock_gsm_sms_client_ = mock_dbus_thread_manager->mock_gsm_sms_client();
- }
-
- virtual void TearDown() {
- DBusThreadManager::Shutdown();
- mock_profile_client_ = NULL;
- }
-
- // Handles responses for GetProperties method calls for ShillManagerClient.
- void OnGetManagerProperties(
- const ShillClientHelper::DictionaryValueCallback& callback) {
- callback.Run(DBUS_METHOD_CALL_SUCCESS, *dictionary_value_result_);
- }
-
- // Handles responses for GetProperties method calls.
- void OnGetProperties(
- const dbus::ObjectPath& path,
- const ShillClientHelper::DictionaryValueCallback& callback) {
- callback.Run(DBUS_METHOD_CALL_SUCCESS, *dictionary_value_result_);
- }
-
- // Handles responses for GetProperties method calls that return
- // errors in an error callback.
- void OnGetPropertiesWithoutStatus(
- const dbus::ObjectPath& path,
- const ShillClientHelper::DictionaryValueCallbackWithoutStatus& callback,
- const ShillClientHelper::ErrorCallback& error_callback) {
- callback.Run(*dictionary_value_result_);
- }
-
- // Handles responses for GetEntry method calls.
- void OnGetEntry(
- const dbus::ObjectPath& profile_path,
- const std::string& entry_path,
- const ShillClientHelper::DictionaryValueCallbackWithoutStatus& callback,
- const ShillClientHelper::ErrorCallback& error_callback) {
- callback.Run(*dictionary_value_result_);
- }
-
- // Mock NetworkOperationCallback.
- MOCK_METHOD3(MockNetworkOperationCallback,
- void(const std::string& path,
- NetworkMethodErrorType error,
- const std::string& error_message));
-
- // Mock MonitorSMSCallback.
- MOCK_METHOD2(MockMonitorSMSCallback,
- void(const std::string& modem_device_path, const SMS& message));
-
- protected:
- MockShillDeviceClient* mock_device_client_;
- MockShillIPConfigClient* mock_ipconfig_client_;
- MockShillManagerClient* mock_manager_client_;
- MockShillNetworkClient* mock_network_client_;
- MockShillProfileClient* mock_profile_client_;
- MockShillServiceClient* mock_service_client_;
- MockGsmSMSClient* mock_gsm_sms_client_;
- const base::DictionaryValue* dictionary_value_result_;
-};
-
-TEST_F(CrosNetworkFunctionsTest, CrosActivateCellularModem) {
- const std::string service_path = "/";
- const std::string carrier = "carrier";
- EXPECT_CALL(*mock_service_client_,
- CallActivateCellularModemAndBlock(dbus::ObjectPath(service_path),
- carrier))
- .WillOnce(Return(true));
- EXPECT_TRUE(CrosActivateCellularModem(service_path, carrier));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosSetNetworkServiceProperty) {
- const std::string service_path = "/";
- const std::string property = "property";
- const std::string key1 = "key1";
- const std::string string1 = "string1";
- const std::string key2 = "key2";
- const std::string string2 = "string2";
- base::DictionaryValue value;
- value.SetString(key1, string1);
- value.SetString(key2, string2);
- EXPECT_CALL(*mock_service_client_,
- SetProperty(dbus::ObjectPath(service_path), property,
- IsEqualTo(&value), _, _)).Times(1);
-
- CrosSetNetworkServiceProperty(service_path, property, value);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosClearNetworkServiceProperty) {
- const std::string service_path = "/";
- const std::string property = "property";
- EXPECT_CALL(*mock_service_client_,
- ClearProperty(dbus::ObjectPath(service_path), property, _, _))
- .Times(1);
-
- CrosClearNetworkServiceProperty(service_path, property);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosSetNetworkDeviceProperty) {
- const std::string device_path = "/";
- const std::string property = "property";
- const bool kBool = true;
- const base::FundamentalValue value(kBool);
- EXPECT_CALL(*mock_device_client_,
- SetProperty(dbus::ObjectPath(device_path), StrEq(property),
- IsEqualTo(&value), _, _)).Times(1);
-
- CrosSetNetworkDeviceProperty(device_path, property, value);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosSetNetworkIPConfigProperty) {
- const std::string ipconfig_path = "/";
- const std::string property = "property";
- const int kInt = 1234;
- const base::FundamentalValue value(kInt);
- EXPECT_CALL(*mock_ipconfig_client_,
- SetProperty(dbus::ObjectPath(ipconfig_path), property,
- IsEqualTo(&value), _)).Times(1);
- CrosSetNetworkIPConfigProperty(ipconfig_path, property, value);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosSetNetworkManagerProperty) {
- const std::string property = "property";
- const base::StringValue value("string");
- EXPECT_CALL(*mock_manager_client_,
- SetProperty(property, IsEqualTo(&value), _, _)).Times(1);
-
- CrosSetNetworkManagerProperty(property, value);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosDeleteServiceFromProfile) {
- const std::string profile_path("/profile/path");
- const std::string service_path("/service/path");
- EXPECT_CALL(*mock_profile_client_,
- DeleteEntry(dbus::ObjectPath(profile_path), service_path, _, _))
- .Times(1);
- CrosDeleteServiceFromProfile(profile_path, service_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosMonitorNetworkManagerProperties) {
- const std::string key = "key";
- const int kValue = 42;
- const base::FundamentalValue value(kValue);
-
- // Start monitoring.
- ShillPropertyChangedObserver* observer = NULL;
- EXPECT_CALL(*mock_manager_client_, AddPropertyChangedObserver(_))
- .WillOnce(SaveArg<0>(&observer));
- CrosNetworkWatcher* watcher = CrosMonitorNetworkManagerProperties(
- MockNetworkPropertiesWatcherCallback::CreateCallback(
- flimflam::kFlimflamServicePath, key, value));
- // Call callback.
- observer->OnPropertyChanged(key, value);
- // Stop monitoring.
- EXPECT_CALL(*mock_manager_client_,
- RemovePropertyChangedObserver(_)).Times(1);
- delete watcher;
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosMonitorNetworkServiceProperties) {
- const dbus::ObjectPath path("/path");
- const std::string key = "key";
- const int kValue = 42;
- const base::FundamentalValue value(kValue);
- // Start monitoring.
- ShillPropertyChangedObserver* observer = NULL;
- EXPECT_CALL(*mock_service_client_, AddPropertyChangedObserver(path, _))
- .WillOnce(SaveArg<1>(&observer));
- NetworkPropertiesWatcherCallback callback =
- MockNetworkPropertiesWatcherCallback::CreateCallback(path.value(),
- key, value);
- CrosNetworkWatcher* watcher = CrosMonitorNetworkServiceProperties(
- callback, path.value());
- // Call callback.
- observer->OnPropertyChanged(key, value);
- // Stop monitoring.
- EXPECT_CALL(*mock_service_client_,
- RemovePropertyChangedObserver(path, _)).Times(1);
- delete watcher;
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosMonitorNetworkDeviceProperties) {
- const dbus::ObjectPath path("/path");
- const std::string key = "key";
- const int kValue = 42;
- const base::FundamentalValue value(kValue);
- // Start monitoring.
- ShillPropertyChangedObserver* observer = NULL;
- EXPECT_CALL(*mock_device_client_, AddPropertyChangedObserver(path, _))
- .WillOnce(SaveArg<1>(&observer));
- NetworkPropertiesWatcherCallback callback =
- MockNetworkPropertiesWatcherCallback::CreateCallback(path.value(),
- key, value);
- CrosNetworkWatcher* watcher = CrosMonitorNetworkDeviceProperties(
- callback, path.value());
- // Call callback.
- observer->OnPropertyChanged(key, value);
- // Stop monitoring.
- EXPECT_CALL(*mock_device_client_,
- RemovePropertyChangedObserver(path, _)).Times(1);
- delete watcher;
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosMonitorSMS) {
- const std::string dbus_connection = ":1.1";
- const dbus::ObjectPath object_path("/object/path");
- base::DictionaryValue device_properties;
- device_properties.SetWithoutPathExpansion(
- flimflam::kDBusConnectionProperty,
- new base::StringValue(dbus_connection));
- device_properties.SetWithoutPathExpansion(
- flimflam::kDBusObjectProperty,
- new base::StringValue(object_path.value()));
-
- const std::string number = "0123456789";
- const std::string text = "Hello.";
- const std::string timestamp_string =
- "120424123456+00"; // 2012-04-24 12:34:56
- base::Time::Exploded timestamp_exploded = {};
- timestamp_exploded.year = 2012;
- timestamp_exploded.month = 4;
- timestamp_exploded.day_of_month = 24;
- timestamp_exploded.hour = 12;
- timestamp_exploded.minute = 34;
- timestamp_exploded.second = 56;
- const base::Time timestamp = base::Time::FromUTCExploded(timestamp_exploded);
- const std::string smsc = "9876543210";
- const uint32 kValidity = 1;
- const uint32 kMsgclass = 2;
- const uint32 kIndex = 0;
- const bool kComplete = true;
- base::DictionaryValue* sms_dictionary = new base::DictionaryValue;
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kNumberKey, new base::StringValue(number));
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kTextKey, new base::StringValue(text));
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kTimestampKey,
- new base::StringValue(timestamp_string));
- sms_dictionary->SetWithoutPathExpansion(SMSWatcher::kSmscKey,
- new base::StringValue(smsc));
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kValidityKey, base::Value::CreateDoubleValue(kValidity));
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kClassKey, base::Value::CreateDoubleValue(kMsgclass));
- sms_dictionary->SetWithoutPathExpansion(
- SMSWatcher::kIndexKey, base::Value::CreateDoubleValue(kIndex));
-
- base::ListValue sms_list;
- sms_list.Append(sms_dictionary);
-
- SMS sms;
- sms.timestamp = timestamp;
- sms.number = number.c_str();
- sms.text = text.c_str();
- sms.smsc = smsc.c_str();
- sms.validity = kValidity;
- sms.msgclass = kMsgclass;
-
- const std::string modem_device_path = "/modem/device/path";
-
- // Set expectations.
- ShillDeviceClient::DictionaryValueCallback get_properties_callback;
- EXPECT_CALL(*mock_device_client_,
- GetProperties(dbus::ObjectPath(modem_device_path), _))
- .WillOnce(SaveArg<1>(&get_properties_callback));
- GsmSMSClient::SmsReceivedHandler sms_received_handler;
- EXPECT_CALL(*mock_gsm_sms_client_,
- SetSmsReceivedHandler(dbus_connection, object_path, _))
- .WillOnce(SaveArg<2>(&sms_received_handler));
-
- GsmSMSClient::ListCallback list_callback;
- EXPECT_CALL(*mock_gsm_sms_client_, List(dbus_connection, object_path, _))
- .WillOnce(SaveArg<2>(&list_callback));
-
- EXPECT_CALL(*this, MockMonitorSMSCallback(
- modem_device_path, IsSMSEqualTo(sms))).Times(2);
-
- GsmSMSClient::DeleteCallback delete_callback;
- EXPECT_CALL(*mock_gsm_sms_client_,
- Delete(dbus_connection, object_path, kIndex, _))
- .WillRepeatedly(SaveArg<3>(&delete_callback));
-
- GsmSMSClient::GetCallback get_callback;
- EXPECT_CALL(*mock_gsm_sms_client_,
- Get(dbus_connection, object_path, kIndex, _))
- .WillOnce(SaveArg<3>(&get_callback));
-
- // Start monitoring.
- CrosNetworkWatcher* watcher = CrosMonitorSMS(
- modem_device_path,
- base::Bind(&CrosNetworkFunctionsTest::MockMonitorSMSCallback,
- base::Unretained(this)));
- // Return GetProperties() result.
- get_properties_callback.Run(DBUS_METHOD_CALL_SUCCESS, device_properties);
- // Return List() result.
- ASSERT_FALSE(list_callback.is_null());
- list_callback.Run(sms_list);
- // Return Delete() result.
- ASSERT_FALSE(delete_callback.is_null());
- delete_callback.Run();
- // Send fake signal.
- ASSERT_FALSE(sms_received_handler.is_null());
- sms_received_handler.Run(kIndex, kComplete);
- // Return Get() result.
- ASSERT_FALSE(get_callback.is_null());
- get_callback.Run(*sms_dictionary);
- // Return Delete() result.
- ASSERT_FALSE(delete_callback.is_null());
- delete_callback.Run();
- // Stop monitoring.
- EXPECT_CALL(*mock_gsm_sms_client_,
- ResetSmsReceivedHandler(dbus_connection, object_path)).Times(1);
- delete watcher;
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkManagerProperties) {
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- // Set expectations.
- dictionary_value_result_ = &result;
- EXPECT_CALL(*mock_manager_client_,
- GetProperties(_)).WillOnce(
- Invoke(this,
- &CrosNetworkFunctionsTest::OnGetManagerProperties));
-
- CrosRequestNetworkManagerProperties(
- MockNetworkPropertiesCallback::CreateCallback(
- flimflam::kFlimflamServicePath, result));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkServiceProperties) {
- const std::string service_path = "/service/path";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- // Set expectations.
- dictionary_value_result_ = &result;
- EXPECT_CALL(*mock_service_client_,
- GetProperties(dbus::ObjectPath(service_path), _)).WillOnce(
- Invoke(this, &CrosNetworkFunctionsTest::OnGetProperties));
-
- CrosRequestNetworkServiceProperties(
- service_path,
- MockNetworkPropertiesCallback::CreateCallback(service_path, result));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkDeviceProperties) {
- const std::string device_path = "/device/path";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- // Set expectations.
- dictionary_value_result_ = &result;
- EXPECT_CALL(*mock_device_client_,
- GetProperties(dbus::ObjectPath(device_path), _)).WillOnce(
- Invoke(this, &CrosNetworkFunctionsTest::OnGetProperties));
-
- CrosRequestNetworkDeviceProperties(
- device_path,
- MockNetworkPropertiesCallback::CreateCallback(device_path, result));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkProfileProperties) {
- const std::string profile_path = "/profile/path";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- // Set expectations.
- dictionary_value_result_ = &result;
- EXPECT_CALL(
- *mock_profile_client_,
- GetProperties(dbus::ObjectPath(profile_path), _, _)).WillOnce(
- Invoke(this,
- &CrosNetworkFunctionsTest::OnGetPropertiesWithoutStatus));
-
- CrosRequestNetworkProfileProperties(
- profile_path,
- MockNetworkPropertiesCallback::CreateCallback(profile_path, result));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkProfileEntryProperties) {
- const std::string profile_path = "profile path";
- const std::string profile_entry_path = "profile entry path";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- // Set expectations.
- dictionary_value_result_ = &result;
- EXPECT_CALL(*mock_profile_client_,
- GetEntry(dbus::ObjectPath(profile_path),
- profile_entry_path, _, _))
- .WillOnce(Invoke(this, &CrosNetworkFunctionsTest::OnGetEntry));
-
- CrosRequestNetworkProfileEntryProperties(
- profile_path, profile_entry_path,
- MockNetworkPropertiesCallback::CreateCallback(profile_entry_path,
- result));
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestHiddenWifiNetworkProperties) {
- const std::string ssid = "ssid";
- const std::string security = "security";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- dictionary_value_result_ = &result;
- // Create expected argument to ShillManagerClient::GetService.
- base::DictionaryValue properties;
- properties.SetWithoutPathExpansion(
- flimflam::kModeProperty,
- new base::StringValue(flimflam::kModeManaged));
- properties.SetWithoutPathExpansion(
- flimflam::kTypeProperty,
- new base::StringValue(flimflam::kTypeWifi));
- properties.SetWithoutPathExpansion(
- flimflam::kSSIDProperty,
- new base::StringValue(ssid));
- properties.SetWithoutPathExpansion(
- flimflam::kSecurityProperty,
- new base::StringValue(security));
- // Set expectations.
- const dbus::ObjectPath service_path("/service/path");
- ObjectPathCallback callback;
- EXPECT_CALL(*mock_manager_client_, GetService(IsEqualTo(&properties), _, _))
- .WillOnce(SaveArg<1>(&callback));
- EXPECT_CALL(*mock_service_client_,
- GetProperties(service_path, _)).WillOnce(
- Invoke(this, &CrosNetworkFunctionsTest::OnGetProperties));
-
- // Call function.
- CrosRequestHiddenWifiNetworkProperties(
- ssid, security,
- MockNetworkPropertiesCallback::CreateCallback(service_path.value(),
- result));
- // Run callback to invoke GetProperties.
- callback.Run(service_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestVirtualNetworkProperties) {
- const std::string service_name = "service name";
- const std::string server_hostname = "server hostname";
- const std::string provider_type = "provider type";
- const std::string key1 = "key1";
- const std::string value1 = "value1";
- const std::string key2 = "key.2.";
- const std::string value2 = "value2";
- // Create result value.
- base::DictionaryValue result;
- result.SetWithoutPathExpansion(key1, new base::StringValue(value1));
- result.SetWithoutPathExpansion(key2, new base::StringValue(value2));
- dictionary_value_result_ = &result;
- // Create expected argument to ShillManagerClient::GetService.
- base::DictionaryValue properties;
- properties.SetWithoutPathExpansion(
- flimflam::kTypeProperty, new base::StringValue("vpn"));
- properties.SetWithoutPathExpansion(
- flimflam::kProviderNameProperty,
- new base::StringValue(service_name));
- properties.SetWithoutPathExpansion(
- flimflam::kProviderHostProperty,
- new base::StringValue(server_hostname));
- properties.SetWithoutPathExpansion(
- flimflam::kProviderTypeProperty,
- new base::StringValue(provider_type));
- properties.SetWithoutPathExpansion(
- flimflam::kVPNDomainProperty,
- new base::StringValue(service_name));
-
- // Set expectations.
- const dbus::ObjectPath service_path("/service/path");
- ObjectPathCallback callback;
- EXPECT_CALL(*mock_manager_client_, GetService(IsEqualTo(&properties), _, _))
- .WillOnce(SaveArg<1>(&callback));
- EXPECT_CALL(*mock_service_client_,
- GetProperties(service_path, _)).WillOnce(
- Invoke(this, &CrosNetworkFunctionsTest::OnGetProperties));
-
- // Call function.
- CrosRequestVirtualNetworkProperties(
- service_name, server_hostname, provider_type,
- MockNetworkPropertiesCallback::CreateCallback(service_path.value(),
- result));
- // Run callback to invoke GetProperties.
- callback.Run(service_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkServiceDisconnect) {
- const std::string service_path = "/service/path";
- EXPECT_CALL(*mock_service_client_,
- Disconnect(dbus::ObjectPath(service_path), _, _)).Times(1);
- CrosRequestNetworkServiceDisconnect(service_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestRemoveNetworkService) {
- const std::string service_path = "/service/path";
- EXPECT_CALL(*mock_service_client_,
- Remove(dbus::ObjectPath(service_path), _, _)).Times(1);
- CrosRequestRemoveNetworkService(service_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkScan) {
- EXPECT_CALL(*mock_manager_client_,
- RequestScan(flimflam::kTypeWifi, _, _)).Times(1);
- CrosRequestNetworkScan(flimflam::kTypeWifi);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestNetworkDeviceEnable) {
- const bool kEnable = true;
- EXPECT_CALL(*mock_manager_client_,
- EnableTechnology(flimflam::kTypeWifi, _, _)).Times(1);
- CrosRequestNetworkDeviceEnable(flimflam::kTypeWifi, kEnable);
-
- const bool kDisable = false;
- EXPECT_CALL(*mock_manager_client_,
- DisableTechnology(flimflam::kTypeWifi, _, _)).Times(1);
- CrosRequestNetworkDeviceEnable(flimflam::kTypeWifi, kDisable);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestRequirePin) {
- const std::string device_path = "/device/path";
- const std::string pin = "123456";
- const bool kRequire = true;
-
- // Set expectations.
- base::Closure callback;
- EXPECT_CALL(*mock_device_client_,
- RequirePin(dbus::ObjectPath(device_path), pin, kRequire, _, _))
- .WillOnce(SaveArg<3>(&callback));
- EXPECT_CALL(*this, MockNetworkOperationCallback(
- device_path, NETWORK_METHOD_ERROR_NONE, _)).Times(1);
- CrosRequestRequirePin(
- device_path, pin, kRequire,
- base::Bind(&CrosNetworkFunctionsTest::MockNetworkOperationCallback,
- base::Unretained(this)));
- // Run saved callback.
- callback.Run();
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestEnterPin) {
- const std::string device_path = "/device/path";
- const std::string pin = "123456";
-
- // Set expectations.
- base::Closure callback;
- EXPECT_CALL(*mock_device_client_,
- EnterPin(dbus::ObjectPath(device_path), pin, _, _))
- .WillOnce(SaveArg<2>(&callback));
- EXPECT_CALL(*this, MockNetworkOperationCallback(
- device_path, NETWORK_METHOD_ERROR_NONE, _)).Times(1);
- CrosRequestEnterPin(
- device_path, pin,
- base::Bind(&CrosNetworkFunctionsTest::MockNetworkOperationCallback,
- base::Unretained(this)));
- // Run saved callback.
- callback.Run();
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestUnblockPin) {
- const std::string device_path = "/device/path";
- const std::string unblock_code = "987654";
- const std::string pin = "123456";
-
- // Set expectations.
- base::Closure callback;
- EXPECT_CALL(
- *mock_device_client_,
- UnblockPin(dbus::ObjectPath(device_path), unblock_code, pin, _, _))
- .WillOnce(SaveArg<3>(&callback));
- EXPECT_CALL(*this, MockNetworkOperationCallback(
- device_path, NETWORK_METHOD_ERROR_NONE, _)).Times(1);
- CrosRequestUnblockPin(device_path, unblock_code, pin,
- base::Bind(&CrosNetworkFunctionsTest::MockNetworkOperationCallback,
- base::Unretained(this)));
- // Run saved callback.
- callback.Run();
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestChangePin) {
- const std::string device_path = "/device/path";
- const std::string old_pin = "123456";
- const std::string new_pin = "234567";
-
- // Set expectations.
- base::Closure callback;
- EXPECT_CALL(*mock_device_client_,
- ChangePin(dbus::ObjectPath(device_path), old_pin, new_pin, _, _))
- .WillOnce(SaveArg<3>(&callback));
- EXPECT_CALL(*this, MockNetworkOperationCallback(
- device_path, NETWORK_METHOD_ERROR_NONE, _)).Times(1);
- CrosRequestChangePin(device_path, old_pin, new_pin,
- base::Bind(&CrosNetworkFunctionsTest::MockNetworkOperationCallback,
- base::Unretained(this)));
- // Run saved callback.
- callback.Run();
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosProposeScan) {
- const std::string device_path = "/device/path";
- EXPECT_CALL(*mock_device_client_,
- ProposeScan(dbus::ObjectPath(device_path), _)).Times(1);
- CrosProposeScan(device_path);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosRequestCellularRegister) {
- const std::string device_path = "/device/path";
- const std::string network_id = "networkid";
-
- // Set expectations.
- base::Closure callback;
- EXPECT_CALL(*mock_device_client_,
- Register(dbus::ObjectPath(device_path), network_id, _, _))
- .WillOnce(SaveArg<2>(&callback));
- EXPECT_CALL(*this, MockNetworkOperationCallback(
- device_path, NETWORK_METHOD_ERROR_NONE, _)).Times(1);
- CrosRequestCellularRegister(device_path, network_id,
- base::Bind(&CrosNetworkFunctionsTest::MockNetworkOperationCallback,
- base::Unretained(this)));
- // Run saved callback.
- callback.Run();
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosSetOfflineMode) {
- const bool kOffline = true;
- const base::FundamentalValue value(kOffline);
- EXPECT_CALL(*mock_manager_client_, SetProperty(
- flimflam::kOfflineModeProperty, IsEqualTo(&value), _, _)).Times(1);
- CrosSetOfflineMode(kOffline);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosListIPConfigsAndBlock) {
- const std::string device_path = "/device/path";
- std::string ipconfig_path = "/ipconfig/path";
-
- const IPConfigType kType = IPCONFIG_TYPE_DHCP;
- const std::string address = "address";
- const int kMtu = 123;
- const int kPrefixlen = 24;
- const std::string netmask = "255.255.255.0";
- const std::string broadcast = "broadcast";
- const std::string peer_address = "peer address";
- const std::string gateway = "gateway";
- const std::string domainname = "domainname";
- const std::string name_server1 = "nameserver1";
- const std::string name_server2 = "nameserver2";
- const std::string name_servers = name_server1 + "," + name_server2;
- const std::string hardware_address = "hardware address";
-
- base::ListValue* ipconfigs = new base::ListValue;
- ipconfigs->Append(new base::StringValue(ipconfig_path));
- base::DictionaryValue* device_properties = new base::DictionaryValue;
- device_properties->SetWithoutPathExpansion(
- flimflam::kIPConfigsProperty, ipconfigs);
- device_properties->SetWithoutPathExpansion(
- flimflam::kAddressProperty,
- new base::StringValue(hardware_address));
-
- base::ListValue* name_servers_list = new base::ListValue;
- name_servers_list->Append(new base::StringValue(name_server1));
- name_servers_list->Append(new base::StringValue(name_server2));
- base::DictionaryValue* ipconfig_properties = new base::DictionaryValue;
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kMethodProperty,
- new base::StringValue(flimflam::kTypeDHCP));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kAddressProperty,
- new base::StringValue(address));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kMtuProperty,
- base::Value::CreateIntegerValue(kMtu));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kPrefixlenProperty,
- base::Value::CreateIntegerValue(kPrefixlen));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kBroadcastProperty,
- new base::StringValue(broadcast));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kPeerAddressProperty,
- new base::StringValue(peer_address));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kGatewayProperty,
- new base::StringValue(gateway));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kDomainNameProperty,
- new base::StringValue(domainname));
- ipconfig_properties->SetWithoutPathExpansion(
- flimflam::kNameServersProperty, name_servers_list);
-
- EXPECT_CALL(*mock_device_client_,
- CallGetPropertiesAndBlock(dbus::ObjectPath(device_path)))
- .WillOnce(Return(device_properties));
- EXPECT_CALL(*mock_ipconfig_client_,
- CallGetPropertiesAndBlock(dbus::ObjectPath(ipconfig_path)))
- .WillOnce(Return(ipconfig_properties));
-
- NetworkIPConfigVector result_ipconfigs;
- std::vector<std::string> result_ipconfig_paths;
- std::string result_hardware_address;
- EXPECT_TRUE(
- CrosListIPConfigsAndBlock(device_path,
- &result_ipconfigs,
- &result_ipconfig_paths,
- &result_hardware_address));
-
- EXPECT_EQ(hardware_address, result_hardware_address);
- ASSERT_EQ(1U, result_ipconfigs.size());
- EXPECT_EQ(device_path, result_ipconfigs[0].device_path);
- EXPECT_EQ(kType, result_ipconfigs[0].type);
- EXPECT_EQ(address, result_ipconfigs[0].address);
- EXPECT_EQ(netmask, result_ipconfigs[0].netmask);
- EXPECT_EQ(gateway, result_ipconfigs[0].gateway);
- EXPECT_EQ(name_servers, result_ipconfigs[0].name_servers);
- ASSERT_EQ(1U, result_ipconfig_paths.size());
- EXPECT_EQ(ipconfig_path, result_ipconfig_paths[0]);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosGetWifiAccessPoints) {
- const std::string device_path = "/device/path";
- base::ListValue* devices = new base::ListValue;
- devices->Append(new base::StringValue(device_path));
- base::DictionaryValue* manager_properties = new base::DictionaryValue;
- manager_properties->SetWithoutPathExpansion(
- flimflam::kDevicesProperty, devices);
-
- const int kScanInterval = 42;
- const std::string network_path = "/network/path";
- base::ListValue* networks = new base::ListValue;
- networks->Append(new base::StringValue(network_path));
- base::DictionaryValue* device_properties = new base::DictionaryValue;
- device_properties->SetWithoutPathExpansion(
- flimflam::kNetworksProperty, networks);
- device_properties->SetWithoutPathExpansion(
- flimflam::kPoweredProperty, base::Value::CreateBooleanValue(true));
- device_properties->SetWithoutPathExpansion(
- flimflam::kScanIntervalProperty,
- base::Value::CreateIntegerValue(kScanInterval));
-
- const int kSignalStrength = 10;
- const int kWifiChannel = 3;
- const std::string address = "address";
- const std::string name = "name";
- const base::Time expected_timestamp =
- base::Time::Now() - base::TimeDelta::FromSeconds(kScanInterval);
- const base::TimeDelta acceptable_timestamp_range =
- base::TimeDelta::FromSeconds(1);
-
- base::DictionaryValue* network_properties = new base::DictionaryValue;
- network_properties->SetWithoutPathExpansion(
- flimflam::kAddressProperty, new base::StringValue(address));
- network_properties->SetWithoutPathExpansion(
- flimflam::kNameProperty, new base::StringValue(name));
- network_properties->SetWithoutPathExpansion(
- flimflam::kSignalStrengthProperty,
- base::Value::CreateIntegerValue(kSignalStrength));
- network_properties->SetWithoutPathExpansion(
- flimflam::kWifiChannelProperty,
- base::Value::CreateIntegerValue(kWifiChannel));
-
- // Set expectations.
- EXPECT_CALL(*mock_manager_client_, CallGetPropertiesAndBlock())
- .WillOnce(Return(manager_properties));
- EXPECT_CALL(*mock_device_client_,
- CallGetPropertiesAndBlock(dbus::ObjectPath(device_path)))
- .WillOnce(Return(device_properties));
- EXPECT_CALL(*mock_network_client_,
- CallGetPropertiesAndBlock(dbus::ObjectPath(network_path)))
- .WillOnce(Return(network_properties));
-
- // Call function.
- WifiAccessPointVector aps;
- ASSERT_TRUE(CrosGetWifiAccessPoints(&aps));
- ASSERT_EQ(1U, aps.size());
- EXPECT_EQ(address, aps[0].mac_address);
- EXPECT_EQ(name, aps[0].name);
- EXPECT_LE(expected_timestamp - acceptable_timestamp_range, aps[0].timestamp);
- EXPECT_GE(expected_timestamp + acceptable_timestamp_range, aps[0].timestamp);
- EXPECT_EQ(kSignalStrength, aps[0].signal_strength);
- EXPECT_EQ(kWifiChannel, aps[0].channel);
-}
-
-TEST_F(CrosNetworkFunctionsTest, CrosConfigureService) {
- const std::string key1 = "key1";
- const std::string string1 = "string1";
- const std::string key2 = "key2";
- const std::string string2 = "string2";
- base::DictionaryValue value;
- value.SetString(key1, string1);
- value.SetString(key2, string2);
- EXPECT_CALL(*mock_manager_client_, ConfigureService(IsEqualTo(&value), _, _))
- .Times(1);
- CrosConfigureService(value);
-}
-
-TEST_F(CrosNetworkFunctionsTest, NetmaskToPrefixLength) {
- // Valid netmasks
- EXPECT_EQ(32, CrosNetmaskToPrefixLength("255.255.255.255"));
- EXPECT_EQ(31, CrosNetmaskToPrefixLength("255.255.255.254"));
- EXPECT_EQ(30, CrosNetmaskToPrefixLength("255.255.255.252"));
- EXPECT_EQ(29, CrosNetmaskToPrefixLength("255.255.255.248"));
- EXPECT_EQ(28, CrosNetmaskToPrefixLength("255.255.255.240"));
- EXPECT_EQ(27, CrosNetmaskToPrefixLength("255.255.255.224"));
- EXPECT_EQ(26, CrosNetmaskToPrefixLength("255.255.255.192"));
- EXPECT_EQ(25, CrosNetmaskToPrefixLength("255.255.255.128"));
- EXPECT_EQ(24, CrosNetmaskToPrefixLength("255.255.255.0"));
- EXPECT_EQ(23, CrosNetmaskToPrefixLength("255.255.254.0"));
- EXPECT_EQ(22, CrosNetmaskToPrefixLength("255.255.252.0"));
- EXPECT_EQ(21, CrosNetmaskToPrefixLength("255.255.248.0"));
- EXPECT_EQ(20, CrosNetmaskToPrefixLength("255.255.240.0"));
- EXPECT_EQ(19, CrosNetmaskToPrefixLength("255.255.224.0"));
- EXPECT_EQ(18, CrosNetmaskToPrefixLength("255.255.192.0"));
- EXPECT_EQ(17, CrosNetmaskToPrefixLength("255.255.128.0"));
- EXPECT_EQ(16, CrosNetmaskToPrefixLength("255.255.0.0"));
- EXPECT_EQ(15, CrosNetmaskToPrefixLength("255.254.0.0"));
- EXPECT_EQ(14, CrosNetmaskToPrefixLength("255.252.0.0"));
- EXPECT_EQ(13, CrosNetmaskToPrefixLength("255.248.0.0"));
- EXPECT_EQ(12, CrosNetmaskToPrefixLength("255.240.0.0"));
- EXPECT_EQ(11, CrosNetmaskToPrefixLength("255.224.0.0"));
- EXPECT_EQ(10, CrosNetmaskToPrefixLength("255.192.0.0"));
- EXPECT_EQ(9, CrosNetmaskToPrefixLength("255.128.0.0"));
- EXPECT_EQ(8, CrosNetmaskToPrefixLength("255.0.0.0"));
- EXPECT_EQ(7, CrosNetmaskToPrefixLength("254.0.0.0"));
- EXPECT_EQ(6, CrosNetmaskToPrefixLength("252.0.0.0"));
- EXPECT_EQ(5, CrosNetmaskToPrefixLength("248.0.0.0"));
- EXPECT_EQ(4, CrosNetmaskToPrefixLength("240.0.0.0"));
- EXPECT_EQ(3, CrosNetmaskToPrefixLength("224.0.0.0"));
- EXPECT_EQ(2, CrosNetmaskToPrefixLength("192.0.0.0"));
- EXPECT_EQ(1, CrosNetmaskToPrefixLength("128.0.0.0"));
- EXPECT_EQ(0, CrosNetmaskToPrefixLength("0.0.0.0"));
- // Invalid netmasks
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255.255.255"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255.255.0"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255.256"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255.1"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.240.255"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.0.0.255"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255.255.255.FF"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255,255,255,255"));
- EXPECT_EQ(-1, CrosNetmaskToPrefixLength("255 255 255 255"));
-}
-
-TEST_F(CrosNetworkFunctionsTest, PrefixLengthToNetmask) {
- // Valid Prefix Lengths
- EXPECT_EQ("255.255.255.255", CrosPrefixLengthToNetmask(32));
- EXPECT_EQ("255.255.255.254", CrosPrefixLengthToNetmask(31));
- EXPECT_EQ("255.255.255.252", CrosPrefixLengthToNetmask(30));
- EXPECT_EQ("255.255.255.248", CrosPrefixLengthToNetmask(29));
- EXPECT_EQ("255.255.255.240", CrosPrefixLengthToNetmask(28));
- EXPECT_EQ("255.255.255.224", CrosPrefixLengthToNetmask(27));
- EXPECT_EQ("255.255.255.192", CrosPrefixLengthToNetmask(26));
- EXPECT_EQ("255.255.255.128", CrosPrefixLengthToNetmask(25));
- EXPECT_EQ("255.255.255.0", CrosPrefixLengthToNetmask(24));
- EXPECT_EQ("255.255.254.0", CrosPrefixLengthToNetmask(23));
- EXPECT_EQ("255.255.252.0", CrosPrefixLengthToNetmask(22));
- EXPECT_EQ("255.255.248.0", CrosPrefixLengthToNetmask(21));
- EXPECT_EQ("255.255.240.0", CrosPrefixLengthToNetmask(20));
- EXPECT_EQ("255.255.224.0", CrosPrefixLengthToNetmask(19));
- EXPECT_EQ("255.255.192.0", CrosPrefixLengthToNetmask(18));
- EXPECT_EQ("255.255.128.0", CrosPrefixLengthToNetmask(17));
- EXPECT_EQ("255.255.0.0", CrosPrefixLengthToNetmask(16));
- EXPECT_EQ("255.254.0.0", CrosPrefixLengthToNetmask(15));
- EXPECT_EQ("255.252.0.0", CrosPrefixLengthToNetmask(14));
- EXPECT_EQ("255.248.0.0", CrosPrefixLengthToNetmask(13));
- EXPECT_EQ("255.240.0.0", CrosPrefixLengthToNetmask(12));
- EXPECT_EQ("255.224.0.0", CrosPrefixLengthToNetmask(11));
- EXPECT_EQ("255.192.0.0", CrosPrefixLengthToNetmask(10));
- EXPECT_EQ("255.128.0.0", CrosPrefixLengthToNetmask(9));
- EXPECT_EQ("255.0.0.0", CrosPrefixLengthToNetmask(8));
- EXPECT_EQ("254.0.0.0", CrosPrefixLengthToNetmask(7));
- EXPECT_EQ("252.0.0.0", CrosPrefixLengthToNetmask(6));
- EXPECT_EQ("248.0.0.0", CrosPrefixLengthToNetmask(5));
- EXPECT_EQ("240.0.0.0", CrosPrefixLengthToNetmask(4));
- EXPECT_EQ("224.0.0.0", CrosPrefixLengthToNetmask(3));
- EXPECT_EQ("192.0.0.0", CrosPrefixLengthToNetmask(2));
- EXPECT_EQ("128.0.0.0", CrosPrefixLengthToNetmask(1));
- EXPECT_EQ("0.0.0.0", CrosPrefixLengthToNetmask(0));
- // Invalid Prefix Lengths
- EXPECT_EQ("", CrosPrefixLengthToNetmask(-1));
- EXPECT_EQ("", CrosPrefixLengthToNetmask(33));
- EXPECT_EQ("", CrosPrefixLengthToNetmask(255));
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/cros/cros_network_functions.cc ('k') | chrome/browser/chromeos/cros/network_ip_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698