OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/mobile_config.h" | 5 #include "chrome/browser/chromeos/mobile_config.h" |
6 | 6 |
7 #include "base/time.h" | 7 #include "base/time.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace { | 10 namespace { |
(...skipping 28 matching lines...) Expand all Loading... |
39 " \"notification_text\" : \"3G connectivity : Carrier.\",\n" | 39 " \"notification_text\" : \"3G connectivity : Carrier.\",\n" |
40 " },\n" | 40 " },\n" |
41 " \"default\" : {\n" | 41 " \"default\" : {\n" |
42 " \"notification_text\" : \"default_text.\",\n" | 42 " \"notification_text\" : \"default_text.\",\n" |
43 " },\n" | 43 " },\n" |
44 " },\n" | 44 " },\n" |
45 " },\n" | 45 " },\n" |
46 " ],\n" | 46 " ],\n" |
47 " }," | 47 " }," |
48 " }," | 48 " }," |
| 49 " \"initial_locales\" : {\n" |
| 50 " \"en-US\" : {\n" |
| 51 " \"setup_url\" : \"accounts.carrier.com\",\n" |
| 52 " }," |
| 53 " }," |
49 "}"; | 54 "}"; |
50 | 55 |
51 const char kOldDealMobileConfig[] = | 56 const char kOldDealMobileConfig[] = |
52 "{" | 57 "{" |
53 " \"version\": \"1.0\"," | 58 " \"version\": \"1.0\"," |
54 " \"carriers\" : {\n" | 59 " \"carriers\" : {\n" |
55 " \"Carrier (country)\" : {\n" | 60 " \"Carrier (country)\" : {\n" |
56 " \"top_up_url\" : \"http://www.carrier.com/\",\n" | 61 " \"top_up_url\" : \"http://www.carrier.com/\",\n" |
57 " \"deals\" : [\n" | 62 " \"deals\" : [\n" |
58 " {\n" | 63 " {\n" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 " \"en-GB\" : {\n" | 104 " \"en-GB\" : {\n" |
100 " \"notification_text\" : \"3G connectivity : Carrier.\",\n" | 105 " \"notification_text\" : \"3G connectivity : Carrier.\",\n" |
101 " },\n" | 106 " },\n" |
102 " \"default\" : {\n" | 107 " \"default\" : {\n" |
103 " \"notification_text\" : \"default_text from local.\",\n" | 108 " \"notification_text\" : \"default_text from local.\",\n" |
104 " },\n" | 109 " },\n" |
105 " },\n" | 110 " },\n" |
106 " },\n" | 111 " },\n" |
107 " ],\n" | 112 " ],\n" |
108 " }," | 113 " }," |
109 " }," | 114 " }," |
| 115 " \"initial_locales\" : {\n" |
| 116 " \"en-US\" : {\n" |
| 117 " \"setup_url\" : \"accounts.carrier.com/localized/\",\n" |
| 118 " }," |
| 119 " }," |
110 "}"; | 120 "}"; |
111 | 121 |
112 } // anonymous namespace | 122 } // anonymous namespace |
113 | 123 |
114 namespace chromeos { | 124 namespace chromeos { |
115 | 125 |
116 TEST(MobileConfigTest, Basic) { | 126 TEST(MobileConfigTest, Basic) { |
117 MobileConfig config(kGoodMobileConfig, "en-US"); | 127 MobileConfig config(kGoodMobileConfig, "en-US"); |
118 EXPECT_TRUE(config.IsReady()); | 128 EXPECT_TRUE(config.IsReady()); |
119 | 129 |
(...skipping 12 matching lines...) Expand all Loading... |
132 EXPECT_EQ("en-US", deal->locales()[0]); | 142 EXPECT_EQ("en-US", deal->locales()[0]); |
133 EXPECT_EQ(1, deal->notification_count()); | 143 EXPECT_EQ(1, deal->notification_count()); |
134 EXPECT_EQ("3G connectivity : Carrier.", | 144 EXPECT_EQ("3G connectivity : Carrier.", |
135 deal->GetLocalizedString("en-US", "notification_text")); | 145 deal->GetLocalizedString("en-US", "notification_text")); |
136 EXPECT_EQ("default_text.", | 146 EXPECT_EQ("default_text.", |
137 deal->GetLocalizedString("en", "notification_text")); | 147 deal->GetLocalizedString("en", "notification_text")); |
138 | 148 |
139 base::Time reference_time; | 149 base::Time reference_time; |
140 base::Time::FromString("31/12/12 0:00", &reference_time); | 150 base::Time::FromString("31/12/12 0:00", &reference_time); |
141 EXPECT_EQ(reference_time, deal->expire_date()); | 151 EXPECT_EQ(reference_time, deal->expire_date()); |
| 152 |
| 153 const MobileConfig::LocaleConfig* locale_config; |
| 154 locale_config = config.GetLocaleConfig(); |
| 155 EXPECT_TRUE(locale_config != NULL); |
| 156 EXPECT_EQ("accounts.carrier.com", locale_config->setup_url()); |
| 157 |
| 158 // Check same manifest but with another initial locale. |
| 159 MobileConfig config_uk(kGoodMobileConfig, "en-GB"); |
| 160 EXPECT_TRUE(config_uk.IsReady()); |
| 161 locale_config = config_uk.GetLocaleConfig(); |
| 162 EXPECT_TRUE(locale_config == NULL); |
142 } | 163 } |
143 | 164 |
144 TEST(MobileConfigTest, OldDeal) { | 165 TEST(MobileConfigTest, OldDeal) { |
145 MobileConfig config(kOldDealMobileConfig, "en-US"); | 166 MobileConfig config(kOldDealMobileConfig, "en-US"); |
146 EXPECT_TRUE(config.IsReady()); | 167 EXPECT_TRUE(config.IsReady()); |
147 const MobileConfig::Carrier* carrier; | 168 const MobileConfig::Carrier* carrier; |
148 carrier = config.GetCarrier("Carrier (country)"); | 169 carrier = config.GetCarrier("Carrier (country)"); |
149 EXPECT_TRUE(carrier != NULL); | 170 EXPECT_TRUE(carrier != NULL); |
150 // Check default value. | 171 // Check default value. |
151 EXPECT_EQ(false, carrier->show_portal_button()); | 172 EXPECT_EQ(false, carrier->show_portal_button()); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 EXPECT_TRUE(deal != NULL); | 227 EXPECT_TRUE(deal != NULL); |
207 EXPECT_EQ("en-GB", deal->locales()[0]); | 228 EXPECT_EQ("en-GB", deal->locales()[0]); |
208 EXPECT_EQ(2, deal->notification_count()); | 229 EXPECT_EQ(2, deal->notification_count()); |
209 EXPECT_EQ("3G connectivity : Carrier.", | 230 EXPECT_EQ("3G connectivity : Carrier.", |
210 deal->GetLocalizedString("en-GB", "notification_text")); | 231 deal->GetLocalizedString("en-GB", "notification_text")); |
211 EXPECT_EQ("default_text from local.", | 232 EXPECT_EQ("default_text from local.", |
212 deal->GetLocalizedString("en", "notification_text")); | 233 deal->GetLocalizedString("en", "notification_text")); |
213 base::Time reference_time; | 234 base::Time reference_time; |
214 base::Time::FromString("31/12/13 0:00", &reference_time); | 235 base::Time::FromString("31/12/13 0:00", &reference_time); |
215 EXPECT_EQ(reference_time, deal->expire_date()); | 236 EXPECT_EQ(reference_time, deal->expire_date()); |
| 237 |
| 238 // Now reload same global/local config files but with proper initial locale. |
| 239 MobileConfig config_us(kGoodMobileConfig, "en-US"); |
| 240 EXPECT_TRUE(config_us.IsReady()); |
| 241 config_us.LoadManifestFromString(kLocalMobileConfig); |
| 242 EXPECT_TRUE(config_us.IsReady()); |
| 243 const MobileConfig::LocaleConfig* locale_config; |
| 244 locale_config = config_us.GetLocaleConfig(); |
| 245 EXPECT_TRUE(locale_config != NULL); |
| 246 EXPECT_EQ("accounts.carrier.com/localized/", locale_config->setup_url()); |
216 } | 247 } |
217 | 248 |
218 } // namespace chromeos | 249 } // namespace chromeos |
OLD | NEW |