Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "chrome/installer/util/language_selector.h" | 8 #include "chrome/installer/util/language_selector.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 119 &kAliasMatchCandidates[0], | 119 &kAliasMatchCandidates[0], |
| 120 &kAliasMatchCandidates[arraysize(kAliasMatchCandidates)])); | 120 &kAliasMatchCandidates[arraysize(kAliasMatchCandidates)])); |
| 121 | 121 |
| 122 // Test a few wildcard matches. | 122 // Test a few wildcard matches. |
| 123 INSTANTIATE_TEST_CASE_P( | 123 INSTANTIATE_TEST_CASE_P( |
| 124 TestWildcardMatches, | 124 TestWildcardMatches, |
| 125 LanguageSelectorMatchCandidateTest, | 125 LanguageSelectorMatchCandidateTest, |
| 126 ::testing::ValuesIn( | 126 ::testing::ValuesIn( |
| 127 &kWildcardMatchCandidates[0], | 127 &kWildcardMatchCandidates[0], |
| 128 &kWildcardMatchCandidates[arraysize(kWildcardMatchCandidates)])); | 128 &kWildcardMatchCandidates[arraysize(kWildcardMatchCandidates)])); |
| 129 | |
| 130 // A fixture for testing aliases that match to an expected translation. The | |
| 131 // first member of the tuple is the expected translation, the second is a | |
| 132 // candidate that should be aliased to the expectation. | |
| 133 class LanguageSelectorAliasTest | |
| 134 : public ::testing::TestWithParam< std::tr1::tuple<const wchar_t*, | |
| 135 const wchar_t*> > { | |
| 136 }; | |
| 137 | |
| 138 // Test that the candidate language maps to the aliased translation. | |
| 139 TEST_P(LanguageSelectorAliasTest, AliasesMatch) { | |
| 140 installer::LanguageSelector instance( | |
| 141 std::vector<std::wstring>(1, std::tr1::get<1>(GetParam()))); | |
| 142 EXPECT_EQ(std::tr1::get<0>(GetParam()), instance.selected_translation()); | |
| 143 } | |
| 144 | |
| 145 INSTANTIATE_TEST_CASE_P( | |
| 146 EnGbAliases, | |
| 147 LanguageSelectorAliasTest, | |
| 148 ::testing::Combine( | |
| 149 ::testing::Values(L"en-gb"), | |
| 150 ::testing::Values(L"en-au", L"en-ca", L"en-nz", L"en-za"))); | |
| 151 | |
| 152 INSTANTIATE_TEST_CASE_P( | |
| 153 IwAliases, | |
| 154 LanguageSelectorAliasTest, | |
| 155 ::testing::Combine( | |
| 156 ::testing::Values(L"iw"), | |
| 157 ::testing::Values(L"he"))); | |
| 158 | |
| 159 INSTANTIATE_TEST_CASE_P( | |
| 160 NoAliases, | |
| 161 LanguageSelectorAliasTest, | |
| 162 ::testing::Combine( | |
| 163 ::testing::Values(L"no"), | |
| 164 ::testing::Values(L"nb"))); | |
| 165 | |
| 166 INSTANTIATE_TEST_CASE_P( | |
| 167 FilAliases, | |
| 168 LanguageSelectorAliasTest, | |
| 169 ::testing::Combine( | |
| 170 ::testing::Values(L"fil"), | |
| 171 ::testing::Values(L"tl"))); | |
| 172 | |
| 173 INSTANTIATE_TEST_CASE_P( | |
| 174 ZhCnAliases, | |
| 175 LanguageSelectorAliasTest, | |
| 176 ::testing::Combine( | |
| 177 ::testing::Values(L"zh-cn"), | |
| 178 ::testing::Values(L"zh-chs", L"zh-hans", L"zh-sg"))); | |
| 179 | |
| 180 INSTANTIATE_TEST_CASE_P( | |
| 181 ZhTwAliases, | |
| 182 LanguageSelectorAliasTest, | |
| 183 ::testing::Combine( | |
| 184 ::testing::Values(L"zh-tw"), | |
| 185 ::testing::Values(L"zh-cht", L"zh-hant", L"zh-hk", L"zh-mk", | |
|
jungshik at Google
2011/11/29 23:30:37
MK is for Macedonia. So, it should be dropped.
grt (UTC plus 2)
2011/12/01 14:31:11
Done.
| |
| 186 L"zh-mo"))); | |
| OLD | NEW |