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 |