diff options
Diffstat (limited to 'chromium/base/win/embedded_i18n/language_selector_unittest.cc')
-rw-r--r-- | chromium/base/win/embedded_i18n/language_selector_unittest.cc | 173 |
1 files changed, 68 insertions, 105 deletions
diff --git a/chromium/base/win/embedded_i18n/language_selector_unittest.cc b/chromium/base/win/embedded_i18n/language_selector_unittest.cc index 64efc1da713..6903d0cb38c 100644 --- a/chromium/base/win/embedded_i18n/language_selector_unittest.cc +++ b/chromium/base/win/embedded_i18n/language_selector_unittest.cc @@ -17,49 +17,26 @@ namespace win { namespace i18n { namespace { -constexpr const base::char16* kExactMatchCandidates[] = { - STRING16_LITERAL("am"), STRING16_LITERAL("ar"), - STRING16_LITERAL("bg"), STRING16_LITERAL("bn"), - STRING16_LITERAL("ca"), STRING16_LITERAL("cs"), - STRING16_LITERAL("da"), STRING16_LITERAL("de"), - STRING16_LITERAL("el"), STRING16_LITERAL("en-gb"), - STRING16_LITERAL("en-us"), STRING16_LITERAL("es"), - STRING16_LITERAL("es-419"), STRING16_LITERAL("et"), - STRING16_LITERAL("fa"), STRING16_LITERAL("fi"), - STRING16_LITERAL("fil"), STRING16_LITERAL("fr"), - STRING16_LITERAL("gu"), STRING16_LITERAL("hi"), - STRING16_LITERAL("hr"), STRING16_LITERAL("hu"), - STRING16_LITERAL("id"), STRING16_LITERAL("it"), - STRING16_LITERAL("iw"), STRING16_LITERAL("ja"), - STRING16_LITERAL("kn"), STRING16_LITERAL("ko"), - STRING16_LITERAL("lt"), STRING16_LITERAL("lv"), - STRING16_LITERAL("ml"), STRING16_LITERAL("mr"), - STRING16_LITERAL("nl"), STRING16_LITERAL("no"), - STRING16_LITERAL("pl"), STRING16_LITERAL("pt-br"), - STRING16_LITERAL("pt-pt"), STRING16_LITERAL("ro"), - STRING16_LITERAL("ru"), STRING16_LITERAL("sk"), - STRING16_LITERAL("sl"), STRING16_LITERAL("sr"), - STRING16_LITERAL("sv"), STRING16_LITERAL("sw"), - STRING16_LITERAL("ta"), STRING16_LITERAL("te"), - STRING16_LITERAL("th"), STRING16_LITERAL("tr"), - STRING16_LITERAL("uk"), STRING16_LITERAL("vi"), - STRING16_LITERAL("zh-cn"), STRING16_LITERAL("zh-tw")}; - -constexpr const base::char16* kAliasMatchCandidates[] = { - STRING16_LITERAL("he"), STRING16_LITERAL("nb"), - STRING16_LITERAL("tl"), STRING16_LITERAL("zh-chs"), - STRING16_LITERAL("zh-cht"), STRING16_LITERAL("zh-hans"), - STRING16_LITERAL("zh-hant"), STRING16_LITERAL("zh-hk"), - STRING16_LITERAL("zh-mo")}; - -constexpr const base::char16* kWildcardMatchCandidates[] = { - STRING16_LITERAL("en-AU"), STRING16_LITERAL("es-CO"), - STRING16_LITERAL("pt-AB"), STRING16_LITERAL("zh-SG")}; +constexpr const wchar_t* kExactMatchCandidates[] = { + L"am", L"ar", L"bg", L"bn", L"ca", L"cs", L"da", L"de", + L"el", L"en-gb", L"en-us", L"es", L"es-419", L"et", L"fa", L"fi", + L"fil", L"fr", L"gu", L"hi", L"hr", L"hu", L"id", L"it", + L"iw", L"ja", L"kn", L"ko", L"lt", L"lv", L"ml", L"mr", + L"nl", L"no", L"pl", L"pt-br", L"pt-pt", L"ro", L"ru", L"sk", + L"sl", L"sr", L"sv", L"sw", L"ta", L"te", L"th", L"tr", + L"uk", L"vi", L"zh-cn", L"zh-tw"}; + +constexpr const wchar_t* kAliasMatchCandidates[] = { + L"he", L"nb", L"tl", L"zh-chs", L"zh-cht", + L"zh-hans", L"zh-hant", L"zh-hk", L"zh-mo"}; + +constexpr const wchar_t* kWildcardMatchCandidates[] = {L"en-AU", L"es-CO", + L"pt-AB", L"zh-SG"}; std::vector<LanguageSelector::LangToOffset> MakeLanguageOffsetPairs() { std::vector<LanguageSelector::LangToOffset> language_offset_pairs; int i = 0; - for (const base::char16* lang : kExactMatchCandidates) { + for (const wchar_t* lang : kExactMatchCandidates) { language_offset_pairs.push_back({lang, i++}); } @@ -68,13 +45,12 @@ std::vector<LanguageSelector::LangToOffset> MakeLanguageOffsetPairs() { class TestLanguageSelector : public LanguageSelector { public: - TestLanguageSelector() - : TestLanguageSelector(std::vector<base::string16>()) {} - explicit TestLanguageSelector(const std::vector<base::string16>& candidates) + TestLanguageSelector() : TestLanguageSelector(std::vector<std::wstring>()) {} + explicit TestLanguageSelector(const std::vector<std::wstring>& candidates) : TestLanguageSelector(candidates, MakeLanguageOffsetPairs()) {} TestLanguageSelector( - const std::vector<base::string16>& candidates, - base::span<const LanguageSelector::LangToOffset> languages_to_offset) + const std::vector<std::wstring>& candidates, + span<const LanguageSelector::LangToOffset> languages_to_offset) : LanguageSelector(candidates, languages_to_offset) {} }; @@ -89,32 +65,28 @@ TEST(LanguageSelectorTest, DefaultSelection) { // Test some hypothetical candidate sets. TEST(LanguageSelectorTest, AssortedSelections) { { - std::vector<base::string16> candidates = {STRING16_LITERAL("fr-BE"), - STRING16_LITERAL("fr"), - STRING16_LITERAL("en")}; + std::vector<std::wstring> candidates = {L"fr-BE", L"fr", L"en"}; TestLanguageSelector instance(candidates); // Expect the exact match to win. - EXPECT_EQ(STRING16_LITERAL("fr"), instance.matched_candidate()); + EXPECT_EQ(L"fr", instance.matched_candidate()); } { - std::vector<base::string16> candidates = {STRING16_LITERAL("xx-YY"), - STRING16_LITERAL("cc-Ssss-RR")}; + std::vector<std::wstring> candidates = {L"xx-YY", L"cc-Ssss-RR"}; TestLanguageSelector instance(candidates); // Expect the fallback to win. - EXPECT_EQ(STRING16_LITERAL("en-us"), instance.matched_candidate()); + EXPECT_EQ(L"en-us", instance.matched_candidate()); } { - std::vector<base::string16> candidates = {STRING16_LITERAL("zh-SG"), - STRING16_LITERAL("en-GB")}; + std::vector<std::wstring> candidates = {L"zh-SG", L"en-GB"}; TestLanguageSelector instance(candidates); // Expect the alias match to win. - EXPECT_EQ(STRING16_LITERAL("zh-SG"), instance.matched_candidate()); + EXPECT_EQ(L"zh-SG", instance.matched_candidate()); } } // A fixture for testing sets of single-candidate selections. class LanguageSelectorMatchCandidateTest - : public ::testing::TestWithParam<const base::char16*> {}; + : public ::testing::TestWithParam<const wchar_t*> {}; TEST_P(LanguageSelectorMatchCandidateTest, TestMatchCandidate) { TestLanguageSelector instance({GetParam()}); @@ -141,7 +113,7 @@ INSTANTIATE_TEST_SUITE_P(TestWildcardMatches, // candidate that should be aliased to the expectation. class LanguageSelectorAliasTest : public ::testing::TestWithParam< - std::tuple<const base::char16*, const base::char16*>> {}; + std::tuple<const wchar_t*, const wchar_t*>> {}; // Test that the candidate language maps to the aliased translation. TEST_P(LanguageSelectorAliasTest, AliasesMatch) { @@ -149,49 +121,42 @@ TEST_P(LanguageSelectorAliasTest, AliasesMatch) { EXPECT_EQ(std::get<0>(GetParam()), instance.selected_translation()); } -INSTANTIATE_TEST_SUITE_P( - EnGbAliases, - LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("en-gb")), - ::testing::Values(STRING16_LITERAL("en-au"), - STRING16_LITERAL("en-ca"), - STRING16_LITERAL("en-nz"), - STRING16_LITERAL("en-za")))); - -INSTANTIATE_TEST_SUITE_P( - IwAliases, - LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("iw")), - ::testing::Values(STRING16_LITERAL("he")))); - -INSTANTIATE_TEST_SUITE_P( - NoAliases, - LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("no")), - ::testing::Values(STRING16_LITERAL("nb")))); - -INSTANTIATE_TEST_SUITE_P( - FilAliases, - LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("fil")), - ::testing::Values(STRING16_LITERAL("tl")))); +INSTANTIATE_TEST_SUITE_P(EnGbAliases, + LanguageSelectorAliasTest, + ::testing::Combine(::testing::Values(L"en-gb"), + ::testing::Values(L"en-au", + L"en-ca", + L"en-nz", + L"en-za"))); + +INSTANTIATE_TEST_SUITE_P(IwAliases, + LanguageSelectorAliasTest, + ::testing::Combine(::testing::Values(L"iw"), + ::testing::Values(L"he"))); + +INSTANTIATE_TEST_SUITE_P(NoAliases, + LanguageSelectorAliasTest, + ::testing::Combine(::testing::Values(L"no"), + ::testing::Values(L"nb"))); + +INSTANTIATE_TEST_SUITE_P(FilAliases, + LanguageSelectorAliasTest, + ::testing::Combine(::testing::Values(L"fil"), + ::testing::Values(L"tl"))); INSTANTIATE_TEST_SUITE_P( ZhCnAliases, LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("zh-cn")), - ::testing::Values(STRING16_LITERAL("zh-chs"), - STRING16_LITERAL("zh-hans"), - STRING16_LITERAL("zh-sg")))); + ::testing::Combine(::testing::Values(L"zh-cn"), + ::testing::Values(L"zh-chs", L"zh-hans", L"zh-sg"))); -INSTANTIATE_TEST_SUITE_P( - ZhTwAliases, - LanguageSelectorAliasTest, - ::testing::Combine(::testing::Values(STRING16_LITERAL("zh-tw")), - ::testing::Values(STRING16_LITERAL("zh-cht"), - STRING16_LITERAL("zh-hant"), - STRING16_LITERAL("zh-hk"), - STRING16_LITERAL("zh-mo")))); +INSTANTIATE_TEST_SUITE_P(ZhTwAliases, + LanguageSelectorAliasTest, + ::testing::Combine(::testing::Values(L"zh-tw"), + ::testing::Values(L"zh-cht", + L"zh-hant", + L"zh-hk", + L"zh-mo"))); // Test that we can get a match of the default language. TEST(LanguageSelectorTest, DefaultLanguageName) { @@ -202,34 +167,32 @@ TEST(LanguageSelectorTest, DefaultLanguageName) { // All languages given to the selector must be lower cased (since generally // the language names are generated by a python script). TEST(LanguageSelectorTest, InvalidLanguageCasing) { - constexpr LanguageSelector::LangToOffset kLangToOffset[] = { - {STRING16_LITERAL("en-US"), 0}}; + constexpr LanguageSelector::LangToOffset kLangToOffset[] = {{L"en-US", 0}}; EXPECT_DCHECK_DEATH(LanguageSelector instance( - std::vector<base::string16>({STRING16_LITERAL("en-us")}), kLangToOffset)); + std::vector<std::wstring>({L"en-us"}), kLangToOffset)); } // Language name and offset pairs must be ordered when generated by the // python script. TEST(LanguageSelectorTest, InvalidLanguageNameOrder) { - constexpr LanguageSelector::LangToOffset kLangToOffset[] = { - {STRING16_LITERAL("en-us"), 0}, {STRING16_LITERAL("en-gb"), 1}}; + constexpr LanguageSelector::LangToOffset kLangToOffset[] = {{L"en-us", 0}, + {L"en-gb", 1}}; EXPECT_DCHECK_DEATH(LanguageSelector instance( - std::vector<base::string16>({STRING16_LITERAL("en-us")}), kLangToOffset)); + std::vector<std::wstring>({L"en-us"}), kLangToOffset)); } // There needs to be a fallback language available in the generated // languages if ever the selector is given a language that does not exist. TEST(LanguageSelectorTest, NoFallbackLanguageAvailable) { - constexpr LanguageSelector::LangToOffset kLangToOffset[] = { - {STRING16_LITERAL("en-gb"), 0}}; + constexpr LanguageSelector::LangToOffset kLangToOffset[] = {{L"en-gb", 0}}; EXPECT_DCHECK_DEATH(LanguageSelector instance( - std::vector<base::string16>({STRING16_LITERAL("aa-bb")}), kLangToOffset)); + std::vector<std::wstring>({L"aa-bb"}), kLangToOffset)); } // No languages available. TEST(LanguageSelectorTest, NoLanguagesAvailable) { - EXPECT_DCHECK_DEATH(LanguageSelector instance( - std::vector<base::string16>({STRING16_LITERAL("en-us")}), {})); + EXPECT_DCHECK_DEATH( + LanguageSelector instance(std::vector<std::wstring>({L"en-us"}), {})); } } // namespace i18n |