Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: common/lang_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « common/lang.cc ('k') | common/oem_install_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (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
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 // ========================================================================
15 //
16 #include <map>
17 #include <vector>
18 #include "omaha/base/app_util.h"
19 #include "omaha/base/constants.h"
20 #include "omaha/base/debug.h"
21 #include "omaha/base/file.h"
22 #include "omaha/base/path.h"
23 #include "omaha/base/string.h"
24 #include "omaha/common/config_manager.h"
25 #include "omaha/common/lang.h"
26 #include "omaha/testing/unit_test.h"
27
28 namespace omaha {
29
30 namespace {
31
32 const int kNumberOfLanguages = 56;
33
34 } // namespace
35
36 class LanguageManagerTest : public testing::Test {
37 protected:
38 CString GetLang(LANGID langid) {
39 return lang::GetLanguageForLangID(langid);
40 }
41 };
42
43 TEST_F(LanguageManagerTest, GetLanguageForLangID_NoLangID) {
44 EXPECT_STREQ(_T("en"), lang::GetLanguageForLangID(0xFFFF));
45 }
46
47 TEST_F(LanguageManagerTest, IsLanguageSupported) {
48 EXPECT_TRUE(lang::IsLanguageSupported(_T("en")));
49
50 EXPECT_FALSE(lang::IsLanguageSupported(_T("")));
51 EXPECT_FALSE(lang::IsLanguageSupported(_T("non-existing lang")));
52 EXPECT_FALSE(lang::IsLanguageSupported(_T("en-US")));
53 }
54
55 TEST_F(LanguageManagerTest, GetLanguageForLangID_SupportedIds) {
56 EXPECT_STREQ(_T("am"), GetLang(MAKELANGID(LANG_AMHARIC, SUBLANG_DEFAULT)));
57 EXPECT_STREQ(_T("ar"), GetLang(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT)));
58 EXPECT_STREQ(_T("bg"), GetLang(MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT)));
59 EXPECT_STREQ(_T("ca"), GetLang(MAKELANGID(LANG_CATALAN, SUBLANG_DEFAULT)));
60 EXPECT_STREQ(_T("cs"), GetLang(MAKELANGID(LANG_CZECH, SUBLANG_DEFAULT)));
61 EXPECT_STREQ(_T("da"), GetLang(MAKELANGID(LANG_DANISH, SUBLANG_DEFAULT)));
62 EXPECT_STREQ(_T("de"), GetLang(MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT)));
63 EXPECT_STREQ(_T("el"), GetLang(MAKELANGID(LANG_GREEK, SUBLANG_DEFAULT)));
64 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT)));
65 EXPECT_STREQ(_T("en-GB"), GetLang(MAKELANGID(LANG_ENGLISH,
66 SUBLANG_ENGLISH_UK)));
67 EXPECT_STREQ(_T("es"), GetLang(MAKELANGID(LANG_SPANISH,
68 SUBLANG_DEFAULT)));
69 EXPECT_STREQ(_T("es"), GetLang(MAKELANGID(LANG_SPANISH,
70 SUBLANG_SPANISH)));
71 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
72 SUBLANG_SPANISH_MEXICAN)));
73 EXPECT_STREQ(_T("es"), GetLang(MAKELANGID(LANG_SPANISH,
74 SUBLANG_SPANISH_MODERN)));
75 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
76 SUBLANG_SPANISH_GUATEMALA)));
77 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
78 SUBLANG_SPANISH_COSTA_RICA)));
79 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
80 SUBLANG_SPANISH_PANAMA)));
81 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(
82 LANG_SPANISH,
83 SUBLANG_SPANISH_DOMINICAN_REPUBLIC)));
84 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
85 SUBLANG_SPANISH_VENEZUELA)));
86 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
87 SUBLANG_SPANISH_COLOMBIA)));
88 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
89 SUBLANG_SPANISH_PERU)));
90 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
91 SUBLANG_SPANISH_ARGENTINA)));
92 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
93 SUBLANG_SPANISH_ECUADOR)));
94 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
95 SUBLANG_SPANISH_CHILE)));
96 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
97 SUBLANG_SPANISH_URUGUAY)));
98 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
99 SUBLANG_SPANISH_PARAGUAY)));
100 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
101 SUBLANG_SPANISH_BOLIVIA)));
102 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
103 SUBLANG_SPANISH_EL_SALVADOR)));
104 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
105 SUBLANG_SPANISH_HONDURAS)));
106 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
107 SUBLANG_SPANISH_NICARAGUA)));
108 EXPECT_STREQ(_T("es-419"), GetLang(MAKELANGID(LANG_SPANISH,
109 SUBLANG_SPANISH_PUERTO_RICO)));
110 EXPECT_STREQ(_T("et"), GetLang(MAKELANGID(LANG_ESTONIAN,
111 SUBLANG_ESTONIAN_ESTONIA)));
112 EXPECT_STREQ(_T("fi"), GetLang(MAKELANGID(LANG_FINNISH, SUBLANG_DEFAULT)));
113 EXPECT_STREQ(_T("fil"), GetLang(MAKELANGID(LANG_FILIPINO, SUBLANG_DEFAULT)));
114 EXPECT_STREQ(_T("fr"), GetLang(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT)));
115 EXPECT_STREQ(_T("hi"), GetLang(MAKELANGID(LANG_HINDI, SUBLANG_DEFAULT)));
116 EXPECT_STREQ(_T("hr"), GetLang(MAKELANGID(LANG_CROATIAN, SUBLANG_DEFAULT)));
117 EXPECT_STREQ(_T("hr"), GetLang(MAKELANGID(LANG_SERBIAN,
118 SUBLANG_SERBIAN_CROATIA)));
119 EXPECT_STREQ(_T("hu"), GetLang(MAKELANGID(LANG_HUNGARIAN, SUBLANG_DEFAULT)));
120 EXPECT_STREQ(_T("id"), GetLang(MAKELANGID(LANG_INDONESIAN, SUBLANG_DEFAULT)));
121 EXPECT_STREQ(_T("it"), GetLang(MAKELANGID(LANG_ITALIAN, SUBLANG_DEFAULT)));
122 EXPECT_STREQ(_T("iw"), GetLang(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT)));
123 EXPECT_STREQ(_T("ja"), GetLang(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)));
124 EXPECT_STREQ(_T("ko"), GetLang(MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT)));
125 EXPECT_STREQ(_T("lt"), GetLang(MAKELANGID(LANG_LITHUANIAN, SUBLANG_DEFAULT)));
126 EXPECT_STREQ(_T("lv"), GetLang(MAKELANGID(LANG_LATVIAN, SUBLANG_DEFAULT)));
127 EXPECT_STREQ(_T("nl"), GetLang(MAKELANGID(LANG_DUTCH, SUBLANG_DEFAULT)));
128 EXPECT_STREQ(_T("no"), GetLang(MAKELANGID(LANG_NORWEGIAN, SUBLANG_DEFAULT)));
129 EXPECT_STREQ(_T("pl"), GetLang(MAKELANGID(LANG_POLISH, SUBLANG_DEFAULT)));
130 EXPECT_STREQ(_T("pt-BR"), GetLang(MAKELANGID(LANG_PORTUGUESE,
131 SUBLANG_PORTUGUESE_BRAZILIAN)));
132 EXPECT_STREQ(_T("pt-PT"), GetLang(MAKELANGID(LANG_PORTUGUESE,
133 SUBLANG_PORTUGUESE)));
134 EXPECT_STREQ(_T("ro"), GetLang(MAKELANGID(LANG_ROMANIAN, SUBLANG_DEFAULT)));
135 EXPECT_STREQ(_T("ru"), GetLang(MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT)));
136 EXPECT_STREQ(_T("sk"), GetLang(MAKELANGID(LANG_SLOVAK, SUBLANG_DEFAULT)));
137 EXPECT_STREQ(_T("sl"), GetLang(MAKELANGID(LANG_SLOVENIAN, SUBLANG_DEFAULT)));
138 EXPECT_STREQ(_T("sr"), GetLang(
139 MAKELANGID(LANG_SERBIAN, SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC)));
140 EXPECT_STREQ(_T("sr"), GetLang(
141 MAKELANGID(LANG_SERBIAN, SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN)));
142 EXPECT_STREQ(_T("sr"), GetLang(MAKELANGID(LANG_SERBIAN,
143 SUBLANG_SERBIAN_CYRILLIC)));
144 EXPECT_STREQ(_T("sr"), GetLang(MAKELANGID(LANG_SERBIAN,
145 SUBLANG_SERBIAN_LATIN)));
146 EXPECT_STREQ(_T("sv"), GetLang(MAKELANGID(LANG_SWEDISH, SUBLANG_DEFAULT)));
147 EXPECT_STREQ(_T("sw"), GetLang(MAKELANGID(LANG_SWAHILI, SUBLANG_DEFAULT)));
148 EXPECT_STREQ(_T("th"), GetLang(MAKELANGID(LANG_THAI, SUBLANG_DEFAULT)));
149 EXPECT_STREQ(_T("tr"), GetLang(MAKELANGID(LANG_TURKISH, SUBLANG_DEFAULT)));
150 EXPECT_STREQ(_T("uk"), GetLang(MAKELANGID(LANG_UKRAINIAN, SUBLANG_DEFAULT)));
151 EXPECT_STREQ(_T("vi"), GetLang(MAKELANGID(LANG_VIETNAMESE, SUBLANG_DEFAULT)));
152 EXPECT_STREQ(_T("zh-HK"), GetLang(MAKELANGID(LANG_CHINESE,
153 SUBLANG_CHINESE_HONGKONG)));
154 EXPECT_STREQ(_T("zh-TW"), GetLang(MAKELANGID(LANG_CHINESE,
155 SUBLANG_CHINESE_MACAU)));
156 EXPECT_STREQ(_T("zh-CN"), GetLang(MAKELANGID(LANG_CHINESE,
157 SUBLANG_CHINESE_SIMPLIFIED)));
158 EXPECT_STREQ(_T("zh-CN"), GetLang(MAKELANGID(LANG_CHINESE,
159 SUBLANG_CHINESE_SINGAPORE)));
160 EXPECT_STREQ(_T("zh-TW"), GetLang(MAKELANGID(LANG_CHINESE,
161 SUBLANG_CHINESE_TRADITIONAL)));
162 }
163
164 // Unsupported languages and sublanguages fall back to "en".
165 TEST_F(LanguageManagerTest, GetLanguageForLangID_UnsupportedSubLang) {
166 // LANG_NEUTRAL is unsupported.
167 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)));
168 // LANG_AFRIKAANS is unsupported.
169 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_AFRIKAANS, SUBLANG_NEUTRAL)));
170 // SUBLANG_NEUTRAL is unsupported.
171 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_SPANISH, SUBLANG_NEUTRAL)));
172 // SUBLANG_SYS_DEFAULT is unsupported. It happens to be 2, which is not
173 // supported for Hungarian but is for English, Spanish, and others/
174 EXPECT_STREQ(_T("en"),
175 GetLang(MAKELANGID(LANG_HUNGARIAN, SUBLANG_SYS_DEFAULT)));
176 EXPECT_STREQ(_T("es-419"),
177 GetLang(MAKELANGID(LANG_SPANISH, SUBLANG_SYS_DEFAULT)));
178 // 0x3f is an invalid sublang. There is a "es" file.
179 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_SPANISH, 0x3f)));
180 // 0x3f is an invalid sublang. There is not a "zh" file.
181 EXPECT_STREQ(_T("en"), GetLang(MAKELANGID(LANG_CHINESE, 0x3f)));
182 }
183
184 TEST_F(LanguageManagerTest, TestCountLanguagesInTranslationTable) {
185 std::vector<CString> languages;
186 lang::GetSupportedLanguages(&languages);
187 EXPECT_EQ(kNumberOfLanguages, languages.size());
188 }
189
190 TEST_F(LanguageManagerTest, TestAppropriateLanguagesInTranslationTable) {
191 EXPECT_TRUE(lang::IsLanguageSupported(_T("am")));
192 EXPECT_TRUE(lang::IsLanguageSupported(_T("ar")));
193 EXPECT_TRUE(lang::IsLanguageSupported(_T("bg")));
194 EXPECT_TRUE(lang::IsLanguageSupported(_T("bn")));
195 EXPECT_TRUE(lang::IsLanguageSupported(_T("ca")));
196 EXPECT_TRUE(lang::IsLanguageSupported(_T("cs")));
197 EXPECT_TRUE(lang::IsLanguageSupported(_T("da")));
198 EXPECT_TRUE(lang::IsLanguageSupported(_T("de")));
199 EXPECT_TRUE(lang::IsLanguageSupported(_T("el")));
200 EXPECT_TRUE(lang::IsLanguageSupported(_T("en-GB")));
201 EXPECT_TRUE(lang::IsLanguageSupported(_T("en")));
202 EXPECT_TRUE(lang::IsLanguageSupported(_T("es-419")));
203 EXPECT_TRUE(lang::IsLanguageSupported(_T("es")));
204 EXPECT_TRUE(lang::IsLanguageSupported(_T("et")));
205 EXPECT_TRUE(lang::IsLanguageSupported(_T("fa")));
206 EXPECT_TRUE(lang::IsLanguageSupported(_T("fi")));
207 EXPECT_TRUE(lang::IsLanguageSupported(_T("fil")));
208 EXPECT_TRUE(lang::IsLanguageSupported(_T("fr")));
209 EXPECT_TRUE(lang::IsLanguageSupported(_T("gu")));
210 EXPECT_TRUE(lang::IsLanguageSupported(_T("hi")));
211 EXPECT_TRUE(lang::IsLanguageSupported(_T("hr")));
212 EXPECT_TRUE(lang::IsLanguageSupported(_T("hu")));
213 EXPECT_TRUE(lang::IsLanguageSupported(_T("id")));
214 EXPECT_TRUE(lang::IsLanguageSupported(_T("is")));
215 EXPECT_TRUE(lang::IsLanguageSupported(_T("it")));
216 EXPECT_TRUE(lang::IsLanguageSupported(_T("iw")));
217 EXPECT_TRUE(lang::IsLanguageSupported(_T("ja")));
218 EXPECT_TRUE(lang::IsLanguageSupported(_T("kn")));
219 EXPECT_TRUE(lang::IsLanguageSupported(_T("ko")));
220 EXPECT_TRUE(lang::IsLanguageSupported(_T("lt")));
221 EXPECT_TRUE(lang::IsLanguageSupported(_T("lv")));
222 EXPECT_TRUE(lang::IsLanguageSupported(_T("ml")));
223 EXPECT_TRUE(lang::IsLanguageSupported(_T("mr")));
224 EXPECT_TRUE(lang::IsLanguageSupported(_T("ms")));
225 EXPECT_TRUE(lang::IsLanguageSupported(_T("nl")));
226 EXPECT_TRUE(lang::IsLanguageSupported(_T("no")));
227 EXPECT_FALSE(lang::IsLanguageSupported(_T("or")));
228 EXPECT_TRUE(lang::IsLanguageSupported(_T("pl")));
229 EXPECT_TRUE(lang::IsLanguageSupported(_T("pt-BR")));
230 EXPECT_TRUE(lang::IsLanguageSupported(_T("pt-PT")));
231 EXPECT_TRUE(lang::IsLanguageSupported(_T("ro")));
232 EXPECT_TRUE(lang::IsLanguageSupported(_T("ru")));
233 EXPECT_TRUE(lang::IsLanguageSupported(_T("sk")));
234 EXPECT_TRUE(lang::IsLanguageSupported(_T("sl")));
235 EXPECT_TRUE(lang::IsLanguageSupported(_T("sr")));
236 EXPECT_TRUE(lang::IsLanguageSupported(_T("sv")));
237 EXPECT_TRUE(lang::IsLanguageSupported(_T("sw")));
238 EXPECT_TRUE(lang::IsLanguageSupported(_T("ta")));
239 EXPECT_TRUE(lang::IsLanguageSupported(_T("te")));
240 EXPECT_TRUE(lang::IsLanguageSupported(_T("th")));
241 EXPECT_TRUE(lang::IsLanguageSupported(_T("tr")));
242 EXPECT_TRUE(lang::IsLanguageSupported(_T("uk")));
243 EXPECT_TRUE(lang::IsLanguageSupported(_T("ur")));
244 EXPECT_TRUE(lang::IsLanguageSupported(_T("vi")));
245 EXPECT_TRUE(lang::IsLanguageSupported(_T("zh-CN")));
246 EXPECT_TRUE(lang::IsLanguageSupported(_T("zh-HK")));
247 EXPECT_TRUE(lang::IsLanguageSupported(_T("zh-TW")));
248 }
249
250 } // namespace omaha
OLDNEW
« no previous file with comments | « common/lang.cc ('k') | common/oem_install_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698