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