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