Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(628)

Unified Diff: third_party/libaddressinput/chromium/cpp/test/rule_test.cc

Issue 106763007: [rac] Parse postal code formats and required fields in libaddressinput. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Omit postal code examples and URL. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()));

Powered by Google App Engine
This is Rietveld 408576698