--- a/RegressionTests__CharacterEncoderTests.st Wed Jun 29 13:00:17 2016 +0000
+++ b/RegressionTests__CharacterEncoderTests.st Wed Jun 29 15:55:29 2016 +0200
@@ -1,4 +1,4 @@
-"{ Package: 'exept:regression' }"
+"{ Package: 'stx:goodies/regression' }"
"{ NameSpace: RegressionTests }"
@@ -149,22 +149,22 @@
self xTestReversability: (CharacterEncoderImplementations::ISO8859_4).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_5).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_6) skip:#( 16rA1 16rA2 16rA3 16rA5 16rA6 16rA7
- 16rA8 16rA9 16rAA 16rAB 16rAE 16rAF
- 16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7
- 16rB8 16rB9 16rBA 16rBC 16rBD 16rBE
- 16rC0
- 16rDB 16rDC 16rDD 16rDE 16rDF
- 16rF3 16rF4 16rF5 16rF6 16rF7
- 16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF
- ).
+ 16rA8 16rA9 16rAA 16rAB 16rAE 16rAF
+ 16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7
+ 16rB8 16rB9 16rBA 16rBC 16rBD 16rBE
+ 16rC0
+ 16rDB 16rDC 16rDD 16rDE 16rDF
+ 16rF3 16rF4 16rF5 16rF6 16rF7
+ 16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF
+ ).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_7) skip:#( 16rAE 16rD2 16rFF ).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_8) skip:#( 16rA1 16rBF
- 16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7
- 16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF
- 16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7
- 16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE
- 16rFB 16rFC 16rFF
- ).
+ 16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7
+ 16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF
+ 16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7
+ 16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE
+ 16rFB 16rFC 16rFF
+ ).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_9).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_10).
self xTestReversability: (CharacterEncoderImplementations::ISO8859_11) skip:#( 16rDB 16rDC 16rDD 16rDE 16rFC 16rFD 16rFE 16rFF ).
@@ -191,113 +191,113 @@
"/ reversibility
(0 to:16r1FFFF) do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"/ 00 .. 7F -> 0xxxxxxx
#[16r00 16r01 16r02 16r04 16r08 16r10 16r20 16r40
- 16r03 16r07 16r0F 16r1F 16r3F 16r7F]
+ 16r03 16r07 16r0F 16r1F 16r3F 16r7F]
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- s3 := encoder decodeString:s2.
- self assert:(s1 = s2).
- self assert:(s2 = s3).
- self assert:(s2 size == 1).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s2).
+ self assert:(s2 = s3).
+ self assert:(s2 size == 1).
].
"/ 80 .. 7FF -> 110xxxxx 10xxxxxx
#(16r80 16r100 16r200 16r400
- 16r0FF 16r1FF 16r3FF 16r7FF)
+ 16r0FF 16r1FF 16r3FF 16r7FF)
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- self assert:(s2 size == 2).
- self assert:((s2 first codePoint bitAnd:2r11100000) == 2r11000000).
- self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ self assert:(s2 size == 2).
+ self assert:((s2 first codePoint bitAnd:2r11100000) == 2r11000000).
+ self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"/ 800 .. FFFF -> 1110xxxx 10xxxxxx 10xxxxxx
#(16r800 16r1000 16r2000 16r4000 16r8000
- 16r0FFF 16r1FFF 16r3FFF 16r7FFF 16rFFFF)
+ 16r0FFF 16r1FFF 16r3FFF 16r7FFF 16rFFFF)
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- self assert:(s2 size == 3).
- self assert:((s2 first codePoint bitAnd:2r11110000) == 2r11100000).
- self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ self assert:(s2 size == 3).
+ self assert:((s2 first codePoint bitAnd:2r11110000) == 2r11100000).
+ self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"/ 10000 .. 1FFFFF -> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
#(16r10000 16r20000 16r40000 16r80000 16r10000
- 16r1FFFF 16r3FFFF 16r7FFFF 16rFFFFF 16r1FFFFF)
+ 16r1FFFF 16r3FFFF 16r7FFFF 16rFFFFF 16r1FFFFF)
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- self assert:(s2 size == 4).
- self assert:((s2 first codePoint bitAnd:2r11111000) == 2r11110000).
- self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ self assert:(s2 size == 4).
+ self assert:((s2 first codePoint bitAnd:2r11111000) == 2r11110000).
+ self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"/ 200000 .. 3FFFFFF -> 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
#(16r200000 16r400000 16r800000 16r1000000 16r2000000
- 16r3FFFFF 16r7FFFFF 16r0FFFFFF 16r1FFFFFF 16r3FFFFFF)
+ 16r3FFFFF 16r7FFFFF 16r0FFFFFF 16r1FFFFFF 16r3FFFFFF)
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- self assert:(s2 size == 5).
- self assert:((s2 first codePoint bitAnd:2r11111100) == 2r11111000).
- self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000).
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ self assert:(s2 size == 5).
+ self assert:((s2 first codePoint bitAnd:2r11111100) == 2r11111000).
+ self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000).
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"/ ST/X limitation: only 30 bit integers (to avoid largeInteger codePoint)
"/ 4000000 .. 7FFFFFFF -> 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
#(16r4000000 16r8000000 16r10000000 16r20000000 "16r40000000"
- 16r7FFFFFF 16r0FFFFFFF 16r1FFFFFFF "16r3FFFFFFF 16r7FFFFFFF")
+ 16r7FFFFFF 16r0FFFFFFF 16r1FFFFFFF "16r3FFFFFFF 16r7FFFFFFF")
do:[:eachCodePoint |
- |s1 s2 s3|
+ |s1 s2 s3|
- s1 := (Character value:eachCodePoint) asString.
- s2 := encoder encodeString:s1.
- self assert:(s2 size == 6).
- self assert:((s2 first codePoint bitAnd:2r11111110) == 2r11111100).
- self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000).
- self assert:((s2 sixth codePoint bitAnd:2r11000000) == 2r10000000).
- s3 := encoder decodeString:s2.
- self assert:(s1 = s3).
+ s1 := (Character value:eachCodePoint) asString.
+ s2 := encoder encodeString:s1.
+ self assert:(s2 size == 6).
+ self assert:((s2 first codePoint bitAnd:2r11111110) == 2r11111100).
+ self assert:((s2 second codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 third codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 fourth codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 fifth codePoint bitAnd:2r11000000) == 2r10000000).
+ self assert:((s2 sixth codePoint bitAnd:2r11000000) == 2r10000000).
+ s3 := encoder decodeString:s2.
+ self assert:(s1 = s3).
].
"