JavaUTF8Tests.st
branchcvs_MAIN
changeset 3360 1a8899091305
parent 3330 b14c58b2876c
child 3412 df11bb428463
--- a/JavaUTF8Tests.st	Fri Feb 14 14:27:26 2014 +0100
+++ b/JavaUTF8Tests.st	Wed Jan 28 03:12:08 2015 +0100
@@ -1,9 +1,9 @@
 "
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
+ COPYRIGHT (c) 1996-2015 by Claus Gittinger
 
  New code and modifications done at SWING Research Group [1]:
 
- COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
                             SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
@@ -20,6 +20,8 @@
 "
 "{ Package: 'stx:libjava' }"
 
+"{ NameSpace: Smalltalk }"
+
 TestCase subclass:#JavaUTF8Tests
 	instanceVariableNames:''
 	classVariableNames:''
@@ -31,11 +33,11 @@
 
 copyright
 "
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
+ COPYRIGHT (c) 1996-2015 by Claus Gittinger
 
  New code and modifications done at SWING Research Group [1]:
 
- COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
                             SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
@@ -55,91 +57,209 @@
 
 !JavaUTF8Tests methodsFor:'loadingTests'!
 
-testSingleByteCharacters
-    |bytes|
+test_S1
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[97 98 99 100] asString.
+
+    self assert: string = 'abcd'
+
+    "Created: / 04-08-2014 / 11:25:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S10
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[97 98 99 100 192 128] asString.
 
-    bytes := ByteArray new:1.
-    bytes at:1 put:65.
-    self assert:((CharacterArray decodeFromJavaUTF8:bytes) = 'A').
+    self assert: string size = 5.
+    self assert: string fifth  codePoint = 16r0000.
+
+    "Created: / 04-08-2014 / 11:45:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
 
-    "Created: / 04-02-2011 / 14:18:10 / Marcel Hlopko <hlopik@gmail.com>"
+test_S11
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[194 128 97 98 99 100] asString.
+
+    self assert: string size = 5.
+    self assert: string first codePoint = 16r0080.
+
+    "Created: / 04-08-2014 / 11:45:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-testSixByteCharacters
-    | bytes  convertedString  expectedString |
+test_S12
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[97 98 99 100 224 160 128] asString.
+
+    self assert: string size = 5.
+    self assert: string fifth codePoint = 16r0800.
+
+    "Created: / 04-08-2014 / 11:45:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S13
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[224 160 128 97 98 99 100] asString .
+
+    self assert: string size = 5.
+    self assert: string first codePoint = 16r0800.
+
+    "Created: / 04-08-2014 / 11:46:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
 
-    bytes := ByteArray new: 6.
-    bytes at: 1 put: 2r11101101.
-    bytes at: 2 put: 2r10101111.
-    bytes at: 3 put: 2r10111111.
-    bytes at: 4 put: 2r11101101.
-    bytes at: 5 put: 2r10111111.
-    bytes at: 6 put: 2r10101111.
-    expectedString := Unicode32String new: 1.
-    expectedString at: 1
-        put: (Character codePoint: (((((2r11111111111111111111)))))).
-    convertedString := CharacterArray decodeFromJavaUTF8: bytes.
-    self assert: convertedString = expectedString.
+test_S14
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[97 98 99 100 222 170 239 190 170] asString .
+
+    self assert: string size = 6.
+    self assert: string fifth codePoint = 16r07AA.
+    self assert: string sixth codePoint = 16rFFAA.
 
-    "Created: / 04-02-2011 / 15:25:27 / Marcel Hlopko <hlopik@gmail.com>"
-    "Modified: / 13-03-2011 / 15:44:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Created: / 04-08-2014 / 11:47:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S15
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[222 170 239 190 170 97 98 99 100] asString.
+
+    self assert: string size = 6.
+    self assert: string first codePoint = 16r07AA.
+    self assert: string second codePoint = 16rFFAA.
+
+    "Created: / 04-08-2014 / 11:47:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-testSixByteCharactersTrap
-    |bytes convertedString expectedString|
+test_S2
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[1 127] asString.
+
+    self assert: string size = 2.
+    self assert: string first  codePoint = 1.
+    self assert: string second codePoint = 16r7F.
+
+    "Created: / 04-08-2014 / 11:26:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S3
+    
+    | string |
 
