diff options
author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 15:02:37 +0000 |
---|---|---|
committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-06 15:02:37 +0000 |
commit | 407506007d92417e517d6b98d3187c69e6af54fa (patch) | |
tree | ac7dd6fd3ea0ed0231739ddbdc49acc7c872a591 /chrome/browser/chromeos/mobile_config_unittest.cc | |
parent | 203620c86ff86a8e1f0e50c0a09574399477c450 (diff) | |
download | chromium_src-407506007d92417e517d6b98d3187c69e6af54fa.zip chromium_src-407506007d92417e517d6b98d3187c69e6af54fa.tar.gz chromium_src-407506007d92417e517d6b98d3187c69e6af54fa.tar.bz2 |
[cros] Add support for local carrier config.
BUG=chrome-os-partner:5764
TEST=Manual.
Review URL: http://codereview.chromium.org/7800037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99739 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/mobile_config_unittest.cc')
-rw-r--r-- | chrome/browser/chromeos/mobile_config_unittest.cc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/mobile_config_unittest.cc b/chrome/browser/chromeos/mobile_config_unittest.cc index 4500a29..bc24774 100644 --- a/chrome/browser/chromeos/mobile_config_unittest.cc +++ b/chrome/browser/chromeos/mobile_config_unittest.cc @@ -73,6 +73,41 @@ const char kOldDealMobileConfig[] = " }," "}"; +const char kLocalMobileConfigNoDeals[] = + "{" + " \"version\": \"1.0\"," + " \"exclude_deals\": true," + " \"carriers\" : {\n" + " }," + "}"; + +const char kLocalMobileConfig[] = + "{" + " \"version\": \"1.0\"," + " \"carriers\" : {\n" + " \"carrier (country)\" : {\n" + " \"exclude_deals\": true," + " \"top_up_url\" : \"http://www.carrier-new-url.com/\",\n" + " \"deals\" : [\n" + " {\n" + " \"deal_id\" : \"1\",\n" + " \"locales\" : [ \"en-GB\", ],\n" + " \"expire_date\" : \"31/12/13 0:0\",\n" + " \"notification_count\" : 2,\n" + " \"localized_content\" : {\n" + " \"en-GB\" : {\n" + " \"notification_text\" : \"3G connectivity : Carrier.\",\n" + " },\n" + " \"default\" : {\n" + " \"notification_text\" : \"default_text from local.\",\n" + " },\n" + " },\n" + " },\n" + " ],\n" + " }," + " }," + "}"; + } // anonymous namespace namespace chromeos { @@ -132,4 +167,48 @@ TEST(MobileConfigTest, BadManifest) { EXPECT_FALSE(config.IsReady()); } +TEST(MobileConfigTest, LocalConfigNoDeals) { + MobileConfig config(kGoodMobileConfig, "en-US"); + EXPECT_TRUE(config.IsReady()); + config.LoadManifestFromString(kLocalMobileConfigNoDeals); + EXPECT_TRUE(config.IsReady()); + const MobileConfig::Carrier* carrier; + carrier = config.GetCarrier("Carrier (country)"); + EXPECT_TRUE(carrier != NULL); + const MobileConfig::CarrierDeal* deal; + deal = carrier->GetDefaultDeal(); + EXPECT_TRUE(deal == NULL); + deal = carrier->GetDeal("0"); + EXPECT_TRUE(deal == NULL); +} + +TEST(MobileConfigTest, LocalConfig) { + MobileConfig config(kGoodMobileConfig, "en-GB"); + EXPECT_TRUE(config.IsReady()); + config.LoadManifestFromString(kLocalMobileConfig); + EXPECT_TRUE(config.IsReady()); + + const MobileConfig::Carrier* carrier; + carrier = config.GetCarrier("Carrier (country)"); + EXPECT_TRUE(carrier != NULL); + EXPECT_EQ("http://www.carrier-new-url.com/", carrier->top_up_url()); + + const MobileConfig::CarrierDeal* deal; + deal = carrier->GetDeal("0"); + EXPECT_TRUE(deal == NULL); + deal = carrier->GetDefaultDeal(); + EXPECT_TRUE(deal != NULL); + deal = carrier->GetDeal("1"); + EXPECT_TRUE(deal != NULL); + EXPECT_EQ("en-GB", deal->locales()[0]); + EXPECT_EQ(2, deal->notification_count()); + EXPECT_EQ("3G connectivity : Carrier.", + deal->GetLocalizedString("en-GB", "notification_text")); + EXPECT_EQ("default_text from local.", + deal->GetLocalizedString("en", "notification_text")); + base::Time reference_time; + base::Time::FromString("31/12/13 0:00", &reference_time); + EXPECT_EQ(reference_time, deal->expire_date()); +} + } // namespace chromeos |