RegressionTests__StringTests.st
changeset 874 7936c9ee23d5
parent 873 160ad3d63ffa
child 962 2fca937dc59b
--- a/RegressionTests__StringTests.st	Wed Apr 03 15:58:21 2013 +0200
+++ b/RegressionTests__StringTests.st	Wed Apr 03 16:29:10 2013 +0200
@@ -13,7 +13,7 @@
 !StringTests methodsFor:'helpers'!
 
 runAccessTestsOnInstancesOf:aStringClass
-    |str s0 s1 s2 s3 t|
+    |str s0 s1 s2 s3 s4 t|
 
     0 to:33 do:[:l |
         str := aStringClass new:l.
@@ -70,6 +70,7 @@
     self assert:(s1 indexOf:$h) == 1.
     self assert:(s1 indexOf:$l) == 3.
     self assert:(s1 indexOf:$L) == 0.
+    self assert:(s1 indexOf:$A) == 0.
 
     self assert:(s1 indexOf:$h startingAt:1) == 1.
     self assert:(s1 indexOf:$h startingAt:2) == 0.
@@ -115,6 +116,18 @@
     self assert:(t third = '78').
     self assert:(t fourth = '01').
     self assert:(t fifth = '34-67+90').
+
+    s4 := (aStringClass new:10) replaceFrom:1 with:'123',Character tab,'567',Character cr,'90'.
+    self assert:(s4 size = 10).
+    self assert:(s4 indexOfSeparatorStartingAt:1) = 4.
+    self assert:(s4 indexOfSeparatorStartingAt:3) = 4.
+    self assert:(s4 indexOfSeparatorStartingAt:4) = 4.
+    self assert:(s4 indexOfSeparatorStartingAt:5) = 8.
+    self assert:(s4 indexOfControlCharacterStartingAt:1) = 4.
+    self assert:(s4 indexOfNonSeparatorStartingAt:1) = 1.
+    self assert:(s4 indexOfNonSeparatorStartingAt:3) = 3.
+    self assert:(s4 indexOfNonSeparatorStartingAt:4) = 5.
+    self assert:(s4 indexOfNonSeparatorStartingAt:5) = 5.
 ! !
 
 !StringTests methodsFor:'tests'!
@@ -156,10 +169,14 @@
     s1 := (myStringClass new:5) replaceFrom:1 with:'hello'.
     self assert:(s1 foo isNil).
     self assert:(s1 size == 5).
-    s1 foo:12345.
-    self assert:(s1 foo == 12345).
+    s1 foo:16r11413344.         "/ ensure there is a $A inside (hex 41)
+    self assert:(s1 foo == 16r11413344).
     self assert:(s1 = 'hello').
-    self assert:(s1 deepCopy foo == 12345).
+    self assert:(s1 deepCopy foo == 16r11413344).
+
+    self assert:((s1 indexOf:$A) == 0).                 "/ should not find the A
+    self assert:((s1 identityIndexOf:$A) == 0).         "/ should not find the A
+    self assert:((s1 findFirst:[:ch | ch == $A]) == 0). "/ should not find the A
 
     self runAccessTestsOnInstancesOf:myStringClass.