| OLD | NEW |
| 1 // Copyright (C) 2013 Google Inc. | 1 // Copyright (C) 2013 Google Inc. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 // See the License for the specific language governing permissions and | 12 // See the License for the specific language governing permissions and |
| 13 // limitations under the License. | 13 // limitations under the License. |
| 14 | 14 |
| 15 #include "rule.h" | 15 #include "rule.h" |
| 16 | 16 |
| 17 #include <libaddressinput/address_field.h> | 17 #include <libaddressinput/address_field.h> |
| 18 | 18 |
| 19 #include <string> | 19 #include <string> |
| 20 #include <utility> | 20 #include <utility> |
| 21 #include <vector> | 21 #include <vector> |
| 22 | 22 |
| 23 #include <gtest/gtest.h> | 23 #include <gtest/gtest.h> |
| 24 | 24 |
| 25 #include "grit/libaddressinput_strings.h" | |
| 26 #include "region_data_constants.h" | 25 #include "region_data_constants.h" |
| 27 | 26 |
| 28 namespace { | 27 namespace { |
| 29 | 28 |
| 30 using i18n::addressinput::AddressField; | 29 using i18n::addressinput::AddressField; |
| 31 using i18n::addressinput::ADMIN_AREA; | 30 using i18n::addressinput::ADMIN_AREA; |
| 32 using i18n::addressinput::COUNTRY; | 31 using i18n::addressinput::COUNTRY; |
| 33 using i18n::addressinput::FormatElement; | 32 using i18n::addressinput::FormatElement; |
| 34 using i18n::addressinput::LOCALITY; | 33 using i18n::addressinput::LOCALITY; |
| 35 using i18n::addressinput::ORGANIZATION; | 34 using i18n::addressinput::ORGANIZATION; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 65 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" | 64 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" |
| 66 "}")); | 65 "}")); |
| 67 | 66 |
| 68 Rule copy; | 67 Rule copy; |
| 69 EXPECT_NE(rule.GetFormat(), copy.GetFormat()); | 68 EXPECT_NE(rule.GetFormat(), copy.GetFormat()); |
| 70 EXPECT_NE(rule.GetRequired(), copy.GetRequired()); | 69 EXPECT_NE(rule.GetRequired(), copy.GetRequired()); |
| 71 EXPECT_NE(rule.GetSubKeys(), copy.GetSubKeys()); | 70 EXPECT_NE(rule.GetSubKeys(), copy.GetSubKeys()); |
| 72 EXPECT_NE(rule.GetLanguages(), copy.GetLanguages()); | 71 EXPECT_NE(rule.GetLanguages(), copy.GetLanguages()); |
| 73 EXPECT_NE(rule.GetLanguage(), copy.GetLanguage()); | 72 EXPECT_NE(rule.GetLanguage(), copy.GetLanguage()); |
| 74 EXPECT_NE(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); | 73 EXPECT_NE(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); |
| 75 EXPECT_NE(rule.GetAdminAreaNameMessageId(), | 74 EXPECT_NE(rule.GetAdminAreaNameType(), |
| 76 copy.GetAdminAreaNameMessageId()); | 75 copy.GetAdminAreaNameType()); |
| 77 EXPECT_NE(rule.GetInvalidAdminAreaMessageId(), | 76 EXPECT_NE(rule.GetPostalCodeNameType(), |
| 78 copy.GetInvalidAdminAreaMessageId()); | 77 copy.GetPostalCodeNameType()); |
| 79 EXPECT_NE(rule.GetPostalCodeNameMessageId(), | |
| 80 copy.GetPostalCodeNameMessageId()); | |
| 81 EXPECT_NE(rule.GetInvalidPostalCodeMessageId(), | |
| 82 copy.GetInvalidPostalCodeMessageId()); | |
| 83 | 78 |
| 84 copy.CopyFrom(rule); | 79 copy.CopyFrom(rule); |
| 85 EXPECT_EQ(rule.GetFormat(), copy.GetFormat()); | 80 EXPECT_EQ(rule.GetFormat(), copy.GetFormat()); |
| 86 EXPECT_EQ(rule.GetRequired(), copy.GetRequired()); | 81 EXPECT_EQ(rule.GetRequired(), copy.GetRequired()); |
| 87 EXPECT_EQ(rule.GetSubKeys(), copy.GetSubKeys()); | 82 EXPECT_EQ(rule.GetSubKeys(), copy.GetSubKeys()); |
| 88 EXPECT_EQ(rule.GetLanguages(), copy.GetLanguages()); | 83 EXPECT_EQ(rule.GetLanguages(), copy.GetLanguages()); |
| 89 EXPECT_EQ(rule.GetLanguage(), copy.GetLanguage()); | 84 EXPECT_EQ(rule.GetLanguage(), copy.GetLanguage()); |
| 90 EXPECT_EQ(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); | 85 EXPECT_EQ(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); |
| 91 EXPECT_EQ(rule.GetAdminAreaNameMessageId(), | 86 EXPECT_EQ(rule.GetAdminAreaNameType(), |
| 92 copy.GetAdminAreaNameMessageId()); | 87 copy.GetAdminAreaNameType()); |
| 93 EXPECT_EQ(rule.GetInvalidAdminAreaMessageId(), | 88 EXPECT_EQ(rule.GetPostalCodeNameType(), |
| 94 copy.GetInvalidAdminAreaMessageId()); | 89 copy.GetPostalCodeNameType()); |
| 95 EXPECT_EQ(rule.GetPostalCodeNameMessageId(), | |
| 96 copy.GetPostalCodeNameMessageId()); | |
| 97 EXPECT_EQ(rule.GetInvalidPostalCodeMessageId(), | |
| 98 copy.GetInvalidPostalCodeMessageId()); | |
| 99 } | 90 } |
| 100 | 91 |
| 101 TEST(RuleTest, ParseOverwritesRule) { | 92 TEST(RuleTest, ParseOverwritesRule) { |
| 102 Rule rule; | 93 Rule rule; |
| 103 ASSERT_TRUE(rule.ParseSerializedRule( | 94 ASSERT_TRUE(rule.ParseSerializedRule( |
| 104 "{" | 95 "{" |
| 105 "\"fmt\":\"%S%Z\"," | 96 "\"fmt\":\"%S%Z\"," |
| 106 "\"require\":\"SZ\"," | 97 "\"require\":\"SZ\"," |
| 107 "\"state_name_type\":\"area\"," | 98 "\"state_name_type\":\"area\"," |
| 108 "\"zip_name_type\":\"postal\"," | 99 "\"zip_name_type\":\"postal\"," |
| 109 "\"sub_keys\":\"CA~NY~TX\"," | 100 "\"sub_keys\":\"CA~NY~TX\"," |
| 110 "\"lang\":\"en\"," | 101 "\"lang\":\"en\"," |
| 111 "\"languages\":\"en~fr\"," | 102 "\"languages\":\"en~fr\"," |
| 112 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" | 103 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" |
| 113 "}")); | 104 "}")); |
| 114 EXPECT_FALSE(IsFormatEmpty(rule.GetFormat())); | 105 EXPECT_FALSE(IsFormatEmpty(rule.GetFormat())); |
| 115 EXPECT_FALSE(rule.GetRequired().empty()); | 106 EXPECT_FALSE(rule.GetRequired().empty()); |
| 116 EXPECT_FALSE(rule.GetSubKeys().empty()); | 107 EXPECT_FALSE(rule.GetSubKeys().empty()); |
| 117 EXPECT_FALSE(rule.GetLanguages().empty()); | 108 EXPECT_FALSE(rule.GetLanguages().empty()); |
| 118 EXPECT_FALSE(rule.GetLanguage().empty()); | 109 EXPECT_FALSE(rule.GetLanguage().empty()); |
| 119 EXPECT_FALSE(rule.GetPostalCodeFormat().empty()); | 110 EXPECT_FALSE(rule.GetPostalCodeFormat().empty()); |
| 120 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_AREA, | 111 EXPECT_EQ("area", rule.GetAdminAreaNameType()); |
| 121 rule.GetAdminAreaNameMessageId()); | 112 EXPECT_EQ("postal", rule.GetPostalCodeNameType()); |
| 122 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_INVALID_AREA, | |
| 123 rule.GetInvalidAdminAreaMessageId()); | |
| 124 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_POSTAL_CODE_LABEL, | |
| 125 rule.GetPostalCodeNameMessageId()); | |
| 126 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_INVALID_POSTAL_CODE_LABEL, | |
| 127 rule.GetInvalidPostalCodeMessageId()); | |
| 128 | 113 |
| 129 ASSERT_TRUE(rule.ParseSerializedRule( | 114 ASSERT_TRUE(rule.ParseSerializedRule( |
| 130 "{" | 115 "{" |
| 131 "\"fmt\":\"\"," | 116 "\"fmt\":\"\"," |
| 132 "\"require\":\"\"," | 117 "\"require\":\"\"," |
| 133 "\"state_name_type\":\"do_si\"," | 118 "\"state_name_type\":\"do_si\"," |
| 134 "\"zip_name_type\":\"zip\"," | 119 "\"zip_name_type\":\"zip\"," |
| 135 "\"sub_keys\":\"\"," | 120 "\"sub_keys\":\"\"," |
| 136 "\"lang\":\"\"," | 121 "\"lang\":\"\"," |
| 137 "\"languages\":\"\"," | 122 "\"languages\":\"\"," |
| 138 "\"zip\":\"\"" | 123 "\"zip\":\"\"" |
| 139 "}")); | 124 "}")); |
| 140 EXPECT_TRUE(IsFormatEmpty(rule.GetFormat())); | 125 EXPECT_TRUE(IsFormatEmpty(rule.GetFormat())); |
| 141 EXPECT_TRUE(rule.GetRequired().empty()); | 126 EXPECT_TRUE(rule.GetRequired().empty()); |
| 142 EXPECT_TRUE(rule.GetSubKeys().empty()); | 127 EXPECT_TRUE(rule.GetSubKeys().empty()); |
| 143 EXPECT_TRUE(rule.GetLanguages().empty()); | 128 EXPECT_TRUE(rule.GetLanguages().empty()); |
| 144 EXPECT_TRUE(rule.GetLanguage().empty()); | 129 EXPECT_TRUE(rule.GetLanguage().empty()); |
| 145 EXPECT_TRUE(rule.GetPostalCodeFormat().empty()); | 130 EXPECT_TRUE(rule.GetPostalCodeFormat().empty()); |
| 146 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_DO_SI, | 131 EXPECT_EQ("do_si", rule.GetAdminAreaNameType()); |
| 147 rule.GetAdminAreaNameMessageId()); | 132 EXPECT_EQ("zip", rule.GetPostalCodeNameType()); |
| 148 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_INVALID_DO_SI, | |
| 149 rule.GetInvalidAdminAreaMessageId()); | |
| 150 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_ZIP_CODE_LABEL, | |
| 151 rule.GetPostalCodeNameMessageId()); | |
| 152 EXPECT_EQ(IDS_LIBADDRESSINPUT_I18N_INVALID_ZIP_CODE_LABEL, | |
| 153 rule.GetInvalidPostalCodeMessageId()); | |
| 154 } | 133 } |
| 155 | 134 |
| 156 TEST(RuleTest, ParseEmptyDataDoesNotOverwriteRule) { | 135 TEST(RuleTest, ParseEmptyDataDoesNotOverwriteRule) { |
| 157 Rule rule; | 136 Rule rule; |
| 158 ASSERT_TRUE(rule.ParseSerializedRule( | 137 ASSERT_TRUE(rule.ParseSerializedRule( |
| 159 "{" | 138 "{" |
| 160 "\"fmt\":\"%S%Z\"," | 139 "\"fmt\":\"%S%Z\"," |
| 161 "\"require\":\"SZ\"," | 140 "\"require\":\"SZ\"," |
| 162 "\"state_name_type\":\"area\"," | 141 "\"state_name_type\":\"area\"," |
| 163 "\"zip_name_type\":\"postal\"," | 142 "\"zip_name_type\":\"postal\"," |
| 164 "\"sub_keys\":\"CA~NY~TX\"," | 143 "\"sub_keys\":\"CA~NY~TX\"," |
| 165 "\"lang\":\"en\"," | 144 "\"lang\":\"en\"," |
| 166 "\"languages\":\"en~fr\"," | 145 "\"languages\":\"en~fr\"," |
| 167 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" | 146 "\"zip\":\"\\\\d{5}([ \\\\-]\\\\d{4})?\"" |
| 168 "}")); | 147 "}")); |
| 169 | 148 |
| 170 Rule copy; | 149 Rule copy; |
| 171 copy.CopyFrom(rule); | 150 copy.CopyFrom(rule); |
| 172 ASSERT_TRUE(copy.ParseSerializedRule("{}")); | 151 ASSERT_TRUE(copy.ParseSerializedRule("{}")); |
| 173 | 152 |
| 174 EXPECT_EQ(rule.GetFormat(), copy.GetFormat()); | 153 EXPECT_EQ(rule.GetFormat(), copy.GetFormat()); |
| 175 EXPECT_EQ(rule.GetRequired(), copy.GetRequired()); | 154 EXPECT_EQ(rule.GetRequired(), copy.GetRequired()); |
| 176 EXPECT_EQ(rule.GetSubKeys(), copy.GetSubKeys()); | 155 EXPECT_EQ(rule.GetSubKeys(), copy.GetSubKeys()); |
| 177 EXPECT_EQ(rule.GetLanguages(), copy.GetLanguages()); | 156 EXPECT_EQ(rule.GetLanguages(), copy.GetLanguages()); |
| 178 EXPECT_EQ(rule.GetLanguage(), copy.GetLanguage()); | 157 EXPECT_EQ(rule.GetLanguage(), copy.GetLanguage()); |
| 179 EXPECT_EQ(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); | 158 EXPECT_EQ(rule.GetPostalCodeFormat(), copy.GetPostalCodeFormat()); |
| 180 EXPECT_EQ(rule.GetAdminAreaNameMessageId(), | 159 EXPECT_EQ(rule.GetAdminAreaNameType(), |
| 181 copy.GetAdminAreaNameMessageId()); | 160 copy.GetAdminAreaNameType()); |
| 182 EXPECT_EQ(rule.GetInvalidAdminAreaMessageId(), | 161 EXPECT_EQ(rule.GetPostalCodeNameType(), |
| 183 copy.GetInvalidAdminAreaMessageId()); | 162 copy.GetPostalCodeNameType()); |
| 184 EXPECT_EQ(rule.GetPostalCodeNameMessageId(), | |
| 185 copy.GetPostalCodeNameMessageId()); | |
| 186 EXPECT_EQ(rule.GetInvalidPostalCodeMessageId(), | |
| 187 copy.GetInvalidPostalCodeMessageId()); | |
| 188 } | 163 } |
| 189 | 164 |
| 190 TEST(RuleTest, ParseFormatWithNewLines) { | 165 TEST(RuleTest, ParseFormatWithNewLines) { |
| 191 Rule rule; | 166 Rule rule; |
| 192 ASSERT_TRUE( | 167 ASSERT_TRUE( |
| 193 rule.ParseSerializedRule("{\"fmt\":\"%O%n%N%n%A%nAX-%Z %C%nÅLAND\"}")); | 168 rule.ParseSerializedRule("{\"fmt\":\"%O%n%N%n%A%nAX-%Z %C%nÅLAND\"}")); |
| 194 | 169 |
| 195 std::vector<std::vector<FormatElement> > expected_format; | 170 std::vector<std::vector<FormatElement> > expected_format; |
| 196 expected_format.push_back( | 171 expected_format.push_back( |
| 197 std::vector<FormatElement>(1, FormatElement(ORGANIZATION))); | 172 std::vector<FormatElement>(1, FormatElement(ORGANIZATION))); |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 // Keep input latin. | 320 // Keep input latin. |
| 346 EXPECT_TRUE(rule.CanonicalizeSubKey("Bartopolis2", true, &sub_key)); | 321 EXPECT_TRUE(rule.CanonicalizeSubKey("Bartopolis2", true, &sub_key)); |
| 347 EXPECT_EQ("Bartopolis2", sub_key); | 322 EXPECT_EQ("Bartopolis2", sub_key); |
| 348 sub_key.clear(); | 323 sub_key.clear(); |
| 349 | 324 |
| 350 EXPECT_FALSE(rule.CanonicalizeSubKey("Beertopia", false, &sub_key)); | 325 EXPECT_FALSE(rule.CanonicalizeSubKey("Beertopia", false, &sub_key)); |
| 351 EXPECT_EQ("", sub_key); | 326 EXPECT_EQ("", sub_key); |
| 352 } | 327 } |
| 353 | 328 |
| 354 struct LabelData { | 329 struct LabelData { |
| 355 LabelData(const std::string& data, int name_id, int error_id) | 330 LabelData(const std::string& data, const std::string& name_type) |
| 356 : data(data), name_id(name_id), error_id(error_id) {} | 331 : data(data), name_type(name_type) {} |
| 357 | 332 |
| 358 ~LabelData() {} | 333 ~LabelData() {} |
| 359 | 334 |
| 360 std::string data; | 335 std::string data; |
| 361 int name_id; | 336 std::string name_type; |
| 362 int error_id; | |
| 363 }; | 337 }; |
| 364 | 338 |
| 365 // Tests for parsing the postal code name. | 339 // Tests for parsing the postal code name. |
| 366 class PostalCodeNameParseTest : public testing::TestWithParam<LabelData> { | 340 class PostalCodeNameParseTest : public testing::TestWithParam<LabelData> { |
| 367 protected: | 341 protected: |
| 368 Rule rule_; | 342 Rule rule_; |
| 369 }; | 343 }; |
| 370 | 344 |
| 371 // Verifies that a postal code name is parsed correctly. | 345 // Verifies that a postal code name is parsed correctly. |
| 372 TEST_P(PostalCodeNameParseTest, ParsedCorrectly) { | 346 TEST_P(PostalCodeNameParseTest, ParsedCorrectly) { |
| 373 ASSERT_TRUE(rule_.ParseSerializedRule(GetParam().data)); | 347 ASSERT_TRUE(rule_.ParseSerializedRule(GetParam().data)); |
| 374 EXPECT_EQ(GetParam().name_id, rule_.GetPostalCodeNameMessageId()); | 348 EXPECT_EQ(GetParam().name_type, rule_.GetPostalCodeNameType()); |
| 375 EXPECT_EQ(GetParam().error_id, rule_.GetInvalidPostalCodeMessageId()); | |
| 376 EXPECT_EQ(GetParam().error_id, rule_.GetInvalidFieldMessageId(POSTAL_CODE)); | |
| 377 } | 349 } |
| 378 | 350 |
| 379 // Test parsing all postal code names. | 351 // Test parsing all postal code names. |
| 380 INSTANTIATE_TEST_CASE_P( | 352 INSTANTIATE_TEST_CASE_P( |
| 381 AllPostalCodeNames, PostalCodeNameParseTest, | 353 AllPostalCodeNames, PostalCodeNameParseTest, |
| 382 testing::Values( | 354 testing::Values( |
| 383 LabelData("{\"zip_name_type\":\"postal\"}", | 355 LabelData("{\"zip_name_type\":\"postal\"}", "postal"), |
| 384 IDS_LIBADDRESSINPUT_I18N_POSTAL_CODE_LABEL, | 356 LabelData("{\"zip_name_type\":\"zip\"}", "zip"))); |
| 385 IDS_LIBADDRESSINPUT_I18N_INVALID_POSTAL_CODE_LABEL), | |
| 386 LabelData("{\"zip_name_type\":\"zip\"}", | |
| 387 IDS_LIBADDRESSINPUT_I18N_ZIP_CODE_LABEL, | |
| 388 IDS_LIBADDRESSINPUT_I18N_INVALID_ZIP_CODE_LABEL))); | |
| 389 | 357 |
| 390 // Tests for parsing the administrative area name. | 358 // Tests for parsing the administrative area name. |
| 391 class AdminAreaNameParseTest : public testing::TestWithParam<LabelData> { | 359 class AdminAreaNameParseTest : public testing::TestWithParam<LabelData> { |
| 392 protected: | 360 protected: |
| 393 Rule rule_; | 361 Rule rule_; |
| 394 }; | 362 }; |
| 395 | 363 |
| 396 // Verifies that an administrative area name is parsed correctly. | 364 // Verifies that an administrative area name is parsed correctly. |
| 397 TEST_P(AdminAreaNameParseTest, ParsedCorrectly) { | 365 TEST_P(AdminAreaNameParseTest, ParsedCorrectly) { |
| 398 ASSERT_TRUE(rule_.ParseSerializedRule(GetParam().data)); | 366 ASSERT_TRUE(rule_.ParseSerializedRule(GetParam().data)); |
| 399 EXPECT_EQ(GetParam().name_id, rule_.GetAdminAreaNameMessageId()); | 367 EXPECT_EQ(GetParam().name_type, rule_.GetAdminAreaNameType()); |
| 400 EXPECT_EQ(GetParam().error_id, rule_.GetInvalidAdminAreaMessageId()); | |
| 401 EXPECT_EQ(GetParam().error_id, rule_.GetInvalidFieldMessageId(ADMIN_AREA)); | |
| 402 } | 368 } |
| 403 | 369 |
| 404 // Test parsing all administrative area names. | 370 // Test parsing all administrative area names. |
| 405 INSTANTIATE_TEST_CASE_P( | 371 INSTANTIATE_TEST_CASE_P( |
| 406 AllAdminAreaNames, AdminAreaNameParseTest, | 372 AllAdminAreaNames, AdminAreaNameParseTest, |
| 407 testing::Values( | 373 testing::Values( |
| 408 LabelData("{\"state_name_type\":\"area\"}", | 374 LabelData("{\"state_name_type\":\"area\"}", "area"), |
| 409 IDS_LIBADDRESSINPUT_I18N_AREA, | 375 LabelData("{\"state_name_type\":\"county\"}", "county"), |
| 410 IDS_LIBADDRESSINPUT_I18N_INVALID_AREA), | 376 LabelData("{\"state_name_type\":\"department\"}", "department"), |
| 411 LabelData("{\"state_name_type\":\"county\"}", | 377 LabelData("{\"state_name_type\":\"district\"}", "district"), |
| 412 IDS_LIBADDRESSINPUT_I18N_COUNTY_LABEL, | 378 LabelData("{\"state_name_type\":\"do_si\"}", "do_si"), |
| 413 IDS_LIBADDRESSINPUT_I18N_INVALID_COUNTY_LABEL), | 379 LabelData("{\"state_name_type\":\"emirate\"}", "emirate"), |
| 414 LabelData("{\"state_name_type\":\"department\"}", | 380 LabelData("{\"state_name_type\":\"island\"}", "island"), |
| 415 IDS_LIBADDRESSINPUT_I18N_DEPARTMENT, | 381 LabelData("{\"state_name_type\":\"parish\"}", "parish"), |
| 416 IDS_LIBADDRESSINPUT_I18N_INVALID_DEPARTMENT), | 382 LabelData("{\"state_name_type\":\"prefecture\"}", "prefecture"), |
| 417 LabelData("{\"state_name_type\":\"district\"}", | 383 LabelData("{\"state_name_type\":\"province\"}", "province"), |
| 418 IDS_LIBADDRESSINPUT_I18N_DEPENDENT_LOCALITY_LABEL, | 384 LabelData("{\"state_name_type\":\"state\"}", "state"))); |
| 419 IDS_LIBADDRESSINPUT_I18N_INVALID_DEPENDENT_LOCALITY_LABEL), | |
| 420 LabelData("{\"state_name_type\":\"do_si\"}", | |
| 421 IDS_LIBADDRESSINPUT_I18N_DO_SI, | |
| 422 IDS_LIBADDRESSINPUT_I18N_INVALID_DO_SI), | |
| 423 LabelData("{\"state_name_type\":\"emirate\"}", | |
| 424 IDS_LIBADDRESSINPUT_I18N_EMIRATE, | |
| 425 IDS_LIBADDRESSINPUT_I18N_INVALID_EMIRATE), | |
| 426 LabelData("{\"state_name_type\":\"island\"}", | |
| 427 IDS_LIBADDRESSINPUT_I18N_ISLAND, | |
| 428 IDS_LIBADDRESSINPUT_I18N_INVALID_ISLAND), | |
| 429 LabelData("{\"state_name_type\":\"parish\"}", | |
| 430 IDS_LIBADDRESSINPUT_I18N_PARISH, | |
| 431 IDS_LIBADDRESSINPUT_I18N_INVALID_PARISH), | |
| 432 LabelData("{\"state_name_type\":\"prefecture\"}", | |
| 433 IDS_LIBADDRESSINPUT_I18N_PREFECTURE, | |
| 434 IDS_LIBADDRESSINPUT_I18N_INVALID_PREFECTURE), | |
| 435 LabelData("{\"state_name_type\":\"province\"}", | |
| 436 IDS_LIBADDRESSINPUT_I18N_PROVINCE, | |
| 437 IDS_LIBADDRESSINPUT_I18N_INVALID_PROVINCE), | |
| 438 LabelData("{\"state_name_type\":\"state\"}", | |
| 439 IDS_LIBADDRESSINPUT_I18N_STATE_LABEL, | |
| 440 IDS_LIBADDRESSINPUT_I18N_INVALID_STATE_LABEL))); | |
| 441 | 385 |
| 442 // Verifies that an address format does not contain consecutive lines with | 386 // Verifies that an address format does not contain consecutive lines with |
| 443 // multiple fields each. Such address format (e.g. {{ELEMENT, ELEMENT}, | 387 // multiple fields each. Such address format (e.g. {{ELEMENT, ELEMENT}, |
| 444 // {ELEMENT, ELEMENT}}) will result in incorrect behavior of BuildComponents() | 388 // {ELEMENT, ELEMENT}}) will result in incorrect behavior of BuildComponents() |
| 445 // public API. | 389 // public API. |
| 446 TEST(RuleParseTest, ConsecutiveLinesWithMultipleFields) { | 390 TEST(RuleParseTest, ConsecutiveLinesWithMultipleFields) { |
| 447 const std::vector<std::string>& region_codes = | 391 const std::vector<std::string>& region_codes = |
| 448 RegionDataConstants::GetRegionCodes(); | 392 RegionDataConstants::GetRegionCodes(); |
| 449 Rule rule; | 393 Rule rule; |
| 450 for (size_t i = 0; i < region_codes.size(); ++i) { | 394 for (size_t i = 0; i < region_codes.size(); ++i) { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 !line_it->at(i + 1).IsField() && | 449 !line_it->at(i + 1).IsField() && |
| 506 line_it->at(i + 1).literal == " "; | 450 line_it->at(i + 1).literal == " "; |
| 507 EXPECT_TRUE(surrounded_by_newlines || surrounded_by_spaces); | 451 EXPECT_TRUE(surrounded_by_newlines || surrounded_by_spaces); |
| 508 } | 452 } |
| 509 } | 453 } |
| 510 } | 454 } |
| 511 } | 455 } |
| 512 } | 456 } |
| 513 | 457 |
| 514 } // namespace | 458 } // namespace |
| OLD | NEW |