equal
deleted
inserted
replaced
220 |s1 s2 s3| |
220 |s1 s2 s3| |
221 |
221 |
222 s1 := (Character value:eachCodePoint) asString. |
222 s1 := (Character value:eachCodePoint) asString. |
223 s2 := encoder encodeString:s1. |
223 s2 := encoder encodeString:s1. |
224 self assert:(s2 size == 2). |
224 self assert:(s2 size == 2). |
225 self assert:((s2 first codePoint bitAnd:2r11100000) == 2r11000000). |
225 self assert:((s2 first codePoint bitAnd:2r11100000) == 2r11000000). |
226 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
226 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
227 s3 := encoder decodeString:s2. |
227 s3 := encoder decodeString:s2. |
228 self assert:(s1 = s3). |
228 self assert:(s1 = s3). |
229 ]. |
229 ]. |
230 |
230 |
231 "/ 800 .. FFFF -> 1110xxxx 10xxxxxx 10xxxxxx |
231 "/ 800 .. FFFF -> 1110xxxx 10xxxxxx 10xxxxxx |
235 |s1 s2 s3| |
235 |s1 s2 s3| |
236 |
236 |
237 s1 := (Character value:eachCodePoint) asString. |
237 s1 := (Character value:eachCodePoint) asString. |
238 s2 := encoder encodeString:s1. |
238 s2 := encoder encodeString:s1. |
239 self assert:(s2 size == 3). |
239 self assert:(s2 size == 3). |
240 self assert:((s2 first codePoint bitAnd:2r11110000) == 2r11100000). |
240 self assert:((s2 first codePoint bitAnd:2r11110000) == 2r11100000). |
241 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
241 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
242 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
242 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
243 s3 := encoder decodeString:s2. |
243 s3 := encoder decodeString:s2. |
244 self assert:(s1 = s3). |
244 self assert:(s1 = s3). |
245 ]. |
245 ]. |
246 |
246 |
247 "/ 10000 .. 1FFFFF -> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
247 "/ 10000 .. 1FFFFF -> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
251 |s1 s2 s3| |
251 |s1 s2 s3| |
252 |
252 |
253 s1 := (Character value:eachCodePoint) asString. |
253 s1 := (Character value:eachCodePoint) asString. |
254 s2 := encoder encodeString:s1. |
254 s2 := encoder encodeString:s1. |
255 self assert:(s2 size == 4). |
255 self assert:(s2 size == 4). |
256 self assert:((s2 first codePoint bitAnd:2r11111000) == 2r11110000). |
256 self assert:((s2 first codePoint bitAnd:2r11111000) == 2r11110000). |
257 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
257 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
258 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
258 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
259 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
259 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
260 s3 := encoder decodeString:s2. |
260 s3 := encoder decodeString:s2. |
261 self assert:(s1 = s3). |
261 self assert:(s1 = s3). |
262 ]. |
262 ]. |
263 |
263 |
264 "/ 200000 .. 3FFFFFF -> 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
264 "/ 200000 .. 3FFFFFF -> 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
268 |s1 s2 s3| |
268 |s1 s2 s3| |
269 |
269 |
270 s1 := (Character value:eachCodePoint) asString. |
270 s1 := (Character value:eachCodePoint) asString. |
271 s2 := encoder encodeString:s1. |
271 s2 := encoder encodeString:s1. |
272 self assert:(s2 size == 5). |
272 self assert:(s2 size == 5). |
273 self assert:((s2 first codePoint bitAnd:2r11111100) == 2r11111000). |
273 self assert:((s2 first codePoint bitAnd:2r11111100) == 2r11111000). |
274 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
274 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
275 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
275 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
276 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
276 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
277 self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000). |
277 self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000). |
278 s3 := encoder decodeString:s2. |
278 s3 := encoder decodeString:s2. |
279 self assert:(s1 = s3). |
279 self assert:(s1 = s3). |
280 ]. |
280 ]. |
281 |
281 |
282 "/ ST/X limitation: only 30 bit integers (to avoid largeInteger codePoint) |
282 "/ ST/X limitation: only 30 bit integers (to avoid largeInteger codePoint) |
288 |s1 s2 s3| |
288 |s1 s2 s3| |
289 |
289 |
290 s1 := (Character value:eachCodePoint) asString. |
290 s1 := (Character value:eachCodePoint) asString. |
291 s2 := encoder encodeString:s1. |
291 s2 := encoder encodeString:s1. |
292 self assert:(s2 size == 6). |
292 self assert:(s2 size == 6). |
293 self assert:((s2 first codePoint bitAnd:2r11111110) == 2r11111100). |
293 self assert:((s2 first codePoint bitAnd:2r11111110) == 2r11111100). |
294 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
294 self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000). |
295 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
295 self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000). |
296 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
296 self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000). |
297 self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000). |
297 self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000). |
298 self assert:((s2 sixth codePoint bitAnd:2r11000000) == 2r10000000). |
298 self assert:((s2 sixth codePoint bitAnd:2r11000000) == 2r10000000). |
299 s3 := encoder decodeString:s2. |
299 s3 := encoder decodeString:s2. |
300 self assert:(s1 = s3). |
300 self assert:(s1 = s3). |
301 ]. |
301 ]. |
302 |
302 |
303 " |
303 " |
308 !CharacterEncoderTests class methodsFor:'documentation'! |
308 !CharacterEncoderTests class methodsFor:'documentation'! |
309 |
309 |
310 version |
310 version |
311 ^ '$Header$' |
311 ^ '$Header$' |
312 ! ! |
312 ! ! |
|
313 |