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

Unified Diff: chrome/browser/chromeos/tether/tether_service_unittest.cc

Issue 2883283004: Merged Tether and cellular network types in System Tray. (Closed)
Patch Set: fixed failing TetherServiceTest Created 3 years, 6 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
« no previous file with comments | « chrome/browser/chromeos/tether/tether_service.cc ('k') | chromeos/network/network_state_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/tether/tether_service_unittest.cc
diff --git a/chrome/browser/chromeos/tether/tether_service_unittest.cc b/chrome/browser/chromeos/tether/tether_service_unittest.cc
index e2a794f1818e0916bededefbc6b2f3a5fc66ab3a..9eeb259939fb0cdc2d7fded686140dcf46272e78 100644
--- a/chrome/browser/chromeos/tether/tether_service_unittest.cc
+++ b/chrome/browser/chromeos/tether/tether_service_unittest.cc
@@ -173,6 +173,13 @@ class TetherServiceTest : public chromeos::NetworkStateTest {
TECHNOLOGY_AVAILABLE);
}
+ void SetCellularTechnologyStateEnabled(bool enabled) {
+ network_state_handler()->SetTechnologyEnabled(
+ chromeos::NetworkTypePattern::Cellular(), enabled,
+ chromeos::network_handler::ErrorCallback());
+ base::RunLoop().RunUntilIdle();
+ }
+
content::TestBrowserThreadBundle thread_bundle_;
std::unique_ptr<TestingProfile> profile_;
@@ -283,6 +290,72 @@ TEST_F(TetherServiceTest, TestBluetoothIsNotPowered) {
chromeos::NetworkTypePattern::Tether()));
}
+TEST_F(TetherServiceTest, TestCellularIsUnavailable) {
+ test_manager_client()->RemoveTechnology(shill::kTypeCellular);
+ ASSERT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNAVAILABLE,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Cellular()));
+
+ CreateTetherService();
+
+ SetTetherTechnologyStateEnabled(false);
+ EXPECT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+
+ SetTetherTechnologyStateEnabled(true);
+ EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+}
+
+TEST_F(TetherServiceTest, TestCellularIsAvailable) {
+ // TODO (lesliewatkins): Investigate why cellular needs to be removed and
+ // re-added for NetworkStateHandler to return the correct TechnologyState.
+ test_manager_client()->RemoveTechnology(shill::kTypeCellular);
+ test_manager_client()->AddTechnology(shill::kTypeCellular, false);
+
+ CreateTetherService();
+
+ // Cellular disabled
+ SetCellularTechnologyStateEnabled(false);
+ ASSERT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Cellular()));
+
+ SetTetherTechnologyStateEnabled(false);
+ EXPECT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+
+ SetTetherTechnologyStateEnabled(true);
+ EXPECT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+
+ // Cellular enabled
+ SetCellularTechnologyStateEnabled(true);
+ ASSERT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Cellular()));
+
+ SetTetherTechnologyStateEnabled(false);
+ EXPECT_EQ(
+ chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+
+ SetTetherTechnologyStateEnabled(true);
+ EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED,
+ network_state_handler()->GetTechnologyState(
+ chromeos::NetworkTypePattern::Tether()));
+}
+
TEST_F(TetherServiceTest, TestEnabled) {
CreateTetherService();
@@ -312,19 +385,24 @@ TEST_F(TetherServiceTest, TestEnabled) {
// state than the user preference.
TEST_F(TetherServiceTest, TestEnabledMultipleChanges) {
CreateTetherService();
- // CreateTetherService calls RunUntilIdle() so OnBluetoothAdapterFetched()
- // will have been called which calls UpdateTetherTechnologyState().
- EXPECT_EQ(1, tether_service_->updated_technology_state_count());
+ // CreateTetherService calls RunUntilIdle() so UpdateTetherTechnologyState()
+ // may be called multiple times in the initialization process.
+ int updated_technology_state_count =
+ tether_service_->updated_technology_state_count();
SetTetherTechnologyStateEnabled(false);
SetTetherTechnologyStateEnabled(false);
SetTetherTechnologyStateEnabled(false);
- EXPECT_EQ(2, tether_service_->updated_technology_state_count());
+ updated_technology_state_count++;
+ EXPECT_EQ(updated_technology_state_count,
+ tether_service_->updated_technology_state_count());
SetTetherTechnologyStateEnabled(true);
SetTetherTechnologyStateEnabled(true);
SetTetherTechnologyStateEnabled(true);
- EXPECT_EQ(3, tether_service_->updated_technology_state_count());
+ updated_technology_state_count++;
+ EXPECT_EQ(updated_technology_state_count,
+ tether_service_->updated_technology_state_count());
}
« no previous file with comments | « chrome/browser/chromeos/tether/tether_service.cc ('k') | chromeos/network/network_state_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698