Chromium Code Reviews| Index: third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc |
| diff --git a/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc b/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc |
| index 8fa508a81418fa972d3415baa00d5dc47821dfb8..a08a5aeb185b359eeddab19f5d1089e2e95288b4 100644 |
| --- a/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc |
| +++ b/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc |
| @@ -75,7 +75,8 @@ TEST(AddressUiTest, RegionsAndComponentsAreValid) { |
| for (size_t i = 0; i < region_codes.size(); ++i) { |
| SCOPED_TRACE("Region code: " + region_codes[i]); |
| EXPECT_EQ(2U, region_codes[i].size()); |
| - EXPECT_TRUE(ComponentsAreValid(BuildComponents(region_codes[i]))); |
| + EXPECT_TRUE(ComponentsAreValid( |
| + BuildComponents(region_codes[i], std::string(), NULL))); |
| EXPECT_FALSE(GetRequiredFields(region_codes[i]).empty()); |
| } |
| } |
| @@ -83,7 +84,8 @@ TEST(AddressUiTest, RegionsAndComponentsAreValid) { |
| // Verifies that BuildComponents() and GetRequiredFields() return an empty |
| // vector for an invalid region code. |
| TEST(AddressUiTest, InvalidRegionCodeReturnsEmptyVector) { |
| - EXPECT_TRUE(BuildComponents("INVALID-REGION-CODE").empty()); |
| + EXPECT_TRUE( |
| + BuildComponents("INVALID-REGION-CODE", std::string(), NULL).empty()); |
| EXPECT_TRUE(GetRequiredFields("INVALID-REGION-CODE").empty()); |
| } |
| @@ -119,6 +121,66 @@ INSTANTIATE_TEST_CASE_P( |
| SeparatorData("th", " "), |
| SeparatorData("en", ", "))); |
| +struct LanguageCodeData { |
| + LanguageCodeData(const std::string& region_code, |
| + const std::string& ui_language_code, |
| + const std::string& components_language_code) |
| + : region_code(region_code), |
| + ui_language_code(ui_language_code), |
| + components_language_code(components_language_code) {} |
| + |
| + ~LanguageCodeData() {} |
| + |
| + std::string region_code; |
| + std::string ui_language_code; |
| + std::string components_language_code; |
| +}; |
| + |
| +std::ostream& operator<<(std::ostream& out, const LanguageCodeData& data) { |
| + out << "(" << data.region_code << ", " << data.ui_language_code << ", " |
| + << data.components_language_code << ")"; |
| + return out; |
| +} |
| + |
| +// Tests for component language code. |
| +class ComponentLanguageCodeTest |
| + : public testing::TestWithParam<LanguageCodeData> {}; |
| + |
| +TEST_P(ComponentLanguageCodeTest, BasicTest) { |
| + std::string components_language_code; |
| + EXPECT_FALSE(BuildComponents(GetParam().region_code, |
| + GetParam().ui_language_code, |
| + &components_language_code).empty()); |
| + EXPECT_EQ(GetParam().components_language_code, components_language_code); |
| +} |
| + |
| +INSTANTIATE_TEST_CASE_P( |
|
Evan Stade
2014/03/21 23:44:54
you know I disdain test_case_p
please use gerrit instead
2014/03/22 01:34:30
Replaced with an array of structs.
|
| + ComponentLanguageCodes, ComponentLanguageCodeTest, |
| + testing::Values( |
| + LanguageCodeData("AM", "hy", "hy"), |
| + LanguageCodeData("AM", "en", "hy-latn"), |
| + LanguageCodeData("CN", "zh-hans", "zh-hans"), |
| + LanguageCodeData("CN", "zh-hant", "zh-hant"), |
| + LanguageCodeData("CN", "zh", "zh"), |
| + LanguageCodeData("CN", "zh-latn", "zh-latn"), |
| + LanguageCodeData("CN", "en", "zh-latn"), |
| + LanguageCodeData("CN", "ja", "zh-latn"), |
| + LanguageCodeData("CN", "ko", "zh-latn"), |
| + LanguageCodeData("HK", "zh", "zh"), |
| + LanguageCodeData("HK", "zh-hans", "zh-hans"), |
| + LanguageCodeData("HK", "zh-hant", "zh-hant"), |
| + LanguageCodeData("HK", "zh-latn", "zh-latn"), |
| + LanguageCodeData("HK", "en", "en"), |
| + LanguageCodeData("HK", "fr", "zh-latn"), |
| + LanguageCodeData("HK", "ja", "zh-latn"), |
| + LanguageCodeData("HK", "ko", "zh-latn"), |
| + LanguageCodeData("MO", "zh", "zh"), |
| + LanguageCodeData("MO", "pt", "pt"), |
| + LanguageCodeData("MO", "en", "zh-latn"), |
| + LanguageCodeData("AQ", "en", "en"), |
| + LanguageCodeData("AQ", "fr", "fr"), |
| + LanguageCodeData("AQ", "es", "es"), |
| + LanguageCodeData("AQ", "zh", "zh"))); |
| } // namespace |