shill: cellular: Support Cellular.ProviderRequiresRoaming property.
BUG=chromium-os:32872
TEST=unit test, tested on device through list-devices and different SIMs.
CQ-DEPEND=I0df0b718bdecc7225fff7e67589ac5d31d593d1b
Change-Id: Idc957e3deb94ad8fcd511c933cc2bb0fbe4f31d1
Reviewed-on: https://gerrit.chromium.org/gerrit/33774
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability_universal_unittest.cc b/cellular_capability_universal_unittest.cc
index 3c57ba3..5f0cc2e 100644
--- a/cellular_capability_universal_unittest.cc
+++ b/cellular_capability_universal_unittest.cc
@@ -774,16 +774,31 @@
ASSERT_EQ(capability_->GetTypeString(), "");
}
+TEST_F(CellularCapabilityUniversalTest, AllowRoaming) {
+ EXPECT_FALSE(cellular_->allow_roaming_);
+ EXPECT_FALSE(capability_->provider_requires_roaming_);
+ EXPECT_FALSE(capability_->AllowRoaming());
+ capability_->provider_requires_roaming_ = true;
+ EXPECT_TRUE(capability_->AllowRoaming());
+ capability_->provider_requires_roaming_ = false;
+ cellular_->allow_roaming_ = true;
+ EXPECT_TRUE(capability_->AllowRoaming());
+}
+
TEST_F(CellularCapabilityUniversalTest, SetHomeProvider) {
static const char kTestCarrier[] = "The Cellular Carrier";
static const char kCountry[] = "us";
static const char kCode[] = "310160";
capability_->imsi_ = "310240123456789";
+ EXPECT_FALSE(capability_->home_provider_);
+ EXPECT_FALSE(capability_->provider_requires_roaming_);
+
capability_->SetHomeProvider(); // No mobile provider DB available.
EXPECT_TRUE(cellular_->home_provider().GetName().empty());
EXPECT_TRUE(cellular_->home_provider().GetCountry().empty());
EXPECT_TRUE(cellular_->home_provider().GetCode().empty());
+ EXPECT_FALSE(capability_->provider_requires_roaming_);
InitProviderDB();
capability_->SetHomeProvider();
@@ -792,7 +807,7 @@
EXPECT_EQ(kCode, cellular_->home_provider().GetCode());
EXPECT_EQ(4, capability_->apn_list_.size());
ASSERT_TRUE(capability_->home_provider_);
- EXPECT_FALSE(capability_->home_provider_->requires_roaming);
+ EXPECT_FALSE(capability_->provider_requires_roaming_);
Cellular::Operator oper;
cellular_->set_home_provider(oper);
@@ -801,6 +816,7 @@
EXPECT_EQ(kTestCarrier, cellular_->home_provider().GetName());
EXPECT_EQ(kCountry, cellular_->home_provider().GetCountry());
EXPECT_EQ(kCode, cellular_->home_provider().GetCode());
+ EXPECT_FALSE(capability_->provider_requires_roaming_);
static const char kCubic[] = "Cubic";
capability_->spn_ = kCubic;
@@ -808,7 +824,7 @@
EXPECT_EQ(kCubic, cellular_->home_provider().GetName());
EXPECT_EQ("", cellular_->home_provider().GetCode());
ASSERT_TRUE(capability_->home_provider_);
- EXPECT_TRUE(capability_->home_provider_->requires_roaming);
+ EXPECT_TRUE(capability_->provider_requires_roaming_);
static const char kCUBIC[] = "CUBIC";
capability_->spn_ = kCUBIC;
@@ -817,7 +833,7 @@
EXPECT_EQ(kCUBIC, cellular_->home_provider().GetName());
EXPECT_EQ("", cellular_->home_provider().GetCode());
ASSERT_TRUE(capability_->home_provider_);
- EXPECT_TRUE(capability_->home_provider_->requires_roaming);
+ EXPECT_TRUE(capability_->provider_requires_roaming_);
}
TEST_F(CellularCapabilityUniversalTest, UpdateOperatorInfo) {