|
1 "{ Package: 'exept:regression' }" |
|
2 |
|
3 TestCase subclass:#CharacterEncoderTests |
|
4 instanceVariableNames:'' |
|
5 classVariableNames:'' |
|
6 poolDictionaries:'' |
|
7 category:'Collections-Text-Encodings' |
|
8 ! |
|
9 |
|
10 !CharacterEncoderTests class methodsFor:'documentation'! |
|
11 |
|
12 documentation |
|
13 " |
|
14 documentation to be added. |
|
15 |
|
16 [author:] |
|
17 Claus Gittinger (cg@alan) |
|
18 |
|
19 [instance variables:] |
|
20 |
|
21 [class variables:] |
|
22 |
|
23 [see also:] |
|
24 |
|
25 " |
|
26 ! |
|
27 |
|
28 history |
|
29 "Created: / 11.2.2004 / 12:25:54 / cg" |
|
30 ! ! |
|
31 |
|
32 !CharacterEncoderTests methodsFor:'helpers'! |
|
33 |
|
34 xTestReversability:encoderClass |
|
35 self xTestReversability:encoderClass skip:#() |
|
36 |
|
37 " |
|
38 self new xTestReversability: (CharacterEncoder::ISO8859_1) |
|
39 " |
|
40 ! |
|
41 |
|
42 xTestReversability:encoderClass skip:skippedCodes |
|
43 |encoder| |
|
44 |
|
45 encoder := encoderClass new. |
|
46 0 to:255 do:[:code | |
|
47 |unicode code2| |
|
48 |
|
49 (skippedCodes includes:code) ifTrue:[ |
|
50 self should:[ encoder decode:code ] raise:CharacterEncoderError. |
|
51 ] ifFalse:[ |
|
52 unicode := encoder decode:code. |
|
53 code2 := encoder encode:unicode. |
|
54 self assert:(code == code2). |
|
55 ] |
|
56 ]. |
|
57 |
|
58 " |
|
59 self new xTestReversability: (CharacterEncoder::ISO8859_1) |
|
60 " |
|
61 ! ! |
|
62 |
|
63 !CharacterEncoderTests methodsFor:'initialize / release'! |
|
64 |
|
65 setUp |
|
66 "common setup - invoked before testing." |
|
67 |
|
68 super setUp |
|
69 ! |
|
70 |
|
71 tearDown |
|
72 "common cleanup - invoked after testing." |
|
73 |
|
74 super tearDown |
|
75 ! ! |
|
76 |
|
77 !CharacterEncoderTests methodsFor:'tests'! |
|
78 |
|
79 test1 |
|
80 self xTestReversability: (CharacterEncoder::ISO8859_1). |
|
81 self xTestReversability: (CharacterEncoder::ISO8859_2). |
|
82 self xTestReversability: (CharacterEncoder::ISO8859_3) skip:#( 16rA5 16rAE 16rBE 16rC3 16rD0 16rE3 16rF0 ). |
|
83 self xTestReversability: (CharacterEncoder::ISO8859_4). |
|
84 self xTestReversability: (CharacterEncoder::ISO8859_5). |
|
85 self xTestReversability: (CharacterEncoder::ISO8859_6) skip:#( 16rA1 16rA2 16rA3 16rA5 16rA6 16rA7 |
|
86 16rA8 16rA9 16rAA 16rAB 16rAE 16rAF |
|
87 16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7 |
|
88 16rB8 16rB9 16rBA 16rBC 16rBD 16rBE |
|
89 16rC0 |
|
90 16rDB 16rDC 16rDD 16rDE 16rDF |
|
91 16rF3 16rF4 16rF5 16rF6 16rF7 |
|
92 16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF |
|
93 ). |
|
94 self xTestReversability: (CharacterEncoder::ISO8859_7) skip:#( 16rAE 16rD2 16rFF ). |
|
95 self xTestReversability: (CharacterEncoder::ISO8859_8) skip:#( 16rA1 16rBF |
|
96 16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7 |
|
97 16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF |
|
98 16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7 |
|
99 16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE |
|
100 16rFB 16rFC 16rFF |
|
101 ). |
|
102 self xTestReversability: (CharacterEncoder::ISO8859_9). |
|
103 self xTestReversability: (CharacterEncoder::ISO8859_10). |
|
104 self xTestReversability: (CharacterEncoder::ISO8859_11) skip:#( 16rDB 16rDC 16rDD 16rDE 16rFC 16rFD 16rFE 16rFF ). |
|
105 self xTestReversability: (CharacterEncoder::ISO8859_13). |
|
106 self xTestReversability: (CharacterEncoder::ISO8859_14). |
|
107 self xTestReversability: (CharacterEncoder::ISO8859_15). |
|
108 self xTestReversability: (CharacterEncoder::ISO8859_16). |
|
109 self xTestReversability: (CharacterEncoder::KOI8_U). |
|
110 self xTestReversability: (CharacterEncoder::KOI8_R). |
|
111 |
|
112 self xTestReversability: (CharacterEncoder::GSM0338) skip:( 16r80 to: 16rFF). |
|
113 |
|
114 " |
|
115 self new test1 |
|
116 " |
|
117 ! ! |
|
118 |
|
119 !CharacterEncoderTests class methodsFor:'documentation'! |
|
120 |
|
121 version |
|
122 ^ '$Header$' |
|
123 ! ! |