| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "app/combobox_model.h" | 7 #include "app/combobox_model.h" |
| 8 #include "app/l10n_util.h" | 8 #include "app/l10n_util.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/scoped_ptr.h" | 10 #include "base/scoped_ptr.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 using ::testing::AnyNumber; | 30 using ::testing::AnyNumber; |
| 31 using ::testing::InvokeWithoutArgs; | 31 using ::testing::InvokeWithoutArgs; |
| 32 using ::testing::Return; | 32 using ::testing::Return; |
| 33 using ::testing::ReturnRef; | 33 using ::testing::ReturnRef; |
| 34 using ::testing::_; | 34 using ::testing::_; |
| 35 using ::testing::A; | 35 using ::testing::A; |
| 36 | 36 |
| 37 class NetworkScreenTest : public WizardInProcessBrowserTest { | 37 class NetworkScreenTest : public WizardInProcessBrowserTest { |
| 38 public: | 38 public: |
| 39 NetworkScreenTest(): WizardInProcessBrowserTest("network") { | 39 NetworkScreenTest(): WizardInProcessBrowserTest("network") { |
| 40 cellular_.name = "Cellular network"; | 40 cellular_.set_name("Cellular network"); |
| 41 wifi_.ssid = "WiFi network"; | 41 wifi_.set_name("WiFi network"); |
| 42 } | 42 } |
| 43 | 43 |
| 44 protected: | 44 protected: |
| 45 virtual void SetUpInProcessBrowserTestFixture() { | 45 virtual void SetUpInProcessBrowserTestFixture() { |
| 46 InitStatusAreaMocks(); | 46 InitStatusAreaMocks(); |
| 47 | 47 |
| 48 mock_login_library_ = new MockLoginLibrary(); | 48 mock_login_library_ = new MockLoginLibrary(); |
| 49 test_api()->SetLoginLibrary(mock_login_library_, true); | 49 test_api()->SetLoginLibrary(mock_login_library_, true); |
| 50 EXPECT_CALL(*mock_login_library_, EmitLoginPromptReady()) | 50 EXPECT_CALL(*mock_login_library_, EmitLoginPromptReady()) |
| 51 .Times(1); | 51 .Times(1); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 EXPECT_CALL(*mock_network_library_, wifi_connected()) | 91 EXPECT_CALL(*mock_network_library_, wifi_connected()) |
| 92 .Times(1) | 92 .Times(1) |
| 93 .WillOnce((Return(connected))); | 93 .WillOnce((Return(connected))); |
| 94 EXPECT_CALL(*mock_network_library_, wifi_connecting()) | 94 EXPECT_CALL(*mock_network_library_, wifi_connecting()) |
| 95 .Times(1) | 95 .Times(1) |
| 96 .WillOnce((Return(connecting))); | 96 .WillOnce((Return(connecting))); |
| 97 } | 97 } |
| 98 | 98 |
| 99 void SetupWifiNetwork(bool connected, bool connecting) { | 99 void SetupWifiNetwork(bool connected, bool connecting) { |
| 100 wifi_networks_.clear(); | 100 wifi_networks_.clear(); |
| 101 wifi_.connected = connected; | 101 wifi_.set_connected(connected); |
| 102 wifi_.connecting = connecting; | 102 wifi_.set_connecting(connecting); |
| 103 wifi_networks_.push_back(wifi_); | 103 wifi_networks_.push_back(wifi_); |
| 104 } | 104 } |
| 105 | 105 |
| 106 void SetupCellularNetwork(bool connected, bool connecting) { | 106 void SetupCellularNetwork(bool connected, bool connecting) { |
| 107 cellular_networks_.clear(); | 107 cellular_networks_.clear(); |
| 108 cellular_.connected = connected; | 108 cellular_.set_connected(connected); |
| 109 cellular_.connecting = connecting; | 109 cellular_.set_connecting(connecting); |
| 110 cellular_networks_.push_back(cellular_); | 110 cellular_networks_.push_back(cellular_); |
| 111 } | 111 } |
| 112 | 112 |
| 113 void CellularExpectations(bool connected, bool connecting) { | 113 void CellularExpectations(bool connected, bool connecting) { |
| 114 EXPECT_CALL(*mock_network_library_, cellular_connected()) | 114 EXPECT_CALL(*mock_network_library_, cellular_connected()) |
| 115 .Times(1) | 115 .Times(1) |
| 116 .WillOnce((Return(connected))); | 116 .WillOnce((Return(connected))); |
| 117 EXPECT_CALL(*mock_network_library_, cellular_connecting()) | 117 EXPECT_CALL(*mock_network_library_, cellular_connecting()) |
| 118 .Times(1) | 118 .Times(1) |
| 119 .WillOnce((Return(connecting))); | 119 .WillOnce((Return(connecting))); |
| 120 } | 120 } |
| 121 | 121 |
| 122 void WifiCellularNetworksExpectations() { | 122 void WifiCellularNetworksExpectations() { |
| 123 EXPECT_CALL(*mock_network_library_, wifi_networks()) | 123 EXPECT_CALL(*mock_network_library_, wifi_networks()) |
| 124 .Times(1) | 124 .Times(1) |
| 125 .WillOnce((ReturnRef(wifi_networks_))); | 125 .WillOnce((ReturnRef(wifi_networks_))); |
| 126 EXPECT_CALL(*mock_network_library_, cellular_networks()) | 126 EXPECT_CALL(*mock_network_library_, cellular_networks()) |
| 127 .Times(1) | 127 .Times(1) |
| 128 .WillOnce((ReturnRef(cellular_networks_))); | 128 .WillOnce((ReturnRef(cellular_networks_))); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void WifiSsidExpectation(const std::string& ssid) { | 131 void WifiSsidExpectation(const std::string& ssid) { |
| 132 EXPECT_CALL(*mock_network_library_, wifi_ssid()) | 132 EXPECT_CALL(*mock_network_library_, wifi_name()) |
| 133 .Times(1) | 133 .Times(1) |
| 134 .WillOnce((ReturnRef(ssid))); | 134 .WillOnce((ReturnRef(ssid))); |
| 135 } | 135 } |
| 136 | 136 |
| 137 void CellularNameExpectation(const std::string& name) { | 137 void CellularNameExpectation(const std::string& name) { |
| 138 EXPECT_CALL(*mock_network_library_, cellular_name()) | 138 EXPECT_CALL(*mock_network_library_, cellular_name()) |
| 139 .Times(1) | 139 .Times(1) |
| 140 .WillOnce((ReturnRef(name))); | 140 .WillOnce((ReturnRef(name))); |
| 141 } | 141 } |
| 142 | 142 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), | 193 EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), |
| 194 network_screen->GetItemAt(1)); | 194 network_screen->GetItemAt(1)); |
| 195 | 195 |
| 196 // Ethernet - disconnected, WiFi & Cellular - connected. | 196 // Ethernet - disconnected, WiFi & Cellular - connected. |
| 197 EthernetExpectations(false, false); | 197 EthernetExpectations(false, false); |
| 198 SetupWifiNetwork(true, false); | 198 SetupWifiNetwork(true, false); |
| 199 WifiExpectations(true, false); | 199 WifiExpectations(true, false); |
| 200 SetupCellularNetwork(true, false); | 200 SetupCellularNetwork(true, false); |
| 201 CellularExpectations(true, false); | 201 CellularExpectations(true, false); |
| 202 WifiCellularNetworksExpectations(); | 202 WifiCellularNetworksExpectations(); |
| 203 WifiSsidExpectation(wifi_.ssid); | 203 WifiSsidExpectation(wifi_.name()); |
| 204 CellularNameExpectation(cellular_.name); | 204 CellularNameExpectation(cellular_.name()); |
| 205 network_screen->NetworkChanged(network_library); | 205 network_screen->NetworkChanged(network_library); |
| 206 ASSERT_EQ(network_screen, controller()->current_screen()); | 206 ASSERT_EQ(network_screen, controller()->current_screen()); |
| 207 ASSERT_EQ(3, network_screen->GetItemCount()); | 207 ASSERT_EQ(3, network_screen->GetItemCount()); |
| 208 EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(1)); | 208 EXPECT_EQ(ASCIIToWide(wifi_.name()), network_screen->GetItemAt(1)); |
| 209 EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(2)); | 209 EXPECT_EQ(ASCIIToWide(cellular_.name()), network_screen->GetItemAt(2)); |
| 210 | 210 |
| 211 // Ethernet, WiFi & Cellular - connected. | 211 // Ethernet, WiFi & Cellular - connected. |
| 212 EthernetExpectations(true, false); | 212 EthernetExpectations(true, false); |
| 213 WifiExpectations(true, false); | 213 WifiExpectations(true, false); |
| 214 CellularExpectations(true, false); | 214 CellularExpectations(true, false); |
| 215 WifiCellularNetworksExpectations(); | 215 WifiCellularNetworksExpectations(); |
| 216 WifiSsidExpectation(wifi_.ssid); | 216 WifiSsidExpectation(wifi_.name()); |
| 217 CellularNameExpectation(cellular_.name); | 217 CellularNameExpectation(cellular_.name()); |
| 218 network_screen->NetworkChanged(network_library); | 218 network_screen->NetworkChanged(network_library); |
| 219 ASSERT_EQ(network_screen, controller()->current_screen()); | 219 ASSERT_EQ(network_screen, controller()->current_screen()); |
| 220 ASSERT_EQ(4, network_screen->GetItemCount()); | 220 ASSERT_EQ(4, network_screen->GetItemCount()); |
| 221 EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), | 221 EXPECT_EQ(l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), |
| 222 network_screen->GetItemAt(1)); | 222 network_screen->GetItemAt(1)); |
| 223 EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(2)); | 223 EXPECT_EQ(ASCIIToWide(wifi_.name()), network_screen->GetItemAt(2)); |
| 224 EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(3)); | 224 EXPECT_EQ(ASCIIToWide(cellular_.name()), network_screen->GetItemAt(3)); |
| 225 } | 225 } |
| 226 | 226 |
| 227 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, EthernetSelected) { | 227 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, EthernetSelected) { |
| 228 ASSERT_TRUE(controller()); | 228 ASSERT_TRUE(controller()); |
| 229 NetworkLibrary* network_library = | 229 NetworkLibrary* network_library = |
| 230 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); | 230 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); |
| 231 NetworkScreen* network_screen = controller()->GetNetworkScreen(); | 231 NetworkScreen* network_screen = controller()->GetNetworkScreen(); |
| 232 ASSERT_TRUE(network_screen != NULL); | 232 ASSERT_TRUE(network_screen != NULL); |
| 233 NetworkSelectionView* network_view = network_screen->view(); | 233 NetworkSelectionView* network_view = network_screen->view(); |
| 234 ASSERT_TRUE(network_view != NULL); | 234 ASSERT_TRUE(network_view != NULL); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 ASSERT_TRUE(network_screen != NULL); | 274 ASSERT_TRUE(network_screen != NULL); |
| 275 NetworkSelectionView* network_view = network_screen->view(); | 275 NetworkSelectionView* network_view = network_screen->view(); |
| 276 ASSERT_TRUE(network_view != NULL); | 276 ASSERT_TRUE(network_view != NULL); |
| 277 | 277 |
| 278 EthernetExpectations(false, false); | 278 EthernetExpectations(false, false); |
| 279 SetupWifiNetwork(false, false); | 279 SetupWifiNetwork(false, false); |
| 280 WifiCellularNetworksExpectations(); | 280 WifiCellularNetworksExpectations(); |
| 281 WifiSsidExpectation(std::string()); | 281 WifiSsidExpectation(std::string()); |
| 282 network_screen->NetworkChanged(network_library); | 282 network_screen->NetworkChanged(network_library); |
| 283 ASSERT_EQ(2, network_screen->GetItemCount()); | 283 ASSERT_EQ(2, network_screen->GetItemCount()); |
| 284 EXPECT_EQ(ASCIIToWide(wifi_.ssid), network_screen->GetItemAt(1)); | 284 EXPECT_EQ(ASCIIToWide(wifi_.name()), network_screen->GetItemAt(1)); |
| 285 | 285 |
| 286 DummyComboboxModel combobox_model; | 286 DummyComboboxModel combobox_model; |
| 287 views::Combobox combobox(&combobox_model); | 287 views::Combobox combobox(&combobox_model); |
| 288 | 288 |
| 289 // Emulate combobox selection. | 289 // Emulate combobox selection. |
| 290 EthernetExpectations(false, false); | 290 EthernetExpectations(false, false); |
| 291 WifiCellularNetworksExpectations(); | 291 WifiCellularNetworksExpectations(); |
| 292 WifiSsidExpectation(std::string()); | 292 WifiSsidExpectation(std::string()); |
| 293 network_screen->ItemChanged(&combobox, 0, 1); | 293 network_screen->ItemChanged(&combobox, 0, 1); |
| 294 network_view->SetSelectedNetworkItem(1); | 294 network_view->SetSelectedNetworkItem(1); |
| 295 EXPECT_CALL(*mock_network_library_, | 295 EXPECT_CALL(*mock_network_library_, |
| 296 ConnectToWifiNetwork(A<WifiNetwork>(), string16(), string16(), | 296 ConnectToWifiNetwork(A<WifiNetwork>(), string16(), string16(), |
| 297 string16())) | 297 string16())) |
| 298 .Times(1); | 298 .Times(1); |
| 299 ui_test_utils::RunAllPendingInMessageLoop(); | 299 ui_test_utils::RunAllPendingInMessageLoop(); |
| 300 ASSERT_EQ(2, network_screen->GetItemCount()); | 300 ASSERT_EQ(2, network_screen->GetItemCount()); |
| 301 | 301 |
| 302 // Emulate connecting to WiFi network. | 302 // Emulate connecting to WiFi network. |
| 303 EthernetExpectations(false, false); | 303 EthernetExpectations(false, false); |
| 304 SetupWifiNetwork(false, true); | 304 SetupWifiNetwork(false, true); |
| 305 WifiExpectations(false, true); | 305 WifiExpectations(false, true); |
| 306 WifiCellularNetworksExpectations(); | 306 WifiCellularNetworksExpectations(); |
| 307 WifiSsidExpectation(wifi_.ssid); | 307 WifiSsidExpectation(wifi_.name()); |
| 308 network_screen->NetworkChanged(network_library); | 308 network_screen->NetworkChanged(network_library); |
| 309 ASSERT_EQ(network_screen, controller()->current_screen()); | 309 ASSERT_EQ(network_screen, controller()->current_screen()); |
| 310 | 310 |
| 311 scoped_ptr<MockScreenObserver> mock_screen_observer(new MockScreenObserver()); | 311 scoped_ptr<MockScreenObserver> mock_screen_observer(new MockScreenObserver()); |
| 312 EXPECT_CALL(*mock_screen_observer, | 312 EXPECT_CALL(*mock_screen_observer, |
| 313 OnExit(ScreenObserver::NETWORK_CONNECTED)) | 313 OnExit(ScreenObserver::NETWORK_CONNECTED)) |
| 314 .Times(1); | 314 .Times(1); |
| 315 controller()->set_observer(mock_screen_observer.get()); | 315 controller()->set_observer(mock_screen_observer.get()); |
| 316 | 316 |
| 317 // Emulate connected WiFi network. | 317 // Emulate connected WiFi network. |
| 318 EthernetExpectations(false, false); | 318 EthernetExpectations(false, false); |
| 319 SetupWifiNetwork(true, false); | 319 SetupWifiNetwork(true, false); |
| 320 WifiExpectations(true, false); | 320 WifiExpectations(true, false); |
| 321 WifiCellularNetworksExpectations(); | 321 WifiCellularNetworksExpectations(); |
| 322 WifiSsidExpectation(wifi_.ssid); | 322 WifiSsidExpectation(wifi_.name()); |
| 323 network_screen->NetworkChanged(network_library); | 323 network_screen->NetworkChanged(network_library); |
| 324 ui_test_utils::RunAllPendingInMessageLoop(); | 324 ui_test_utils::RunAllPendingInMessageLoop(); |
| 325 controller()->set_observer(NULL); | 325 controller()->set_observer(NULL); |
| 326 } | 326 } |
| 327 | 327 |
| 328 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, CellularSelected) { | 328 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, CellularSelected) { |
| 329 ASSERT_TRUE(controller()); | 329 ASSERT_TRUE(controller()); |
| 330 NetworkLibrary* network_library = | 330 NetworkLibrary* network_library = |
| 331 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); | 331 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); |
| 332 NetworkScreen* network_screen = controller()->GetNetworkScreen(); | 332 NetworkScreen* network_screen = controller()->GetNetworkScreen(); |
| 333 ASSERT_TRUE(network_screen != NULL); | 333 ASSERT_TRUE(network_screen != NULL); |
| 334 NetworkSelectionView* network_view = network_screen->view(); | 334 NetworkSelectionView* network_view = network_screen->view(); |
| 335 ASSERT_TRUE(network_view != NULL); | 335 ASSERT_TRUE(network_view != NULL); |
| 336 | 336 |
| 337 EthernetExpectations(false, false); | 337 EthernetExpectations(false, false); |
| 338 SetupCellularNetwork(false, false); | 338 SetupCellularNetwork(false, false); |
| 339 WifiCellularNetworksExpectations(); | 339 WifiCellularNetworksExpectations(); |
| 340 CellularNameExpectation(std::string()); | 340 CellularNameExpectation(std::string()); |
| 341 network_screen->NetworkChanged(network_library); | 341 network_screen->NetworkChanged(network_library); |
| 342 ASSERT_EQ(2, network_screen->GetItemCount()); | 342 ASSERT_EQ(2, network_screen->GetItemCount()); |
| 343 EXPECT_EQ(ASCIIToWide(cellular_.name), network_screen->GetItemAt(1)); | 343 EXPECT_EQ(ASCIIToWide(cellular_.name()), network_screen->GetItemAt(1)); |
| 344 | 344 |
| 345 DummyComboboxModel combobox_model; | 345 DummyComboboxModel combobox_model; |
| 346 views::Combobox combobox(&combobox_model); | 346 views::Combobox combobox(&combobox_model); |
| 347 | 347 |
| 348 // Emulate combobox selection. | 348 // Emulate combobox selection. |
| 349 EthernetExpectations(false, false); | 349 EthernetExpectations(false, false); |
| 350 WifiCellularNetworksExpectations(); | 350 WifiCellularNetworksExpectations(); |
| 351 CellularNameExpectation(std::string()); | 351 CellularNameExpectation(std::string()); |
| 352 network_screen->ItemChanged(&combobox, 0, 1); | 352 network_screen->ItemChanged(&combobox, 0, 1); |
| 353 network_view->SetSelectedNetworkItem(1); | 353 network_view->SetSelectedNetworkItem(1); |
| 354 EXPECT_CALL(*mock_network_library_, ConnectToCellularNetwork(_)) | 354 EXPECT_CALL(*mock_network_library_, ConnectToCellularNetwork(_)) |
| 355 .Times(1); | 355 .Times(1); |
| 356 ui_test_utils::RunAllPendingInMessageLoop(); | 356 ui_test_utils::RunAllPendingInMessageLoop(); |
| 357 ASSERT_EQ(2, network_screen->GetItemCount()); | 357 ASSERT_EQ(2, network_screen->GetItemCount()); |
| 358 | 358 |
| 359 // Emulate connecting to cellular network. | 359 // Emulate connecting to cellular network. |
| 360 EthernetExpectations(false, false); | 360 EthernetExpectations(false, false); |
| 361 SetupCellularNetwork(false, true); | 361 SetupCellularNetwork(false, true); |
| 362 CellularExpectations(false, true); | 362 CellularExpectations(false, true); |
| 363 WifiCellularNetworksExpectations(); | 363 WifiCellularNetworksExpectations(); |
| 364 CellularNameExpectation(cellular_.name); | 364 CellularNameExpectation(cellular_.name()); |
| 365 network_screen->NetworkChanged(network_library); | 365 network_screen->NetworkChanged(network_library); |
| 366 ASSERT_EQ(network_screen, controller()->current_screen()); | 366 ASSERT_EQ(network_screen, controller()->current_screen()); |
| 367 | 367 |
| 368 scoped_ptr<MockScreenObserver> mock_screen_observer(new MockScreenObserver()); | 368 scoped_ptr<MockScreenObserver> mock_screen_observer(new MockScreenObserver()); |
| 369 EXPECT_CALL(*mock_screen_observer, | 369 EXPECT_CALL(*mock_screen_observer, |
| 370 OnExit(ScreenObserver::NETWORK_CONNECTED)) | 370 OnExit(ScreenObserver::NETWORK_CONNECTED)) |
| 371 .Times(1); | 371 .Times(1); |
| 372 controller()->set_observer(mock_screen_observer.get()); | 372 controller()->set_observer(mock_screen_observer.get()); |
| 373 | 373 |
| 374 // Emulate connected cellular network. | 374 // Emulate connected cellular network. |
| 375 EthernetExpectations(false, false); | 375 EthernetExpectations(false, false); |
| 376 SetupCellularNetwork(true, false); | 376 SetupCellularNetwork(true, false); |
| 377 CellularExpectations(true, false); | 377 CellularExpectations(true, false); |
| 378 WifiCellularNetworksExpectations(); | 378 WifiCellularNetworksExpectations(); |
| 379 CellularNameExpectation(cellular_.name); | 379 CellularNameExpectation(cellular_.name()); |
| 380 network_screen->NetworkChanged(network_library); | 380 network_screen->NetworkChanged(network_library); |
| 381 ui_test_utils::RunAllPendingInMessageLoop(); | 381 ui_test_utils::RunAllPendingInMessageLoop(); |
| 382 controller()->set_observer(NULL); | 382 controller()->set_observer(NULL); |
| 383 } | 383 } |
| 384 | 384 |
| 385 } // namespace chromeos | 385 } // namespace chromeos |
| OLD | NEW |