summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authornkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 09:33:54 +0000
committernkostylev@google.com <nkostylev@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 09:33:54 +0000
commitc1208955d917893498df863506eb636b8849c27e (patch)
tree31dab1a7504564062af6ef0bc1e5d3d82a3d0dfe /chrome/browser/chromeos
parent58d404d35390c0ebbfd914adf7fd53901b59a9dd (diff)
downloadchromium_src-c1208955d917893498df863506eb636b8849c27e.zip
chromium_src-c1208955d917893498df863506eb636b8849c27e.tar.gz
chromium_src-c1208955d917893498df863506eb636b8849c27e.tar.bz2
Add remaining test cases for NetworkScreen.
Connecting Ethernet & Cellular network test cases. Fix language library mock warning for CrosInProcessBrowserTest (SetImeConfig). BUG=crosbug.com/2037 TEST=out/Debug/browser_tests --gtest_filter=NetworkScreenTest* Review URL: http://codereview.chromium.org/1604005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43465 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r--chrome/browser/chromeos/cros/cros_in_process_browser_test.cc4
-rw-r--r--chrome/browser/chromeos/login/network_screen_browsertest.cc147
-rw-r--r--chrome/browser/chromeos/network_list.cc8
3 files changed, 116 insertions, 43 deletions
diff --git a/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc b/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc
index a3f8b64..724987b 100644
--- a/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc
+++ b/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc
@@ -112,6 +112,10 @@ void CrosInProcessBrowserTest::SetLanguageLibraryStatusAreaExpectations() {
.Times(1)
.WillOnce((ReturnRef(language_)))
.RetiresOnSaturation();
+ EXPECT_CALL(*mock_language_library_, SetImeConfig(_, _, _))
+ .Times(1)
+ .WillOnce((Return(true)))
+ .RetiresOnSaturation();
EXPECT_CALL(*mock_language_library_, RemoveObserver(_))
.Times(1)
.RetiresOnSaturation();
diff --git a/chrome/browser/chromeos/login/network_screen_browsertest.cc b/chrome/browser/chromeos/login/network_screen_browsertest.cc
index c2fc808..e151e83 100644
--- a/chrome/browser/chromeos/login/network_screen_browsertest.cc
+++ b/chrome/browser/chromeos/login/network_screen_browsertest.cc
@@ -37,6 +37,8 @@ using ::testing::A;
class NetworkScreenTest : public WizardInProcessBrowserTest {
public:
NetworkScreenTest(): WizardInProcessBrowserTest("network") {
+ cellular_.name = "Cellular network";
+ wifi_.ssid = "WiFi network";
}
protected:
@@ -78,10 +80,10 @@ class NetworkScreenTest : public WizardInProcessBrowserTest {
void EthernetExpectations(bool connected, bool connecting) {
EXPECT_CALL(*mock_network_library_, ethernet_connected())
- .Times(connected ? 2 : 1)
+ .Times(1)
.WillRepeatedly((Return(connected)));
EXPECT_CALL(*mock_network_library_, ethernet_connecting())
- .Times(connecting ? 2 : 1)
+ .Times(1)
.WillRepeatedly((Return(connecting)));
}
@@ -94,6 +96,20 @@ class NetworkScreenTest : public WizardInProcessBrowserTest {
.WillOnce((Return(connecting)));
}
+ void SetupWifiNetwork(bool connected, bool connecting) {
+ wifi_networks_.clear();
+ wifi_.connected = connected;
+ wifi_.connecting = connecting;
+ wifi_networks_.push_back(wifi_);
+ }
+
+ void SetupCellularNetwork(bool connected, bool connecting) {
+ cellular_networks_.clear();
+ cellular_.connected = connected;
+ cellular_.connecting = connecting;
+ cellular_networks_.push_back(cellular_);
+ }
+
void CellularExpectations(bool connected, bool connecting) {
EXPECT_CALL(*mock_network_library_, cellular_connected())
.Times(1)
@@ -129,6 +145,9 @@ class NetworkScreenTest : public WizardInProcessBrowserTest {
CellularNetworkVector cellular_networks_;
WifiNetworkVector wifi_networks_;
+ CellularNetwork cellular_;
+ WifiNetwork wifi_;
+
private:
DISALLOW_COPY_AND_ASSIGN(NetworkScreenTest);
};
@@ -174,44 +193,35 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, NetworksConnectedNotSelected) {
EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET),
network_screen->GetItemAt(1));
- std::string wifi_ssid("WiFi network");
- WifiNetwork wifi;
- wifi.connected = true;
- wifi.ssid = wifi_ssid;
- wifi_networks_.push_back(wifi);
- std::string cellular_name("Cellular network");
- CellularNetwork cellular;
- cellular.connected = true;
- cellular.name = cellular_name;
- cellular_networks_.push_back(cellular);
-
// Ethernet - disconnected, WiFi & Cellular - connected.
EthernetExpectations(false, false);
+ SetupWifiNetwork(true, false);
WifiExpectations(true, false);
+ SetupCellularNetwork(true, false);
CellularExpectations(true, false);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(wifi_ssid);
- CellularNameExpectation(cellular_name);
+ WifiSsidExpectation(wifi_.ssid);
+ CellularNameExpectation(cellular_.name);
network_screen->NetworkChanged(network_library);
ASSERT_EQ(network_screen, controller()->current_screen());
ASSERT_EQ(3, network_screen->GetItemCount());
- EXPECT_EQ(ASCIIToWide(wifi_ssid), network_screen->GetItemAt(1));
- EXPECT_EQ(ASCIIToWide(cellular_name), network_screen->GetItemAt(2));
+ EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(1));
+ EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(2));
// Ethernet, WiFi & Cellular - connected.
EthernetExpectations(true, false);
WifiExpectations(true, false);
CellularExpectations(true, false);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(wifi_ssid);
- CellularNameExpectation(cellular_name);
+ WifiSsidExpectation(wifi_.ssid);
+ CellularNameExpectation(cellular_.name);
network_screen->NetworkChanged(network_library);
ASSERT_EQ(network_screen, controller()->current_screen());
ASSERT_EQ(4, network_screen->GetItemCount());
EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET),
network_screen->GetItemAt(1));
- EXPECT_EQ(ASCIIToWide(wifi_ssid), network_screen->GetItemAt(2));
- EXPECT_EQ(ASCIIToWide(cellular_name), network_screen->GetItemAt(3));
+ EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(2));
+ EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(3));
}
IN_PROC_BROWSER_TEST_F(NetworkScreenTest, EthernetSelected) {
@@ -223,10 +233,21 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, EthernetSelected) {
NetworkSelectionView* network_view = network_screen->view();
ASSERT_TRUE(network_view != NULL);
+ // Emulate connecting to Ethernet.
+ EthernetExpectations(false, true);
+ WifiCellularNetworksExpectations();
+ network_screen->NetworkChanged(network_library);
+ ASSERT_EQ(2, network_screen->GetItemCount());
+ EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET),
+ network_screen->GetItemAt(1));
+ ASSERT_EQ(network_screen, controller()->current_screen());
+
+ // Emulate connected Ethernet.
EthernetExpectations(true, false);
WifiCellularNetworksExpectations();
network_screen->NetworkChanged(network_library);
ASSERT_EQ(2, network_screen->GetItemCount());
+ ASSERT_EQ(network_screen, controller()->current_screen());
DummyComboboxModel combobox_model;
views::Combobox combobox(&combobox_model);
@@ -254,17 +275,13 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, WifiSelected) {
NetworkSelectionView* network_view = network_screen->view();
ASSERT_TRUE(network_view != NULL);
- std::string empty_string;
- std::string wifi_ssid("WiFi network");
- WifiNetwork wifi;
- wifi.ssid = wifi_ssid;
- wifi_networks_.push_back(wifi);
EthernetExpectations(false, false);
+ SetupWifiNetwork(false, false);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(empty_string);
+ WifiSsidExpectation(std::string());
network_screen->NetworkChanged(network_library);
ASSERT_EQ(2, network_screen->GetItemCount());
- EXPECT_EQ(ASCIIToWide(wifi_ssid), network_screen->GetItemAt(1));
+ EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(1));
DummyComboboxModel combobox_model;
views::Combobox combobox(&combobox_model);
@@ -272,7 +289,7 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, WifiSelected) {
// Emulate combobox selection.
EthernetExpectations(false, false);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(empty_string);
+ WifiSsidExpectation(std::string());
network_screen->ItemChanged(&combobox, 0, 1);
network_view->SetSelectedNetworkItem(1);
EXPECT_CALL(*mock_network_library_,
@@ -281,14 +298,12 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, WifiSelected) {
ui_test_utils::RunAllPendingInMessageLoop();
ASSERT_EQ(2, network_screen->GetItemCount());
- // Emulate connecting WiFi network.
- wifi_networks_.clear();
- wifi.connecting = true;
- wifi_networks_.push_back(wifi);
+ // Emulate connecting to WiFi network.
EthernetExpectations(false, false);
+ SetupWifiNetwork(false, true);
WifiExpectations(false, true);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(wifi_ssid);
+ WifiSsidExpectation(wifi_.ssid);
network_screen->NetworkChanged(network_library);
ASSERT_EQ(network_screen, controller()->current_screen());
@@ -299,14 +314,68 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, WifiSelected) {
controller()->set_observer(mock_screen_observer.get());
// Emulate connected WiFi network.
- wifi_networks_.clear();
- wifi.connecting = false;
- wifi.connected = true;
- wifi_networks_.push_back(wifi);
EthernetExpectations(false, false);
+ SetupWifiNetwork(true, false);
WifiExpectations(true, false);
WifiCellularNetworksExpectations();
- WifiSsidExpectation(wifi_ssid);
+ WifiSsidExpectation(wifi_.ssid);
+ network_screen->NetworkChanged(network_library);
+ ui_test_utils::RunAllPendingInMessageLoop();
+ controller()->set_observer(NULL);
+}
+
+IN_PROC_BROWSER_TEST_F(NetworkScreenTest, CellularSelected) {
+ ASSERT_TRUE(controller());
+ NetworkLibrary* network_library =
+ chromeos::CrosLibrary::Get()->GetNetworkLibrary();
+ NetworkScreen* network_screen = controller()->GetNetworkScreen();
+ ASSERT_TRUE(network_screen != NULL);
+ NetworkSelectionView* network_view = network_screen->view();
+ ASSERT_TRUE(network_view != NULL);
+
+ EthernetExpectations(false, false);
+ SetupCellularNetwork(false, false);
+ WifiCellularNetworksExpectations();
+ CellularNameExpectation(std::string());
+ network_screen->NetworkChanged(network_library);
+ ASSERT_EQ(2, network_screen->GetItemCount());
+ EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(1));
+
+ DummyComboboxModel combobox_model;
+ views::Combobox combobox(&combobox_model);
+
+ // Emulate combobox selection.
+ EthernetExpectations(false, false);
+ WifiCellularNetworksExpectations();
+ CellularNameExpectation(std::string());
+ network_screen->ItemChanged(&combobox, 0, 1);
+ network_view->SetSelectedNetworkItem(1);
+ EXPECT_CALL(*mock_network_library_, ConnectToCellularNetwork(_))
+ .Times(1);
+ ui_test_utils::RunAllPendingInMessageLoop();
+ ASSERT_EQ(2, network_screen->GetItemCount());
+
+ // Emulate connecting to cellular network.
+ EthernetExpectations(false, false);
+ SetupCellularNetwork(false, true);
+ CellularExpectations(false, true);
+ WifiCellularNetworksExpectations();
+ CellularNameExpectation(cellular_.name);
+ network_screen->NetworkChanged(network_library);
+ ASSERT_EQ(network_screen, controller()->current_screen());
+
+ scoped_ptr<MockScreenObserver> mock_screen_observer(new MockScreenObserver());
+ EXPECT_CALL(*mock_screen_observer,
+ OnExit(ScreenObserver::NETWORK_CONNECTED))
+ .Times(1);
+ controller()->set_observer(mock_screen_observer.get());
+
+ // Emulate connected cellular network.
+ EthernetExpectations(false, false);
+ SetupCellularNetwork(true, false);
+ CellularExpectations(true, false);
+ WifiCellularNetworksExpectations();
+ CellularNameExpectation(cellular_.name);
network_screen->NetworkChanged(network_library);
ui_test_utils::RunAllPendingInMessageLoop();
controller()->set_observer(NULL);
diff --git a/chrome/browser/chromeos/network_list.cc b/chrome/browser/chromeos/network_list.cc
index 0d8b0d9..fdc4794 100644
--- a/chrome/browser/chromeos/network_list.cc
+++ b/chrome/browser/chromeos/network_list.cc
@@ -84,16 +84,16 @@ void NetworkList::NetworkChanged(chromeos::NetworkLibrary* network_lib) {
if (!network_lib || !CrosLibrary::Get()->EnsureLoaded())
return;
- if (network_lib->ethernet_connected() || network_lib->ethernet_connecting()) {
+ bool ethernet_connected = network_lib->ethernet_connected();
+ bool ethernet_connecting = network_lib->ethernet_connecting();
+ if (ethernet_connected || ethernet_connecting) {
string16 label = l10n_util::GetStringUTF16(
IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
networks_.push_back(NetworkItem(NETWORK_ETHERNET,
label,
WifiNetwork(),
CellularNetwork()));
- SetNetworksIndices(index++,
- network_lib->ethernet_connected(),
- network_lib->ethernet_connecting());
+ SetNetworksIndices(index++, ethernet_connected, ethernet_connecting);
}
// TODO(nkostylev): Show public WiFi networks first.