| 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 2c5c8e69430d14b100cfde80efe53e65f95a09a0..b95831735bbf7bd9b90981660d30772869d3d778 100644
|
| --- a/chrome/browser/chromeos/tether/tether_service_unittest.cc
|
| +++ b/chrome/browser/chromeos/tether/tether_service_unittest.cc
|
| @@ -169,6 +169,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_;
|
| @@ -278,6 +285,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();
|
|
|
|
|