Chromium Code Reviews| Index: third_party/libaddressinput/chromium/cpp/test/rule_test.cc |
| diff --git a/third_party/libaddressinput/chromium/cpp/test/rule_test.cc b/third_party/libaddressinput/chromium/cpp/test/rule_test.cc |
| index 7f7609f11b20f27baccc201b337345f5953d3659..14eb3687d2f3a84e453e049dd1290f8236585965 100644 |
| --- a/third_party/libaddressinput/chromium/cpp/test/rule_test.cc |
| +++ b/third_party/libaddressinput/chromium/cpp/test/rule_test.cc |
| @@ -41,20 +41,27 @@ using i18n::addressinput::STREET_ADDRESS; |
| TEST(RuleTest, CopyOverwritesRule) { |
| Rule rule; |
| - ASSERT_TRUE(rule.ParseSerializedRule("{" |
| - "\"fmt\":\"%S%Z\"," |
| - "\"state_name_type\":\"area\"," |
| - "\"zip_name_type\":\"postal\"," |
| - "\"sub_keys\":\"CA~NY~TX\"," |
| - "\"lang\":\"en\"," |
| - "\"languages\":\"en~fr\"" |
| - "}")); |
| + ASSERT_TRUE(rule.ParseSerializedRule( |
| + "{" |
| + "\"fmt\":\"%S%Z\"," |
| + "\"require\":\"SZ\"," |
| + "\"state_name_type\":\"area\"," |
| + "\"zip_name_type\":\"postal\"," |
| + "\"sub_keys\":\"CA~NY~TX\"," |
| + "\"lang\":\"en\"," |
| + "\"languages\":\"en~fr\"," |
| + "\"zipex\":\"95014,22162-1010\"," |
| + "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"," |
| + "\"posturl\":\"https://tools.usps.com/go/ZipLookupAction!input.action\"" |
| + "}")); |
| Rule copy; |
| EXPECT_NE(rule.GetFormat(), copy.GetFormat()); |
| + EXPECT_NE(rule.GetRequired(), copy.GetRequired()); |
| EXPECT_NE(rule.GetSubKeys(), copy.GetSubKeys()); |
| EXPECT_NE(rule.GetLanguages(), copy.GetLanguages()); |
| EXPECT_NE(rule.GetLanguage(), copy.GetLanguage()); |
| + EXPECT_NE(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); |
| EXPECT_NE(rule.GetAdminAreaNameMessageId(), |
| copy.GetAdminAreaNameMessageId()); |
| EXPECT_NE(rule.GetPostalCodeNameMessageId(), |
| @@ -62,9 +69,11 @@ TEST(RuleTest, CopyOverwritesRule) { |
| copy.CopyFrom(rule); |
| EXPECT_EQ(rule.GetFormat(), copy.GetFormat()); |
| + EXPECT_EQ(rule.GetRequired(), copy.GetRequired()); |
| EXPECT_EQ(rule.GetSubKeys(), copy.GetSubKeys()); |
| EXPECT_EQ(rule.GetLanguages(), copy.GetLanguages()); |
| EXPECT_EQ(rule.GetLanguage(), copy.GetLanguage()); |
| + EXPECT_EQ(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); |
| EXPECT_EQ(rule.GetAdminAreaNameMessageId(), |
| copy.GetAdminAreaNameMessageId()); |
| EXPECT_EQ(rule.GetPostalCodeNameMessageId(), |
| @@ -73,35 +82,49 @@ TEST(RuleTest, CopyOverwritesRule) { |
| TEST(RuleTest, ParseOverwritesRule) { |
| Rule rule; |
| - ASSERT_TRUE(rule.ParseSerializedRule("{" |
| - "\"fmt\":\"%S%Z\"," |
| - "\"state_name_type\":\"area\"," |
| - "\"zip_name_type\":\"postal\"," |
| - "\"sub_keys\":\"CA~NY~TX\"," |
| - "\"lang\":\"en\"," |
| - "\"languages\":\"en~fr\"" |
| - "}")); |
| + ASSERT_TRUE(rule.ParseSerializedRule( |
| + "{" |
| + "\"fmt\":\"%S%Z\"," |
| + "\"require\":\"SZ\"," |
| + "\"state_name_type\":\"area\"," |
| + "\"zip_name_type\":\"postal\"," |
| + "\"sub_keys\":\"CA~NY~TX\"," |
| + "\"lang\":\"en\"," |
| + "\"languages\":\"en~fr\"," |
| + "\"zipex\":\"95014,22162-1010\"," |
| + "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"," |
| + "\"posturl\":\"https://tools.usps.com/go/ZipLookupAction!input.action\"" |
| + "}")); |
| EXPECT_FALSE(rule.GetFormat().empty()); |
| + EXPECT_FALSE(rule.GetRequired().empty()); |
| EXPECT_FALSE(rule.GetSubKeys().empty()); |
| EXPECT_FALSE(rule.GetLanguages().empty()); |
| EXPECT_FALSE(rule.GetLanguage().empty()); |
| + EXPECT_FALSE(rule.GetPostalCodeFormat().empty()); |
| EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_AREA, |
| rule.GetAdminAreaNameMessageId()); |
| EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_POSTAL_CODE_LABEL, |
| rule.GetPostalCodeNameMessageId()); |
| - ASSERT_TRUE(rule.ParseSerializedRule("{" |
| - "\"fmt\":\"\"," |
| - "\"state_name_type\":\"do_si\"," |
| - "\"zip_name_type\":\"zip\"," |
| - "\"sub_keys\":\"\"," |
| - "\"lang\":\"\"," |
| - "\"languages\":\"\"" |
| - "}")); |
| + ASSERT_TRUE(rule.ParseSerializedRule( |
| + "{" |
| + "\"fmt\":\"\"," |
| + "\"require\":\"\"," |
| + "\"state_name_type\":\"do_si\"," |
| + "\"zip_name_type\":\"zip\"," |
| + "\"sub_keys\":\"\"," |
| + "\"lang\":\"\"," |
| + "\"languages\":\"\"," |
| + "\"zipex\":\"\"," |
| + "\"zip\":\"\"," |
| + "\"posturl\":\"\"" |
| + "}")); |
| EXPECT_TRUE(rule.GetFormat().empty()); |
| + EXPECT_TRUE(rule.GetRequired().empty()); |
| EXPECT_TRUE(rule.GetSubKeys().empty()); |
| EXPECT_TRUE(rule.GetLanguages().empty()); |
| EXPECT_TRUE(rule.GetLanguage().empty()); |
| + EXPECT_TRUE(rule.GetPostalCodeFormat().empty()); |
| EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_DO_SI, |
| rule.GetAdminAreaNameMessageId()); |
| EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_ZIP_CODE_LABEL, |
| @@ -115,6 +138,13 @@ TEST(RuleTest, ParsesFormatCorrectly) { |
| EXPECT_EQ(ADMIN_AREA, rule.GetFormat()[0]); |
| } |
| +TEST(RuleTest, ParsesRequiredFieldsCorrectly) { |
|
Evan Stade
2013/12/17 19:47:24
this doesn't seem like a very thorough test. Would
please use gerrit instead
2013/12/18 00:57:50
Added these tests.
|
| + Rule rule; |
| + ASSERT_TRUE(rule.ParseSerializedRule("{\"require\":\"S\"}")); |
| + ASSERT_EQ(1, rule.GetRequired().size()); |
| + EXPECT_EQ(ADMIN_AREA, rule.GetRequired()[0]); |
| +} |
| + |
| TEST(RuleTest, ParsesSubKeysCorrectly) { |
| Rule rule; |
| ASSERT_TRUE(rule.ParseSerializedRule("{\"sub_keys\":\"CA~NY~TX\"}")); |
| @@ -141,6 +171,15 @@ TEST(RuleTest, ParsesLanguagesCorrectly) { |
| EXPECT_EQ(expected, rule.GetLanguages()); |
| } |
| +TEST(RuleTest, ParsesPostalCodeFormatCorrectly) { |
| + Rule rule; |
| + ASSERT_TRUE(rule.ParseSerializedRule( |
| + "{" |
| + "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" |
| + "}")); |
| + EXPECT_EQ("\\d{5}([ \\-]\\d{4})?", rule.GetPostalCodeFormat()); |
| +} |
| + |
| TEST(RuleTest, EmptyStringIsNotValid) { |
| Rule rule; |
| EXPECT_FALSE(rule.ParseSerializedRule(std::string())); |