Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #include <string.h>
21 :
22 : #include <osl/thread.h>
23 : #include <rtl/tencinfo.h>
24 :
25 : #include <cppunit/TestFixture.h>
26 : #include <cppunit/extensions/HelperMacros.h>
27 : #include <cppunit/plugin/TestPlugIn.h>
28 :
29 : namespace
30 : {
31 243 : class testBestMime : public CppUnit::TestFixture
32 : {
33 : public:
34 81 : void setUp() SAL_OVERRIDE
35 : {
36 81 : }
37 :
38 81 : void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
39 : {
40 81 : const sal_Char *pCharSet = rtl_getBestMimeCharsetFromTextEncoding(eIn);
41 81 : rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromMimeCharset(pCharSet);
42 81 : CPPUNIT_ASSERT_MESSAGE("rtl_getBestMimeCharsetFromTextEncoding && rtl_getTextEncodingFromMimeCharset differdiffer", eTextEnc == eOut);
43 81 : }
44 :
45 : // the defines for the follows test could be found in file inc/rtl/textenc.h
46 :
47 1 : void MimeCharsetFromTextEncoding_MS_1252()
48 : {
49 1 : check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
50 1 : }
51 :
52 1 : void MimeCharsetFromTextEncoding_APPLE_ROMAN()
53 : {
54 1 : check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN);
55 1 : }
56 :
57 1 : void MimeCharsetFromTextEncoding_IBM_437()
58 : {
59 1 : check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_IBM_437 );
60 1 : }
61 :
62 1 : void MimeCharsetFromTextEncoding_IBM_850()
63 : {
64 1 : check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_IBM_850 );
65 1 : }
66 :
67 1 : void MimeCharsetFromTextEncoding_IBM_860()
68 : {
69 1 : check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_IBM_860 );
70 1 : }
71 :
72 1 : void MimeCharsetFromTextEncoding_IBM_861()
73 : {
74 1 : check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_IBM_861 );
75 1 : }
76 :
77 1 : void MimeCharsetFromTextEncoding_IBM_863()
78 : {
79 1 : check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_IBM_863 );
80 1 : }
81 :
82 1 : void MimeCharsetFromTextEncoding_IBM_865()
83 : {
84 1 : check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_IBM_865 );
85 1 : }
86 :
87 1 : void MimeCharsetFromTextEncoding_SYMBOL()
88 : {
89 1 : check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_DONTKNOW );
90 1 : }
91 :
92 1 : void MimeCharsetFromTextEncoding_ASCII_US()
93 : {
94 1 : check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ASCII_US );
95 1 : }
96 :
97 1 : void MimeCharsetFromTextEncoding_ISO_8859_1()
98 : {
99 1 : check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
100 1 : }
101 1 : void MimeCharsetFromTextEncoding_ISO_8859_2()
102 : {
103 1 : check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
104 1 : }
105 1 : void MimeCharsetFromTextEncoding_ISO_8859_3()
106 : {
107 1 : check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
108 1 : }
109 1 : void MimeCharsetFromTextEncoding_ISO_8859_4()
110 : {
111 1 : check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
112 1 : }
113 1 : void MimeCharsetFromTextEncoding_ISO_8859_5()
114 : {
115 1 : check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
116 1 : }
117 1 : void MimeCharsetFromTextEncoding_ISO_8859_6()
118 : {
119 1 : check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
120 1 : }
121 1 : void MimeCharsetFromTextEncoding_ISO_8859_7()
122 : {
123 1 : check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
124 1 : }
125 1 : void MimeCharsetFromTextEncoding_ISO_8859_8()
126 : {
127 1 : check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
128 1 : }
129 1 : void MimeCharsetFromTextEncoding_ISO_8859_9()
130 : {
131 1 : check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
132 1 : }
133 1 : void MimeCharsetFromTextEncoding_ISO_8859_14()
134 : {
135 1 : check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
136 1 : }
137 1 : void MimeCharsetFromTextEncoding_ISO_8859_15()
138 : {
139 1 : check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
140 1 : }
141 1 : void MimeCharsetFromTextEncoding_IBM_737()
142 : {
143 1 : check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
144 1 : }
145 1 : void MimeCharsetFromTextEncoding_IBM_775()
146 : {
147 1 : check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
148 1 : }
149 1 : void MimeCharsetFromTextEncoding_IBM_852()
150 : {
151 1 : check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_IBM_852 );
152 1 : }
153 1 : void MimeCharsetFromTextEncoding_IBM_855()
154 : {
155 1 : check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
156 1 : }
157 1 : void MimeCharsetFromTextEncoding_IBM_857()
158 : {
159 1 : check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
160 1 : }
161 1 : void MimeCharsetFromTextEncoding_IBM_862()
162 : {
163 1 : check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_IBM_862 );
164 1 : }
165 1 : void MimeCharsetFromTextEncoding_IBM_864()
166 : {
167 1 : check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_IBM_864 );
168 1 : }
169 1 : void MimeCharsetFromTextEncoding_IBM_866()
170 : {
171 1 : check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_IBM_866 );
172 1 : }
173 1 : void MimeCharsetFromTextEncoding_IBM_869()
174 : {
175 1 : check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
176 1 : }
177 1 : void MimeCharsetFromTextEncoding_MS_874()
178 : {
179 1 : check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_874 );
180 1 : }
181 1 : void MimeCharsetFromTextEncoding_MS_1250()
182 : {
183 1 : check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1250 );
184 1 : }
185 1 : void MimeCharsetFromTextEncoding_MS_1251()
186 : {
187 1 : check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1251 );
188 1 : }
189 1 : void MimeCharsetFromTextEncoding_MS_1253()
190 : {
191 1 : check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1253 );
192 1 : }
193 1 : void MimeCharsetFromTextEncoding_MS_1254()
194 : {
195 1 : check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1254 );
196 1 : }
197 1 : void MimeCharsetFromTextEncoding_MS_1255()
198 : {
199 1 : check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1255 );
200 1 : }
201 1 : void MimeCharsetFromTextEncoding_MS_1256()
202 : {
203 1 : check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1256 );
204 1 : }
205 1 : void MimeCharsetFromTextEncoding_MS_1257()
206 : {
207 1 : check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1257 );
208 1 : }
209 1 : void MimeCharsetFromTextEncoding_MS_1258()
210 : {
211 1 : check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1258 );
212 1 : }
213 1 : void MimeCharsetFromTextEncoding_APPLE_CENTEURO()
214 : {
215 1 : check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
216 1 : }
217 1 : void MimeCharsetFromTextEncoding_APPLE_CROATIAN()
218 : {
219 1 : check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
220 1 : }
221 1 : void MimeCharsetFromTextEncoding_APPLE_CYRILLIC()
222 : {
223 1 : check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
224 1 : }
225 1 : void MimeCharsetFromTextEncoding_APPLE_GREEK()
226 : {
227 1 : check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
228 1 : }
229 1 : void MimeCharsetFromTextEncoding_APPLE_ICELAND()
230 : {
231 1 : check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
232 1 : }
233 1 : void MimeCharsetFromTextEncoding_APPLE_ROMANIAN()
234 : {
235 1 : check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
236 1 : }
237 1 : void MimeCharsetFromTextEncoding_APPLE_TURKISH()
238 : {
239 1 : check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
240 1 : }
241 1 : void MimeCharsetFromTextEncoding_APPLE_UKRAINIAN()
242 : {
243 1 : check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
244 1 : }
245 1 : void MimeCharsetFromTextEncoding_APPLE_CHINSIMP()
246 : {
247 1 : check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_GB_2312 );
248 1 : }
249 1 : void MimeCharsetFromTextEncoding_APPLE_CHINTRAD()
250 : {
251 1 : check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_BIG5 );
252 1 : }
253 1 : void MimeCharsetFromTextEncoding_APPLE_JAPANESE()
254 : {
255 1 : check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_SHIFT_JIS );
256 1 : }
257 1 : void MimeCharsetFromTextEncoding_APPLE_KOREAN()
258 : {
259 1 : check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_EUC_KR );
260 1 : }
261 1 : void MimeCharsetFromTextEncoding_MS_932()
262 : {
263 1 : check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_SHIFT_JIS );
264 1 : }
265 1 : void MimeCharsetFromTextEncoding_MS_936()
266 : {
267 1 : check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_GB_2312 );
268 1 : }
269 1 : void MimeCharsetFromTextEncoding_MS_949()
270 : {
271 1 : check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_EUC_KR );
272 1 : }
273 1 : void MimeCharsetFromTextEncoding_MS_950()
274 : {
275 1 : check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_BIG5 );
276 1 : }
277 1 : void MimeCharsetFromTextEncoding_SHIFT_JIS()
278 : {
279 1 : check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_SHIFT_JIS );
280 1 : }
281 1 : void MimeCharsetFromTextEncoding_GB_2312()
282 : {
283 1 : check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GB_2312 );
284 1 : }
285 1 : void MimeCharsetFromTextEncoding_GBT_12345()
286 : {
287 1 : check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_GBT_12345 );
288 1 : }
289 1 : void MimeCharsetFromTextEncoding_GBK()
290 : {
291 1 : check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_GBK );
292 1 : }
293 1 : void MimeCharsetFromTextEncoding_BIG5()
294 : {
295 1 : check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_BIG5 );
296 1 : }
297 1 : void MimeCharsetFromTextEncoding_EUC_JP()
298 : {
299 1 : check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_EUC_JP );
300 1 : }
301 1 : void MimeCharsetFromTextEncoding_EUC_CN()
302 : {
303 1 : check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_GB_2312 );
304 1 : }
305 1 : void MimeCharsetFromTextEncoding_EUC_TW()
306 : {
307 1 : check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_BIG5 );
308 1 : }
309 1 : void MimeCharsetFromTextEncoding_ISO_2022_JP()
310 : {
311 1 : check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_ISO_2022_JP );
312 1 : }
313 1 : void MimeCharsetFromTextEncoding_ISO_2022_CN()
314 : {
315 1 : check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_ISO_2022_CN );
316 1 : }
317 1 : void MimeCharsetFromTextEncoding_KOI8_R()
318 : {
319 1 : check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
320 1 : }
321 1 : void MimeCharsetFromTextEncoding_UTF7()
322 : {
323 1 : check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_UTF7 );
324 1 : }
325 1 : void MimeCharsetFromTextEncoding_UTF8()
326 : {
327 1 : check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_UTF8 );
328 1 : }
329 1 : void MimeCharsetFromTextEncoding_ISO_8859_10()
330 : {
331 1 : check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
332 1 : }
333 1 : void MimeCharsetFromTextEncoding_ISO_8859_13()
334 : {
335 1 : check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
336 1 : }
337 1 : void MimeCharsetFromTextEncoding_EUC_KR()
338 : {
339 1 : check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_EUC_KR );
340 1 : }
341 1 : void MimeCharsetFromTextEncoding_ISO_2022_KR()
342 : {
343 1 : check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_ISO_2022_KR );
344 1 : }
345 1 : void MimeCharsetFromTextEncoding_JIS_X_0201()
346 : {
347 1 : check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_EUC_JP );
348 1 : }
349 1 : void MimeCharsetFromTextEncoding_JIS_X_0208()
350 : {
351 1 : check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_EUC_JP );
352 1 : }
353 1 : void MimeCharsetFromTextEncoding_JIS_X_0212()
354 : {
355 1 : check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_EUC_JP );
356 1 : }
357 1 : void MimeCharsetFromTextEncoding_MS_1361()
358 : {
359 1 : check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_EUC_KR );
360 1 : }
361 1 : void MimeCharsetFromTextEncoding_GB_18030()
362 : {
363 1 : check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GB_18030 );
364 1 : }
365 1 : void MimeCharsetFromTextEncoding_BIG5_HKSCS()
366 : {
367 1 : check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_BIG5_HKSCS );
368 1 : }
369 1 : void MimeCharsetFromTextEncoding_TIS_620()
370 : {
371 1 : check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_TIS_620 );
372 1 : }
373 1 : void MimeCharsetFromTextEncoding_KOI8_U()
374 : {
375 1 : check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
376 1 : }
377 1 : void MimeCharsetFromTextEncoding_ISCII_DEVANAGARI()
378 : {
379 1 : check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_ISCII_DEVANAGARI );
380 1 : }
381 :
382 2 : CPPUNIT_TEST_SUITE( testBestMime );
383 :
384 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1252 );
385 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMAN );
386 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_437 );
387 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_850 );
388 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_860 );
389 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_861 );
390 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_863 );
391 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_865 );
392 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_SYMBOL );
393 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ASCII_US );
394 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_1 );
395 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_2 );
396 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_3 );
397 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_4 );
398 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_5 );
399 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_6 );
400 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_7 );
401 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_8 );
402 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_9 );
403 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_14 );
404 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_15 );
405 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_737 );
406 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_775 );
407 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_852 );
408 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_855 );
409 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_857 );
410 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_862 );
411 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_864 );
412 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_866 );
413 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_869 );
414 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_874 );
415 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1250 );
416 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1251 );
417 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1253 );
418 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1254 );
419 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1255 );
420 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1256 );
421 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1257 );
422 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1258 );
423 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CENTEURO );
424 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CROATIAN );
425 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CYRILLIC );
426 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_GREEK );
427 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ICELAND );
428 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMANIAN );
429 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_TURKISH );
430 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_UKRAINIAN );
431 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINSIMP );
432 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINTRAD );
433 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_JAPANESE );
434 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_KOREAN );
435 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_932 );
436 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_936 );
437 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_949 );
438 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_950 );
439 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_SHIFT_JIS );
440 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_2312 );
441 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBT_12345 );
442 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBK );
443 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5 );
444 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_JP );
445 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_CN );
446 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_TW );
447 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_JP );
448 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_CN );
449 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_R );
450 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF7 );
451 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF8 );
452 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_10 );
453 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_13 );
454 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_KR );
455 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_KR );
456 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0201 );
457 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0208 );
458 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0212 );
459 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1361 );
460 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_18030 );
461 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5_HKSCS );
462 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_TIS_620 );
463 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_U );
464 1 : CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISCII_DEVANAGARI );
465 :
466 2 : CPPUNIT_TEST_SUITE_END( );
467 : };
468 :
469 240 : class testBestUnix : public CppUnit::TestFixture
470 : {
471 : public:
472 80 : void setUp() SAL_OVERRIDE
473 : {
474 80 : }
475 :
476 80 : void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
477 : {
478 80 : const sal_Char *pCharSet = rtl_getBestUnixCharsetFromTextEncoding(eIn);
479 80 : rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromUnixCharset(pCharSet);
480 80 : CPPUNIT_ASSERT_MESSAGE("rtl_getBestUnixCharsetFromTextEncoding && rtl_getTextEncodingFromUnixCharset", eTextEnc == eOut);
481 80 : }
482 :
483 1 : void UnixCharsetFromTextEncoding_MS_1252()
484 : {
485 1 : check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_ISO_8859_1 );
486 1 : }
487 :
488 1 : void UnixCharsetFromTextEncoding_APPLE_ROMAN()
489 : {
490 1 : check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_ISO_8859_1 );
491 1 : }
492 :
493 1 : void UnixCharsetFromTextEncoding_IBM_437()
494 : {
495 1 : check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_ISO_8859_1 );
496 1 : }
497 :
498 1 : void UnixCharsetFromTextEncoding_IBM_850()
499 : {
500 1 : check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_ISO_8859_1 );
501 1 : }
502 :
503 1 : void UnixCharsetFromTextEncoding_IBM_860()
504 : {
505 1 : check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_ISO_8859_1 );
506 1 : }
507 :
508 1 : void UnixCharsetFromTextEncoding_IBM_861()
509 : {
510 1 : check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_ISO_8859_1 );
511 1 : }
512 :
513 1 : void UnixCharsetFromTextEncoding_IBM_863()
514 : {
515 1 : check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_ISO_8859_1 );
516 1 : }
517 :
518 1 : void UnixCharsetFromTextEncoding_IBM_865()
519 : {
520 1 : check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_ISO_8859_1 );
521 1 : }
522 :
523 1 : void UnixCharsetFromTextEncoding_SYMBOL()
524 : {
525 1 : check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
526 1 : }
527 :
528 1 : void UnixCharsetFromTextEncoding_ASCII_US()
529 : {
530 1 : check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ISO_8859_1 );
531 1 : }
532 :
533 1 : void UnixCharsetFromTextEncoding_ISO_8859_1()
534 : {
535 1 : check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
536 1 : }
537 :
538 1 : void UnixCharsetFromTextEncoding_ISO_8859_2()
539 : {
540 1 : check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
541 1 : }
542 :
543 1 : void UnixCharsetFromTextEncoding_ISO_8859_3()
544 : {
545 1 : check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
546 1 : }
547 :
548 1 : void UnixCharsetFromTextEncoding_ISO_8859_4()
549 : {
550 1 : check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
551 1 : }
552 :
553 1 : void UnixCharsetFromTextEncoding_ISO_8859_5()
554 : {
555 1 : check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
556 1 : }
557 :
558 1 : void UnixCharsetFromTextEncoding_ISO_8859_6()
559 : {
560 1 : check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
561 1 : }
562 :
563 1 : void UnixCharsetFromTextEncoding_ISO_8859_7()
564 : {
565 1 : check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
566 1 : }
567 :
568 1 : void UnixCharsetFromTextEncoding_ISO_8859_8()
569 : {
570 1 : check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
571 1 : }
572 :
573 1 : void UnixCharsetFromTextEncoding_ISO_8859_9()
574 : {
575 1 : check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
576 1 : }
577 :
578 1 : void UnixCharsetFromTextEncoding_ISO_8859_14()
579 : {
580 1 : check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
581 1 : }
582 :
583 1 : void UnixCharsetFromTextEncoding_ISO_8859_15()
584 : {
585 1 : check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
586 1 : }
587 :
588 1 : void UnixCharsetFromTextEncoding_IBM_737()
589 : {
590 1 : check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
591 1 : }
592 :
593 1 : void UnixCharsetFromTextEncoding_IBM_775()
594 : {
595 1 : check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
596 1 : }
597 :
598 1 : void UnixCharsetFromTextEncoding_IBM_852()
599 : {
600 1 : check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_ISO_8859_2 );
601 1 : }
602 :
603 1 : void UnixCharsetFromTextEncoding_IBM_855()
604 : {
605 1 : check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
606 1 : }
607 :
608 1 : void UnixCharsetFromTextEncoding_IBM_857()
609 : {
610 1 : check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
611 1 : }
612 :
613 1 : void UnixCharsetFromTextEncoding_IBM_862()
614 : {
615 1 : check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_ISO_8859_8 );
616 1 : }
617 :
618 1 : void UnixCharsetFromTextEncoding_IBM_864()
619 : {
620 1 : check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_ISO_8859_6 );
621 1 : }
622 :
623 1 : void UnixCharsetFromTextEncoding_IBM_866()
624 : {
625 1 : check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_ISO_8859_5 );
626 1 : }
627 :
628 1 : void UnixCharsetFromTextEncoding_IBM_869()
629 : {
630 1 : check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
631 1 : }
632 :
633 1 : void UnixCharsetFromTextEncoding_MS_874()
634 : {
635 1 : check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_ISO_8859_1 );
636 1 : }
637 :
638 1 : void UnixCharsetFromTextEncoding_MS_1250()
639 : {
640 1 : check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_ISO_8859_2 );
641 1 : }
642 :
643 1 : void UnixCharsetFromTextEncoding_MS_1251()
644 : {
645 1 : check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_ISO_8859_5 );
646 1 : }
647 :
648 1 : void UnixCharsetFromTextEncoding_MS_1253()
649 : {
650 1 : check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_ISO_8859_7 );
651 1 : }
652 :
653 1 : void UnixCharsetFromTextEncoding_MS_1254()
654 : {
655 1 : check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_ISO_8859_9 );
656 1 : }
657 :
658 1 : void UnixCharsetFromTextEncoding_MS_1255()
659 : {
660 1 : check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_ISO_8859_8 );
661 1 : }
662 :
663 1 : void UnixCharsetFromTextEncoding_MS_1256()
664 : {
665 1 : check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_ISO_8859_6 );
666 1 : }
667 :
668 1 : void UnixCharsetFromTextEncoding_MS_1257()
669 : {
670 1 : check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_ISO_8859_4 );
671 1 : }
672 :
673 1 : void UnixCharsetFromTextEncoding_MS_1258()
674 : {
675 1 : check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_ISO_8859_1 );
676 1 : }
677 :
678 1 : void UnixCharsetFromTextEncoding_APPLE_CENTEURO()
679 : {
680 1 : check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
681 1 : }
682 :
683 1 : void UnixCharsetFromTextEncoding_APPLE_CROATIAN()
684 : {
685 1 : check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
686 1 : }
687 :
688 1 : void UnixCharsetFromTextEncoding_APPLE_CYRILLIC()
689 : {
690 1 : check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
691 1 : }
692 :
693 1 : void UnixCharsetFromTextEncoding_APPLE_GREEK()
694 : {
695 1 : check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
696 1 : }
697 :
698 1 : void UnixCharsetFromTextEncoding_APPLE_ICELAND()
699 : {
700 1 : check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
701 1 : }
702 :
703 1 : void UnixCharsetFromTextEncoding_APPLE_ROMANIAN()
704 : {
705 1 : check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
706 1 : }
707 :
708 1 : void UnixCharsetFromTextEncoding_APPLE_TURKISH()
709 : {
710 1 : check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
711 1 : }
712 :
713 1 : void UnixCharsetFromTextEncoding_APPLE_UKRAINIAN()
714 : {
715 1 : check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
716 1 : }
717 :
718 1 : void UnixCharsetFromTextEncoding_APPLE_CHINSIMP()
719 : {
720 1 : check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_DONTKNOW );
721 1 : }
722 :
723 1 : void UnixCharsetFromTextEncoding_APPLE_CHINTRAD()
724 : {
725 1 : check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_DONTKNOW );
726 1 : }
727 :
728 1 : void UnixCharsetFromTextEncoding_APPLE_JAPANESE()
729 : {
730 1 : check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_DONTKNOW );
731 1 : }
732 :
733 1 : void UnixCharsetFromTextEncoding_APPLE_KOREAN()
734 : {
735 1 : check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_DONTKNOW );
736 1 : }
737 :
738 1 : void UnixCharsetFromTextEncoding_MS_932()
739 : {
740 1 : check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_DONTKNOW );
741 1 : }
742 :
743 1 : void UnixCharsetFromTextEncoding_MS_936()
744 : {
745 1 : check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_DONTKNOW );
746 1 : }
747 :
748 1 : void UnixCharsetFromTextEncoding_MS_949()
749 : {
750 1 : check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_DONTKNOW );
751 1 : }
752 :
753 1 : void UnixCharsetFromTextEncoding_MS_950()
754 : {
755 1 : check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_DONTKNOW );
756 1 : }
757 :
758 1 : void UnixCharsetFromTextEncoding_SHIFT_JIS()
759 : {
760 1 : check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_DONTKNOW );
761 1 : }
762 :
763 1 : void UnixCharsetFromTextEncoding_GB_2312()
764 : {
765 1 : check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_DONTKNOW );
766 1 : }
767 :
768 1 : void UnixCharsetFromTextEncoding_GBT_12345()
769 : {
770 1 : check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_DONTKNOW );
771 1 : }
772 :
773 1 : void UnixCharsetFromTextEncoding_GBK()
774 : {
775 1 : check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_DONTKNOW );
776 1 : }
777 :
778 1 : void UnixCharsetFromTextEncoding_BIG5()
779 : {
780 1 : check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_DONTKNOW );
781 1 : }
782 :
783 1 : void UnixCharsetFromTextEncoding_EUC_JP()
784 : {
785 1 : check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_DONTKNOW );
786 1 : }
787 :
788 1 : void UnixCharsetFromTextEncoding_EUC_CN()
789 : {
790 1 : check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_DONTKNOW );
791 1 : }
792 :
793 1 : void UnixCharsetFromTextEncoding_EUC_TW()
794 : {
795 1 : check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_DONTKNOW );
796 1 : }
797 :
798 1 : void UnixCharsetFromTextEncoding_ISO_2022_JP()
799 : {
800 1 : check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_DONTKNOW );
801 1 : }
802 :
803 1 : void UnixCharsetFromTextEncoding_ISO_2022_CN()
804 : {
805 1 : check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_DONTKNOW );
806 1 : }
807 :
808 1 : void UnixCharsetFromTextEncoding_KOI8_R()
809 : {
810 1 : check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
811 1 : }
812 :
813 1 : void UnixCharsetFromTextEncoding_UTF7()
814 : {
815 1 : check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_ISO_8859_1 );
816 1 : }
817 :
818 1 : void UnixCharsetFromTextEncoding_UTF8()
819 : {
820 1 : check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_ISO_8859_1 );
821 1 : }
822 :
823 1 : void UnixCharsetFromTextEncoding_ISO_8859_10()
824 : {
825 1 : check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
826 1 : }
827 :
828 1 : void UnixCharsetFromTextEncoding_ISO_8859_13()
829 : {
830 1 : check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
831 1 : }
832 :
833 1 : void UnixCharsetFromTextEncoding_EUC_KR()
834 : {
835 1 : check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_DONTKNOW );
836 1 : }
837 :
838 1 : void UnixCharsetFromTextEncoding_ISO_2022_KR()
839 : {
840 1 : check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_DONTKNOW );
841 1 : }
842 :
843 1 : void UnixCharsetFromTextEncoding_JIS_X_0201()
844 : {
845 1 : check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_DONTKNOW );
846 1 : }
847 :
848 1 : void UnixCharsetFromTextEncoding_JIS_X_0208()
849 : {
850 1 : check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_DONTKNOW );
851 1 : }
852 :
853 1 : void UnixCharsetFromTextEncoding_JIS_X_0212()
854 : {
855 1 : check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_DONTKNOW );
856 1 : }
857 :
858 1 : void UnixCharsetFromTextEncoding_MS_1361()
859 : {
860 1 : check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_DONTKNOW );
861 1 : }
862 :
863 1 : void UnixCharsetFromTextEncoding_GB_18030()
864 : {
865 1 : check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GBK );
866 1 : }
867 :
868 1 : void UnixCharsetFromTextEncoding_BIG5_HKSCS()
869 : {
870 1 : check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_DONTKNOW );
871 1 : }
872 :
873 1 : void UnixCharsetFromTextEncoding_TIS_620()
874 : {
875 1 : check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_ISO_8859_1 );
876 1 : }
877 :
878 1 : void UnixCharsetFromTextEncoding_KOI8_U()
879 : {
880 1 : check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
881 1 : }
882 :
883 2 : CPPUNIT_TEST_SUITE( testBestUnix );
884 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1252 );
885 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMAN );
886 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_437 );
887 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_850 );
888 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_860 );
889 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_861 );
890 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_863 );
891 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_865 );
892 :
893 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_SYMBOL );
894 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ASCII_US );
895 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_1 );
896 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_2 );
897 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_3 );
898 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_4 );
899 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_5 );
900 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_6 );
901 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_7 );
902 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_8 );
903 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_9 );
904 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_14 );
905 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_15 );
906 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_737 );
907 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_775 );
908 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_852 );
909 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_855 );
910 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_857 );
911 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_862 );
912 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_864 );
913 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_866 );
914 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_869 );
915 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_874 );
916 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1250 );
917 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1251 );
918 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1253 );
919 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1254 );
920 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1255 );
921 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1256 );
922 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1257 );
923 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1258 );
924 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CENTEURO );
925 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CROATIAN );
926 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CYRILLIC );
927 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_GREEK );
928 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ICELAND );
929 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMANIAN );
930 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_TURKISH );
931 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_UKRAINIAN );
932 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINSIMP );
933 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINTRAD );
934 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_JAPANESE );
935 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_KOREAN );
936 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_932 );
937 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_936 );
938 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_949 );
939 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_950 );
940 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_SHIFT_JIS );
941 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_2312 );
942 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBT_12345 );
943 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBK );
944 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5 );
945 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_JP );
946 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_CN );
947 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_TW );
948 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_JP );
949 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_CN );
950 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_R );
951 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF7 );
952 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF8 );
953 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_10 );
954 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_13 );
955 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_KR );
956 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_KR );
957 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0201 );
958 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0208 );
959 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0212 );
960 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1361 );
961 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_18030 );
962 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5_HKSCS );
963 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_TIS_620 );
964 1 : CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_U );
965 :
966 2 : CPPUNIT_TEST_SUITE_END( );
967 : };
968 :
969 267 : class testBestWindows : public CppUnit::TestFixture
970 : {
971 : public:
972 89 : void setUp() SAL_OVERRIDE
973 : {
974 89 : }
975 :
976 89 : void check(rtl_TextEncoding nIn, rtl_TextEncoding nOut)
977 : {
978 89 : const sal_uInt8 nCharSet = rtl_getBestWindowsCharsetFromTextEncoding(nIn);
979 89 : rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromWindowsCharset(nCharSet);
980 89 : CPPUNIT_ASSERT_MESSAGE("rtl_getBestUnixCharsetFromTextEncoding && rtl_getTextEncodingFromWindowsCharset differ", eTextEnc = nOut);
981 89 : }
982 :
983 1 : void WindowsCharsetFromTextEncoding_MS_1252()
984 : {
985 1 : check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
986 1 : }
987 :
988 1 : void WindowsCharsetFromTextEncoding_APPLE_ROMAN()
989 : {
990 1 : check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN );
991 1 : }
992 :
993 1 : void WindowsCharsetFromTextEncoding_IBM_437()
994 : {
995 1 : check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_MS_1252 );
996 1 : }
997 :
998 1 : void WindowsCharsetFromTextEncoding_IBM_850()
999 : {
1000 1 : check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_MS_1252 );
1001 1 : }
1002 :
1003 1 : void WindowsCharsetFromTextEncoding_IBM_860()
1004 : {
1005 1 : check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_MS_1252 );
1006 1 : }
1007 :
1008 1 : void WindowsCharsetFromTextEncoding_IBM_861()
1009 : {
1010 1 : check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_MS_1252 );
1011 1 : }
1012 :
1013 1 : void WindowsCharsetFromTextEncoding_IBM_863()
1014 : {
1015 1 : check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_MS_1252 );
1016 1 : }
1017 :
1018 1 : void WindowsCharsetFromTextEncoding_IBM_865()
1019 : {
1020 1 : check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_MS_1252 );
1021 1 : }
1022 :
1023 1 : void WindowsCharsetFromTextEncoding_SYMBOL()
1024 : {
1025 1 : check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
1026 1 : }
1027 :
1028 1 : void WindowsCharsetFromTextEncoding_ASCII_US()
1029 : {
1030 1 : check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_MS_1252 );
1031 1 : }
1032 :
1033 1 : void WindowsCharsetFromTextEncoding_ISO_8859_1()
1034 : {
1035 1 : check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_MS_1252 );
1036 1 : }
1037 :
1038 1 : void WindowsCharsetFromTextEncoding_ISO_8859_2()
1039 : {
1040 1 : check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_MS_1252 );
1041 1 : }
1042 :
1043 1 : void WindowsCharsetFromTextEncoding_ISO_8859_3()
1044 : {
1045 1 : check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_MS_1252 );
1046 1 : }
1047 :
1048 1 : void WindowsCharsetFromTextEncoding_ISO_8859_4()
1049 : {
1050 1 : check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_MS_1257 );
1051 1 : }
1052 :
1053 1 : void WindowsCharsetFromTextEncoding_ISO_8859_5()
1054 : {
1055 1 : check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_MS_1252 );
1056 1 : }
1057 :
1058 1 : void WindowsCharsetFromTextEncoding_ISO_8859_6()
1059 : {
1060 1 : check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_MS_1252 );
1061 1 : }
1062 :
1063 1 : void WindowsCharsetFromTextEncoding_ISO_8859_7()
1064 : {
1065 1 : check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_MS_1252 );
1066 1 : }
1067 :
1068 1 : void WindowsCharsetFromTextEncoding_ISO_8859_8()
1069 : {
1070 1 : check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_MS_1252 );
1071 1 : }
1072 :
1073 1 : void WindowsCharsetFromTextEncoding_ISO_8859_9()
1074 : {
1075 1 : check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_MS_1252 );
1076 1 : }
1077 :
1078 1 : void WindowsCharsetFromTextEncoding_ISO_8859_14()
1079 : {
1080 1 : check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_MS_1252 );
1081 1 : }
1082 :
1083 1 : void WindowsCharsetFromTextEncoding_ISO_8859_15()
1084 : {
1085 1 : check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_MS_1252 );
1086 1 : }
1087 :
1088 1 : void WindowsCharsetFromTextEncoding_IBM_737()
1089 : {
1090 1 : check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_MS_1252 );
1091 1 : }
1092 :
1093 1 : void WindowsCharsetFromTextEncoding_IBM_775()
1094 : {
1095 1 : check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_MS_1252 );
1096 1 : }
1097 :
1098 1 : void WindowsCharsetFromTextEncoding_IBM_852()
1099 : {
1100 1 : check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_MS_1252 );
1101 1 : }
1102 :
1103 1 : void WindowsCharsetFromTextEncoding_IBM_855()
1104 : {
1105 1 : check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_MS_1252 );
1106 1 : }
1107 :
1108 1 : void WindowsCharsetFromTextEncoding_IBM_857()
1109 : {
1110 1 : check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_MS_1252 );
1111 1 : }
1112 :
1113 1 : void WindowsCharsetFromTextEncoding_IBM_862()
1114 : {
1115 1 : check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_MS_1252 );
1116 1 : }
1117 :
1118 1 : void WindowsCharsetFromTextEncoding_IBM_864()
1119 : {
1120 1 : check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_MS_1252 );
1121 1 : }
1122 :
1123 1 : void WindowsCharsetFromTextEncoding_IBM_866()
1124 : {
1125 1 : check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_MS_1252 );
1126 1 : }
1127 :
1128 1 : void WindowsCharsetFromTextEncoding_IBM_869()
1129 : {
1130 1 : check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_MS_1252 );
1131 1 : }
1132 :
1133 1 : void WindowsCharsetFromTextEncoding_MS_874()
1134 : {
1135 1 : check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_1252 );
1136 1 : }
1137 :
1138 1 : void WindowsCharsetFromTextEncoding_MS_1250()
1139 : {
1140 1 : check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1252 );
1141 1 : }
1142 :
1143 1 : void WindowsCharsetFromTextEncoding_MS_1251()
1144 : {
1145 1 : check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1252 );
1146 1 : }
1147 :
1148 1 : void WindowsCharsetFromTextEncoding_MS_1253()
1149 : {
1150 1 : check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1252 );
1151 1 : }
1152 :
1153 1 : void WindowsCharsetFromTextEncoding_MS_1254()
1154 : {
1155 1 : check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1252 );
1156 1 : }
1157 :
1158 1 : void WindowsCharsetFromTextEncoding_MS_1255()
1159 : {
1160 1 : check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1252 );
1161 1 : }
1162 :
1163 1 : void WindowsCharsetFromTextEncoding_MS_1256()
1164 : {
1165 1 : check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1252 );
1166 1 : }
1167 :
1168 1 : void WindowsCharsetFromTextEncoding_MS_1257()
1169 : {
1170 1 : check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1252 );
1171 1 : }
1172 :
1173 1 : void WindowsCharsetFromTextEncoding_MS_1258()
1174 : {
1175 1 : check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1252 );
1176 1 : }
1177 :
1178 1 : void WindowsCharsetFromTextEncoding_APPLE_ARABIC()
1179 : {
1180 1 : check( RTL_TEXTENCODING_APPLE_ARABIC, RTL_TEXTENCODING_MS_1252 );
1181 1 : }
1182 :
1183 1 : void WindowsCharsetFromTextEncoding_APPLE_CENTEURO()
1184 : {
1185 1 : check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_MS_1252 );
1186 1 : }
1187 :
1188 1 : void WindowsCharsetFromTextEncoding_APPLE_CROATIAN()
1189 : {
1190 1 : check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_MS_1252 );
1191 1 : }
1192 :
1193 1 : void WindowsCharsetFromTextEncoding_APPLE_CYRILLIC()
1194 : {
1195 1 : check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_MS_1252 );
1196 1 : }
1197 :
1198 1 : void WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI()
1199 : {
1200 1 : check( RTL_TEXTENCODING_APPLE_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
1201 1 : }
1202 :
1203 1 : void WindowsCharsetFromTextEncoding_APPLE_FARSI()
1204 : {
1205 1 : check( RTL_TEXTENCODING_APPLE_FARSI, RTL_TEXTENCODING_MS_1252 );
1206 1 : }
1207 :
1208 1 : void WindowsCharsetFromTextEncoding_APPLE_GREEK()
1209 : {
1210 1 : check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_MS_1252 );
1211 1 : }
1212 :
1213 1 : void WindowsCharsetFromTextEncoding_APPLE_GUJARATI()
1214 : {
1215 1 : check( RTL_TEXTENCODING_APPLE_GUJARATI, RTL_TEXTENCODING_MS_1252 );
1216 1 : }
1217 :
1218 1 : void WindowsCharsetFromTextEncoding_APPLE_GURMUKHI()
1219 : {
1220 1 : check( RTL_TEXTENCODING_APPLE_GURMUKHI, RTL_TEXTENCODING_MS_1252 );
1221 1 : }
1222 :
1223 1 : void WindowsCharsetFromTextEncoding_APPLE_HEBREW()
1224 : {
1225 1 : check( RTL_TEXTENCODING_APPLE_HEBREW, RTL_TEXTENCODING_MS_1252 );
1226 1 : }
1227 :
1228 1 : void WindowsCharsetFromTextEncoding_APPLE_ICELAND()
1229 : {
1230 1 : check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_MS_1252 );
1231 1 : }
1232 :
1233 1 : void WindowsCharsetFromTextEncoding_APPLE_ROMANIAN()
1234 : {
1235 1 : check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_MS_1252 );
1236 1 : }
1237 :
1238 1 : void WindowsCharsetFromTextEncoding_APPLE_THAI()
1239 : {
1240 1 : check( RTL_TEXTENCODING_APPLE_THAI, RTL_TEXTENCODING_MS_1252 );
1241 1 : }
1242 :
1243 1 : void WindowsCharsetFromTextEncoding_APPLE_TURKISH()
1244 : {
1245 1 : check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_MS_1252 );
1246 1 : }
1247 :
1248 1 : void WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN()
1249 : {
1250 1 : check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_MS_1252 );
1251 1 : }
1252 :
1253 1 : void WindowsCharsetFromTextEncoding_APPLE_CHINSIMP()
1254 : {
1255 1 : check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_MS_1252 );
1256 1 : }
1257 :
1258 1 : void WindowsCharsetFromTextEncoding_APPLE_CHINTRAD()
1259 : {
1260 1 : check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_MS_1252 );
1261 1 : }
1262 :
1263 1 : void WindowsCharsetFromTextEncoding_APPLE_JAPANESE()
1264 : {
1265 1 : check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_MS_1252 );
1266 1 : }
1267 :
1268 1 : void WindowsCharsetFromTextEncoding_APPLE_KOREAN()
1269 : {
1270 1 : check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_MS_1252 );
1271 1 : }
1272 :
1273 1 : void WindowsCharsetFromTextEncoding_MS_932()
1274 : {
1275 1 : check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_MS_1252 );
1276 1 : }
1277 :
1278 1 : void WindowsCharsetFromTextEncoding_MS_936()
1279 : {
1280 1 : check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_MS_1252 );
1281 1 : }
1282 :
1283 1 : void WindowsCharsetFromTextEncoding_MS_949()
1284 : {
1285 1 : check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_MS_1252 );
1286 1 : }
1287 :
1288 1 : void WindowsCharsetFromTextEncoding_MS_950()
1289 : {
1290 1 : check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_MS_1252 );
1291 1 : }
1292 :
1293 1 : void WindowsCharsetFromTextEncoding_SHIFT_JIS()
1294 : {
1295 1 : check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_MS_1252 );
1296 1 : }
1297 :
1298 1 : void WindowsCharsetFromTextEncoding_GB_2312()
1299 : {
1300 1 : check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_MS_1252 );
1301 1 : }
1302 :
1303 1 : void WindowsCharsetFromTextEncoding_GBT_12345()
1304 : {
1305 1 : check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_MS_1252 );
1306 1 : }
1307 :
1308 1 : void WindowsCharsetFromTextEncoding_GBK()
1309 : {
1310 1 : check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_MS_1252 );
1311 1 : }
1312 :
1313 1 : void WindowsCharsetFromTextEncoding_BIG5()
1314 : {
1315 1 : check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_MS_1252 );
1316 1 : }
1317 :
1318 1 : void WindowsCharsetFromTextEncoding_EUC_JP()
1319 : {
1320 1 : check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_MS_1252 );
1321 1 : }
1322 :
1323 1 : void WindowsCharsetFromTextEncoding_EUC_CN()
1324 : {
1325 1 : check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_MS_1252 );
1326 1 : }
1327 :
1328 1 : void WindowsCharsetFromTextEncoding_EUC_TW()
1329 : {
1330 1 : check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_MS_1252 );
1331 1 : }
1332 :
1333 1 : void WindowsCharsetFromTextEncoding_ISO_2022_JP()
1334 : {
1335 1 : check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_MS_1252 );
1336 1 : }
1337 :
1338 1 : void WindowsCharsetFromTextEncoding_ISO_2022_CN()
1339 : {
1340 1 : check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_MS_1252 );
1341 1 : }
1342 :
1343 1 : void WindowsCharsetFromTextEncoding_KOI8_R()
1344 : {
1345 1 : check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_MS_1252 );
1346 1 : }
1347 :
1348 1 : void WindowsCharsetFromTextEncoding_UTF7()
1349 : {
1350 1 : check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_MS_1252 );
1351 1 : }
1352 :
1353 1 : void WindowsCharsetFromTextEncoding_UTF8()
1354 : {
1355 1 : check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_MS_1252 );
1356 1 : }
1357 :
1358 1 : void WindowsCharsetFromTextEncoding_ISO_8859_10()
1359 : {
1360 1 : check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_MS_1252 );
1361 1 : }
1362 :
1363 1 : void WindowsCharsetFromTextEncoding_ISO_8859_13()
1364 : {
1365 1 : check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_MS_1252 );
1366 1 : }
1367 :
1368 1 : void WindowsCharsetFromTextEncoding_EUC_KR()
1369 : {
1370 1 : check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_MS_1252 );
1371 1 : }
1372 :
1373 1 : void WindowsCharsetFromTextEncoding_ISO_2022_KR()
1374 : {
1375 1 : check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_MS_1252 );
1376 1 : }
1377 :
1378 1 : void WindowsCharsetFromTextEncoding_JIS_X_0201()
1379 : {
1380 1 : check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_MS_1252 );
1381 1 : }
1382 :
1383 1 : void WindowsCharsetFromTextEncoding_JIS_X_0208()
1384 : {
1385 1 : check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_MS_1252 );
1386 1 : }
1387 :
1388 1 : void WindowsCharsetFromTextEncoding_JIS_X_0212()
1389 : {
1390 1 : check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_MS_1252 );
1391 1 : }
1392 :
1393 1 : void WindowsCharsetFromTextEncoding_MS_1361()
1394 : {
1395 1 : check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_MS_1252 );
1396 1 : }
1397 :
1398 1 : void WindowsCharsetFromTextEncoding_GB_18030()
1399 : {
1400 1 : check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_MS_1252 );
1401 1 : }
1402 :
1403 1 : void WindowsCharsetFromTextEncoding_BIG5_HKSCS()
1404 : {
1405 1 : check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_MS_1252 );
1406 1 : }
1407 :
1408 1 : void WindowsCharsetFromTextEncoding_TIS_620()
1409 : {
1410 1 : check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_MS_1252 );
1411 1 : }
1412 :
1413 1 : void WindowsCharsetFromTextEncoding_KOI8_U()
1414 : {
1415 1 : check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_MS_1252 );
1416 1 : }
1417 :
1418 1 : void WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI()
1419 : {
1420 1 : check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
1421 1 : }
1422 :
1423 1 : void WindowsCharsetFromTextEncoding_JAVA_UTF8()
1424 : {
1425 1 : check( RTL_TEXTENCODING_JAVA_UTF8, RTL_TEXTENCODING_MS_1252 );
1426 1 : }
1427 :
1428 2 : CPPUNIT_TEST_SUITE( testBestWindows );
1429 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1252 );
1430 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMAN );
1431 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_437 );
1432 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_850 );
1433 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_860 );
1434 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_861 );
1435 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_863 );
1436 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_865 );
1437 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SYMBOL );
1438 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ASCII_US );
1439 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_1 );
1440 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_2 );
1441 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_3 );
1442 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_4 );
1443 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_5 );
1444 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_6 );
1445 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_7 );
1446 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_8 );
1447 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_9 );
1448 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_14 );
1449 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_15 );
1450 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_737 );
1451 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_775 );
1452 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_852 );
1453 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_855 );
1454 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_857 );
1455 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_862 );
1456 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_864 );
1457 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_866 );
1458 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_869 );
1459 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_874 );
1460 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1250 );
1461 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1251 );
1462 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1253 );
1463 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1254 );
1464 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1255 );
1465 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1256 );
1466 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1257 );
1467 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1258 );
1468 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ARABIC );
1469 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CENTEURO );
1470 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CROATIAN );
1471 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CYRILLIC );
1472 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI );
1473 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_FARSI );
1474 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GREEK );
1475 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GUJARATI );
1476 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GURMUKHI );
1477 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_HEBREW );
1478 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ICELAND );
1479 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMANIAN );
1480 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_THAI );
1481 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_TURKISH );
1482 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN );
1483 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINSIMP );
1484 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINTRAD );
1485 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_JAPANESE );
1486 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_KOREAN );
1487 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_932 );
1488 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_936 );
1489 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_949 );
1490 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_950 );
1491 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SHIFT_JIS );
1492 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_2312 );
1493 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBT_12345 );
1494 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBK );
1495 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5 );
1496 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_JP );
1497 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_CN );
1498 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_TW );
1499 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_JP );
1500 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_CN );
1501 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_R );
1502 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF7 );
1503 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF8 );
1504 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_10 );
1505 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_13 );
1506 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_KR );
1507 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_KR );
1508 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0201 );
1509 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0208 );
1510 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0212 );
1511 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1361 );
1512 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_18030 );
1513 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5_HKSCS );
1514 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_TIS_620 );
1515 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_U );
1516 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI );
1517 1 : CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JAVA_UTF8 );
1518 :
1519 2 : CPPUNIT_TEST_SUITE_END( );
1520 : };
1521 :
1522 3 : class testTextEncodingInfo: public CppUnit::TestFixture
1523 : {
1524 : public:
1525 : // initialise your test code values here.
1526 1 : void setUp() SAL_OVERRIDE
1527 : {
1528 1 : }
1529 :
1530 1 : void tearDown() SAL_OVERRIDE
1531 : {
1532 1 : }
1533 :
1534 : // not implemented encoding test
1535 1 : void testTextEncodingInfo_001()
1536 : {
1537 : rtl_TextEncodingInfo aInfo1, aInfo2, aInfo3, aInfo4, aInfo5;
1538 1 : aInfo1.StructSize = 4;
1539 : // not implemented
1540 1 : bool bRes1 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo1 );
1541 : // implemented
1542 1 : bool bRes11 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo1 );
1543 1 : CPPUNIT_ASSERT_MESSAGE("should return sal_False.", !bRes1 && !bRes11);
1544 :
1545 1 : aInfo2.StructSize = 5;
1546 1 : bool bRes2 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo2 );
1547 1 : bool bRes21 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo2 );
1548 1 : CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes2 && bRes21 && aInfo2.MinimumCharSize >=1 );
1549 :
1550 1 : aInfo3.StructSize = 6;
1551 1 : bool bRes3 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo3 );
1552 1 : bool bRes31 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo3 );
1553 1 : CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes3 && bRes31);
1554 : //&& aInfo2.MinimumCharSize >=1 );
1555 :
1556 1 : aInfo4.StructSize = 8;
1557 1 : bool bRes4 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo4 );
1558 1 : bool bRes41 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo4);
1559 1 : CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes4 && bRes41);
1560 : // && aInfo2.MinimumCharSize >=1 );
1561 :
1562 1 : aInfo5.StructSize = sizeof aInfo5;
1563 1 : bool bRes5 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo5 );
1564 1 : CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", !bRes5 && aInfo5.Flags == 0);
1565 :
1566 1 : }
1567 2 : CPPUNIT_TEST_SUITE(testTextEncodingInfo);
1568 1 : CPPUNIT_TEST(testTextEncodingInfo_001);
1569 2 : CPPUNIT_TEST_SUITE_END();
1570 : };
1571 :
1572 6 : class testEncodingFromUnix: public CppUnit::TestFixture
1573 : {
1574 : public:
1575 1 : void testIso8859() {
1576 1 : check(RTL_TEXTENCODING_DONTKNOW, "ISO8859");
1577 1 : check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-0");
1578 1 : check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-01");
1579 1 : check(RTL_TEXTENCODING_DONTKNOW, "ISO8859_1");
1580 1 : check(RTL_TEXTENCODING_DONTKNOW, "ISO88591");
1581 1 : check(RTL_TEXTENCODING_ISO_8859_1, "ISO8859-1");
1582 1 : check(RTL_TEXTENCODING_ISO_8859_2, "ISO8859-2");
1583 1 : check(RTL_TEXTENCODING_ISO_8859_3, "ISO8859-3");
1584 1 : check(RTL_TEXTENCODING_ISO_8859_4, "ISO8859-4");
1585 1 : check(RTL_TEXTENCODING_ISO_8859_5, "ISO8859-5");
1586 1 : check(RTL_TEXTENCODING_ISO_8859_6, "ISO8859-6");
1587 1 : check(RTL_TEXTENCODING_ISO_8859_7, "ISO8859-7");
1588 1 : check(RTL_TEXTENCODING_ISO_8859_8, "ISO8859-8");
1589 1 : check(RTL_TEXTENCODING_ISO_8859_9, "ISO8859-9");
1590 1 : check(RTL_TEXTENCODING_ISO_8859_10, "ISO8859-10");
1591 1 : check(RTL_TEXTENCODING_TIS_620, "ISO8859-11");
1592 1 : check(RTL_TEXTENCODING_ISO_8859_13, "ISO8859-13");
1593 1 : check(RTL_TEXTENCODING_ISO_8859_14, "ISO8859-14");
1594 1 : check(RTL_TEXTENCODING_ISO_8859_15, "ISO8859-15");
1595 1 : }
1596 :
1597 1 : void testTis620() {
1598 1 : check(RTL_TEXTENCODING_DONTKNOW, "TIS620");
1599 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620-0");
1600 1 : check(RTL_TEXTENCODING_DONTKNOW, "TIS620-1");
1601 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620-2529");
1602 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620-2533");
1603 1 : check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-0");
1604 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620.2529-1");
1605 1 : check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-2");
1606 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-0");
1607 1 : check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-1");
1608 1 : check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2533-2");
1609 1 : }
1610 :
1611 2 : CPPUNIT_TEST_SUITE(testEncodingFromUnix);
1612 1 : CPPUNIT_TEST(testIso8859);
1613 1 : CPPUNIT_TEST(testTis620);
1614 2 : CPPUNIT_TEST_SUITE_END();
1615 :
1616 : private:
1617 30 : void check(rtl_TextEncoding expected, char const * input) {
1618 60 : CPPUNIT_ASSERT_EQUAL_MESSAGE(
1619 30 : input, expected, rtl_getTextEncodingFromUnixCharset(input));
1620 30 : }
1621 : };
1622 :
1623 : }
1624 :
1625 1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestMime);
1626 1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestUnix);
1627 1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestWindows);
1628 1 : CPPUNIT_TEST_SUITE_REGISTRATION(testTextEncodingInfo);
1629 1 : CPPUNIT_TEST_SUITE_REGISTRATION(testEncodingFromUnix);
1630 :
1631 4 : CPPUNIT_PLUGIN_IMPLEMENT();
1632 :
1633 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|