RegressionTests__EncoderTests.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2038 358eea14f4dc
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2038
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
     1
"{ Encoding: utf8 }"
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
     2
1692
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/regression' }"
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
"{ NameSpace: RegressionTests }"
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
TestCase subclass:#EncoderTests
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:''
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	category:'tests-Regression-Collections'
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!EncoderTests class methodsFor:'queries'!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
coveredClassNames
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    ^ #( Base64Coder Base32Coder )
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    "Modified: / 26-08-2017 / 12:38:14 / cg"
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
! !
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!EncoderTests methodsFor:'testing'!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
test01_base64
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    |verbose|
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    verbose := false.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
   0 to:80 do:[:l |
2038
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    31
        |coder decoder data encoding decoded decoded2|
1692
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
        data := (0 to:l) asByteArray copyTo:l.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
        coder := Base64Coder on:'' writeStream.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
        coder nextPutAll:data.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
        coder flush.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
        encoding := coder contents.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
        decoder := Base64Coder on:encoding readStream.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
        decoded := decoder upToEnd.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
        verbose ifTrue:[
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
            Transcript showCR:(data printString).
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
            Transcript show:' -> '; showCR:encoding.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
            Transcript show:' ---> '; showCR:(decoded printString).
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
        ].
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
        
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
        self assert:(data = decoded).
2038
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    50
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    51
        decoded2 := Base64Coder decode:encoding.
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    52
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    53
        verbose ifTrue:[
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    54
            Transcript showCR:(data printString).
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    55
            Transcript show:' -> '; showCR:encoding.
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    56
            Transcript show:' ---> '; showCR:(decoded2 printString).
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    57
        ].
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    58
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    59
        self assert:(data = decoded2).
1692
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
   ].
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     self new test01_base64
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    "
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "Created: / 26-08-2017 / 12:38:40 / cg"
2038
358eea14f4dc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1692
diff changeset
    67
    "Modified: / 30-09-2018 / 17:02:02 / Claus Gittinger"
1692
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
test11_base32
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    |verbose|
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    verbose := false.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    0 to:80 do:[:l |
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        |coder decoder data encoding decoded|
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
        data := (0 to:l) asByteArray copyTo:l.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
        coder := Base32Coder on:'' writeStream.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
        coder nextPutAll:data.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
        coder flush.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        encoding := coder contents.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
        decoder := Base32Coder on:encoding readStream.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
        decoded := decoder upToEnd.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
        verbose ifTrue:[
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
            Transcript showCR:(data printString).
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
            Transcript show:' -> '; showCR:encoding.
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
            Transcript show:' ---> '; showCR:(decoded printString).
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
        ].
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
        self assert:(data = decoded).
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    ].
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
     self new test11_base32
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    "
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    "Created: / 26-08-2017 / 12:38:59 / cg"
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
! !
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!EncoderTests class methodsFor:'documentation'!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
version
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    ^ '$Header$'
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
version_CVS
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    ^ '$Header$'
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
! !
d5eccdfd4ac1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112