-    bytes := ByteArray new:6.
-    bytes at:1 put:2r11101101.
-    bytes at:2 put:2r10101111.
-    bytes at:3 put:2r10111111.
-    bytes at:4 put:2r11101101.
-    bytes at:5 put:2r10101111.
-    bytes at:6 put:2r10111111.
-    expectedString := Unicode32String new:2.
-    expectedString at:1
-        put:(Character codePoint:2r1101101111111111).
-    expectedString at:2
-                    put:(Character codePoint:2r1101101111111111).
-    convertedString := CharacterArray decodeFromJavaUTF8:bytes.
-    self assert:convertedString = expectedString.
+    string := CharacterArray decodeFromJavaUTF8: #[192 128] asString.
+
+    self assert: string size = 1.
+    self assert: string first  codePoint = 16r0000.
+
+    "Created: / 04-08-2014 / 11:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
 
-    "Created: / 04-02-2011 / 16:01:32 / Marcel Hlopko <hlopik@gmail.com>"
+test_S4
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[194 128] asString .
+
+    self assert: string size = 1.
+    self assert: string first  codePoint = 16r0080.
+
+    "Created: / 04-08-2014 / 11:27:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-testThreeByteCharacters
-    |bytes convertedString expectedString|
+test_S5
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[192 128 194 128] asString .
+
+    self assert: string size = 2.
+    self assert: string first  codePoint = 16r0000.
+    self assert: string second codePoint = 16r0080.
 
-    bytes := ByteArray new:3.
-    bytes at:1 put:2r11101111.
-    bytes at:2 put:2r10001111.
-    bytes at:3 put:2r10101111.
-    expectedString := Unicode16String new:1.
-    expectedString at:1 put:(Character codePoint:2r1111001111101111).
-    convertedString := CharacterArray decodeFromJavaUTF8:bytes.    
-    self assert:convertedString = expectedString.
+    "Created: / 04-08-2014 / 11:28:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S6
+    
+    | string |
 
-    "Created: / 04-02-2011 / 15:06:03 / Marcel Hlopko <hlopik@gmail.com>"
+    string := CharacterArray decodeFromJavaUTF8: #[223 191] asString  .
+
+    self assert: string size = 1.
+    self assert: string first  codePoint = 16r07FF.
+
+    "Created: / 04-08-2014 / 11:30:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-testTwoByteCharacters
-    |bytes convertedString expectedString|
+test_S7
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8:#[224 160 128] asString .
+
+    self assert: string size = 1.
+    self assert: string first  codePoint = 16r0800.
+
+    "Created: / 04-08-2014 / 11:30:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:47:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_S8
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[239 191 191] asString.
 
-    bytes := ByteArray new:2.
-    bytes at:1 put:2r11011111.
-    bytes at:2 put:2r10001111.
-    expectedString := Unicode16String new:1.
-    expectedString at:1 put:(Character codePoint:2r11111001111).
-    convertedString := CharacterArray decodeFromJavaUTF8:bytes.    
-    self assert:convertedString = expectedString.
+    self assert: string size = 1.
+    self assert: string first  codePoint = 16rFFFF.
+
+    "Created: / 04-08-2014 / 11:30:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:48:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
 
-    "Created: / 04-02-2011 / 14:31:26 / Marcel Hlopko <hlopik@gmail.com>"
-    "Modified: / 04-02-2011 / 16:02:16 / Marcel Hlopko <hlopik@gmail.com>"
+test_S9
+    
+    | string |
+
+    string := CharacterArray decodeFromJavaUTF8: #[224 160 128 239 191 191] asString.
+
+    self assert: string size = 2.
+    self assert: string first  codePoint = 16r0800.
+    self assert: string second codePoint = 16rFFFF.
+
+    "Created: / 04-08-2014 / 11:33:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2014 / 14:48:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaUTF8Tests class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaUTF8Tests.st,v 1.4 2013-09-06 00:41:27 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaUTF8Tests.st,v 1.5 2015-01-28 02:10:50 vrany Exp $'
 !
 
 version_HG
@@ -148,6 +268,6 @@
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ 'Id'
 ! !