def test_3(self): # Octal listing of a charset. output = '''\ ISO-8859-1 000 NU 020 DL 040 SP 060 0 100 At 120 P 140 \'! 160 p 001 SH 021 D1 041 ! 061 1 101 A 121 Q 141 a 161 q 002 SX 022 D2 042 " 062 2 102 B 122 R 142 b 162 r 003 EX 023 D3 043 Nb 063 3 103 C 123 S 143 c 163 s 004 ET 024 D4 044 DO 064 4 104 D 124 T 144 d 164 t 005 EQ 025 NK 045 % 065 5 105 E 125 U 145 e 165 u 006 AK 026 SY 046 & 066 6 106 F 126 V 146 f 166 v 007 BL 027 EB 047 \' 067 7 107 G 127 W 147 g 167 w 010 BS 030 CN 050 ( 070 8 110 H 130 X 150 h 170 x 011 HT 031 EM 051 ) 071 9 111 I 131 Y 151 i 171 y 012 LF 032 SB 052 * 072 : 112 J 132 Z 152 j 172 z 013 VT 033 EC 053 + 073 ; 113 K 133 <( 153 k 173 (! 014 FF 034 FS 054 , 074 < 114 L 134 // 154 l 174 !! 015 CR 035 GS 055 - 075 = 115 M 135 )> 155 m 175 !) 016 SO 036 RS 056 . 076 > 116 N 136 \'> 156 n 176 \'? 017 SI 037 US 057 / 077 ? 117 O 137 _ 157 o 177 DT 200 PA 220 DC 240 NS 260 DG 300 A! 320 D- 340 a! 360 d- 201 HO 221 P1 241 !I 261 +- 301 A\' 321 N? 341 a\' 361 n? 202 BH 222 P2 242 Ct 262 2S 302 A> 322 O! 342 a> 362 o! 203 NH 223 TS 243 Pd 263 3S 303 A? 323 O\' 343 a? 363 o\' 204 IN 224 CC 244 Cu 264 \'\' 304 A: 324 O> 344 a: 364 o> 205 NL 225 MW 245 Ye 265 My 305 AA 325 O? 345 aa 365 o? 206 SA 226 SG 246 BB 266 PI 306 AE 326 O: 346 ae 366 o: 207 ES 227 EG 247 SE 267 .M 307 C, 327 *X 347 c, 367 -: 210 HS 230 SS 250 \': 270 \', 310 E! 330 O/ 350 e! 370 o/ 211 HJ 231 GC 251 Co 271 1S 311 E\' 331 U! 351 e\' 371 u! 212 VS 232 SC 252 -a 272 -o 312 E> 332 U\' 352 e> 372 u\' 213 PD 233 CI 253 << 273 >> 313 E: 333 U> 353 e: 373 u> 214 PU 234 ST 254 NO 274 14 314 I! 334 U: 354 i! 374 u: 215 RI 235 OC 255 -- 275 12 315 I\' 335 Y\' 355 i\' 375 y\' 216 S2 236 PM 256 Rg 276 34 316 I> 336 TH 356 i> 376 th 217 S3 237 AC 257 \'m 277 ?I 317 I: 337 ss 357 i: 377 y: ''' fragments = [] listings.list_concise_charset('latin-1', 8, fragments.append) self.assertEqual(''.join(fragments), output)
def test_1(self): # Decimal listing of a charset. output = '''\ ISO-8859-1 0 NU 16 DL 32 SP 48 0 64 At 80 P 96 \'! 112 p 1 SH 17 D1 33 ! 49 1 65 A 81 Q 97 a 113 q 2 SX 18 D2 34 " 50 2 66 B 82 R 98 b 114 r 3 EX 19 D3 35 Nb 51 3 67 C 83 S 99 c 115 s 4 ET 20 D4 36 DO 52 4 68 D 84 T 100 d 116 t 5 EQ 21 NK 37 % 53 5 69 E 85 U 101 e 117 u 6 AK 22 SY 38 & 54 6 70 F 86 V 102 f 118 v 7 BL 23 EB 39 \' 55 7 71 G 87 W 103 g 119 w 8 BS 24 CN 40 ( 56 8 72 H 88 X 104 h 120 x 9 HT 25 EM 41 ) 57 9 73 I 89 Y 105 i 121 y 10 LF 26 SB 42 * 58 : 74 J 90 Z 106 j 122 z 11 VT 27 EC 43 + 59 ; 75 K 91 <( 107 k 123 (! 12 FF 28 FS 44 , 60 < 76 L 92 // 108 l 124 !! 13 CR 29 GS 45 - 61 = 77 M 93 )> 109 m 125 !) 14 SO 30 RS 46 . 62 > 78 N 94 \'> 110 n 126 \'? 15 SI 31 US 47 / 63 ? 79 O 95 _ 111 o 127 DT 128 PA 144 DC 160 NS 176 DG 192 A! 208 D- 224 a! 240 d- 129 HO 145 P1 161 !I 177 +- 193 A\' 209 N? 225 a\' 241 n? 130 BH 146 P2 162 Ct 178 2S 194 A> 210 O! 226 a> 242 o! 131 NH 147 TS 163 Pd 179 3S 195 A? 211 O\' 227 a? 243 o\' 132 IN 148 CC 164 Cu 180 \'\' 196 A: 212 O> 228 a: 244 o> 133 NL 149 MW 165 Ye 181 My 197 AA 213 O? 229 aa 245 o? 134 SA 150 SG 166 BB 182 PI 198 AE 214 O: 230 ae 246 o: 135 ES 151 EG 167 SE 183 .M 199 C, 215 *X 231 c, 247 -: 136 HS 152 SS 168 \': 184 \', 200 E! 216 O/ 232 e! 248 o/ 137 HJ 153 GC 169 Co 185 1S 201 E\' 217 U! 233 e\' 249 u! 138 VS 154 SC 170 -a 186 -o 202 E> 218 U\' 234 e> 250 u\' 139 PD 155 CI 171 << 187 >> 203 E: 219 U> 235 e: 251 u> 140 PU 156 ST 172 NO 188 14 204 I! 220 U: 236 i! 252 u: 141 RI 157 OC 173 -- 189 12 205 I\' 221 Y\' 237 i\' 253 y\' 142 S2 158 PM 174 Rg 190 34 206 I> 222 TH 238 i> 254 th 143 S3 159 AC 175 \'m 191 ?I 207 I: 223 ss 239 i: 255 y: ''' fragments = [] listings.list_concise_charset('latin-1', 10, fragments.append) self.assertEqual(''.join(fragments), output)
def test_2(self): # Hexadecimal listing of a charset. output = '''\ ISO-8859-1 00 NU 10 DL 20 SP 30 0 40 At 50 P 60 \'! 70 p 01 SH 11 D1 21 ! 31 1 41 A 51 Q 61 a 71 q 02 SX 12 D2 22 " 32 2 42 B 52 R 62 b 72 r 03 EX 13 D3 23 Nb 33 3 43 C 53 S 63 c 73 s 04 ET 14 D4 24 DO 34 4 44 D 54 T 64 d 74 t 05 EQ 15 NK 25 % 35 5 45 E 55 U 65 e 75 u 06 AK 16 SY 26 & 36 6 46 F 56 V 66 f 76 v 07 BL 17 EB 27 \' 37 7 47 G 57 W 67 g 77 w 08 BS 18 CN 28 ( 38 8 48 H 58 X 68 h 78 x 09 HT 19 EM 29 ) 39 9 49 I 59 Y 69 i 79 y 0a LF 1a SB 2a * 3a : 4a J 5a Z 6a j 7a z 0b VT 1b EC 2b + 3b ; 4b K 5b <( 6b k 7b (! 0c FF 1c FS 2c , 3c < 4c L 5c // 6c l 7c !! 0d CR 1d GS 2d - 3d = 4d M 5d )> 6d m 7d !) 0e SO 1e RS 2e . 3e > 4e N 5e \'> 6e n 7e \'? 0f SI 1f US 2f / 3f ? 4f O 5f _ 6f o 7f DT 80 PA 90 DC a0 NS b0 DG c0 A! d0 D- e0 a! f0 d- 81 HO 91 P1 a1 !I b1 +- c1 A\' d1 N? e1 a\' f1 n? 82 BH 92 P2 a2 Ct b2 2S c2 A> d2 O! e2 a> f2 o! 83 NH 93 TS a3 Pd b3 3S c3 A? d3 O\' e3 a? f3 o\' 84 IN 94 CC a4 Cu b4 \'\' c4 A: d4 O> e4 a: f4 o> 85 NL 95 MW a5 Ye b5 My c5 AA d5 O? e5 aa f5 o? 86 SA 96 SG a6 BB b6 PI c6 AE d6 O: e6 ae f6 o: 87 ES 97 EG a7 SE b7 .M c7 C, d7 *X e7 c, f7 -: 88 HS 98 SS a8 \': b8 \', c8 E! d8 O/ e8 e! f8 o/ 89 HJ 99 GC a9 Co b9 1S c9 E\' d9 U! e9 e\' f9 u! 8a VS 9a SC aa -a ba -o ca E> da U\' ea e> fa u\' 8b PD 9b CI ab << bb >> cb E: db U> eb e: fb u> 8c PU 9c ST ac NO bc 14 cc I! dc U: ec i! fc u: 8d RI 9d OC ad -- bd 12 cd I\' dd Y\' ed i\' fd y\' 8e S2 9e PM ae Rg be 34 ce I> de TH ee i> fe th 8f S3 9f AC af \'m bf ?I cf I: df ss ef i: ff y: ''' fragments = [] listings.list_concise_charset('latin-1', 16, fragments.append) self.assertEqual(''.join(fragments), output)