JavaUTF8Tests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 16 Sep 2013 14:09:52 +0100
branchdevelopment
changeset 2734 f56049613ff3
parent 2731 13f5be2bf83b
child 3195 0b6a9ff08acd
permissions -rw-r--r--
Initial support for live code checker / lint. JavaLintService parses the code as you type and displays all errors and other problems. This is done by running compiler in check mode in background. This also removes the necessity for JavaCompilerProblemRegistry.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     1
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
     3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
     5
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     8
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     9
 This software is furnished under a license and may be used
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    10
 only in accordance with the terms of that license and with the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    12
 be provided or otherwise made available to, or used by, any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    13
 other person.  No title to or ownership of the software is
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    14
 hereby transferred.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    15
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    18
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    19
     as of 1.9.2010
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    20
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    21
"{ Package: 'stx:libjava' }"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    22
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    23
TestCase subclass:#JavaUTF8Tests
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    24
	instanceVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    25
	classVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    26
	poolDictionaries:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    27
	category:'Languages-Java-Tests'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    28
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    29
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    30
!JavaUTF8Tests class methodsFor:'documentation'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    31
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    32
copyright
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    33
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    34
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    35
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    36
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    37
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    38
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    39
                            SWING Research Group, Czech Technical University in Prague
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    40
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    41
 This software is furnished under a license and may be used
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    42
 only in accordance with the terms of that license and with the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    43
 inclusion of the above copyright notice.   This software may not
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    44
 be provided or otherwise made available to, or used by, any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    45
 other person.  No title to or ownership of the software is
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    46
 hereby transferred.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    47
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    48
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    49
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    50
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
    51
     as of 1.9.2010
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    52
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    53
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    54
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    55
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    56
!JavaUTF8Tests methodsFor:'loadingTests'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    57
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    58
testSingleByteCharacters
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    59
    |bytes|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    60
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    61
    bytes := ByteArray new:1.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    62
    bytes at:1 put:65.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    63
    self assert:((CharacterArray decodeFromJavaUTF8:bytes) = 'A').
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    64
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    65
    "Created: / 04-02-2011 / 14:18:10 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    66
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    67
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    68
testSixByteCharacters
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    69
    | bytes  convertedString  expectedString |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    70
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    71
    bytes := ByteArray new: 6.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    72
    bytes at: 1 put: 2r11101101.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    73
    bytes at: 2 put: 2r10101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    74
    bytes at: 3 put: 2r10111111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    75
    bytes at: 4 put: 2r11101101.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    76
    bytes at: 5 put: 2r10111111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    77
    bytes at: 6 put: 2r10101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    78
    expectedString := Unicode32String new: 1.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    79
    expectedString at: 1
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    80
        put: (Character codePoint: (((((2r11111111111111111111)))))).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    81
    convertedString := CharacterArray decodeFromJavaUTF8: bytes.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    82
    self assert: convertedString = expectedString.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    83
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    84
    "Created: / 04-02-2011 / 15:25:27 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    85
    "Modified: / 13-03-2011 / 15:44:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    86
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    87
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    88
testSixByteCharactersTrap
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    89
    |bytes convertedString expectedString|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    90
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    91
    bytes := ByteArray new:6.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    92
    bytes at:1 put:2r11101101.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    93
    bytes at:2 put:2r10101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    94
    bytes at:3 put:2r10111111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    95
    bytes at:4 put:2r11101101.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    96
    bytes at:5 put:2r10101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    97
    bytes at:6 put:2r10111111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    98
    expectedString := Unicode32String new:2.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    99
    expectedString at:1
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   100
        put:(Character codePoint:2r1101101111111111).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   101
    expectedString at:2
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   102
                    put:(Character codePoint:2r1101101111111111).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   103
    convertedString := CharacterArray decodeFromJavaUTF8:bytes.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   104
    self assert:convertedString = expectedString.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   105
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   106
    "Created: / 04-02-2011 / 16:01:32 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   107
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   108
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   109
testThreeByteCharacters
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   110
    |bytes convertedString expectedString|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   111
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   112
    bytes := ByteArray new:3.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   113
    bytes at:1 put:2r11101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   114
    bytes at:2 put:2r10001111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   115
    bytes at:3 put:2r10101111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   116
    expectedString := Unicode16String new:1.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   117
    expectedString at:1 put:(Character codePoint:2r1111001111101111).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   118
    convertedString := CharacterArray decodeFromJavaUTF8:bytes.    
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   119
    self assert:convertedString = expectedString.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   120
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   121
    "Created: / 04-02-2011 / 15:06:03 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   122
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   123
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   124
testTwoByteCharacters
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   125
    |bytes convertedString expectedString|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   126
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   127
    bytes := ByteArray new:2.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   128
    bytes at:1 put:2r11011111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   129
    bytes at:2 put:2r10001111.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   130
    expectedString := Unicode16String new:1.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   131
    expectedString at:1 put:(Character codePoint:2r11111001111).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   132
    convertedString := CharacterArray decodeFromJavaUTF8:bytes.    
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   133
    self assert:convertedString = expectedString.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   134
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   135
    "Created: / 04-02-2011 / 14:31:26 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   136
    "Modified: / 04-02-2011 / 16:02:16 / Marcel Hlopko <hlopik@gmail.com>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   137
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   138
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   139
!JavaUTF8Tests class methodsFor:'documentation'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   140
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   141
version_CVS
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2396
diff changeset
   142
    ^ '$Header: /cvs/stx/stx/libjava/JavaUTF8Tests.st,v 1.4 2013-09-06 00:41:27 vrany Exp $'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   143
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   144
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   145
version_HG
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   146
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   147
    ^ '$Changeset: <not expanded> $'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   148
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   149
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   150
version_SVN
2731
13f5be2bf83b Merged d87e89dd5276 and fe83a843a7bf (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2711 2678
diff changeset
   151
    ^ 'Id'
2152
1cbdfbcc685c Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 749
diff changeset
   152
! !
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2152
diff changeset
   153