summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/mobile_config_unittest.cc
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 15:02:37 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 15:02:37 +0000
commit407506007d92417e517d6b98d3187c69e6af54fa (patch)
treeac7dd6fd3ea0ed0231739ddbdc49acc7c872a591 /chrome/browser/chromeos/mobile_config_unittest.cc
parent203620c86ff86a8e1f0e50c0a09574399477c450 (diff)
downloadchromium_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.cc79
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