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