Wiki

root/cobra/trunk/Tests/100-basics/060j-string.cobra

Revision 2631, 1.5 KB (checked in by Charles.Esterbrook, 5 months ago)

JVM back-end progress.
credit:hopscc

  • Property svn:eol-style set to native
Line 
1#.require. jvm
2namespace Test
3
4    class Test
5
6        def main
7            is shared
8
9            s as String = ''
10            assert not s.length
11            s = 'aoeu'
12            assert 'aoeu'.length
13            assert s.length==4
14
15            assert 'aoeu'=='aoeu'
16            assert s=='aoeu'
17            assert s<>'asdf'
18
19            assert s.equals('aoeu')
20            # assert s.getHashCode<>0 # clr method name
21            assert s.hashCode<>0  # java method
22
23            s = "aoeu"  # double quotes
24
25            assert 'aoeu'.length==4
26            #assert '\a'.length==1 # illegal escape chars in java
27            #assert '\b'.length==1
28            #assert '\f'.length==1
29            assert '\n'.length==1
30            assert '\t'.length==1
31            assert '\\'.length==1
32            assert '\r'.length==1
33            assert '\0'.length==1
34            assert '\\t'.length==2
35            assert '\\t'[1]=='t'   
36            assert '\\t'[1]==c't'   
37
38            # concat
39            assert 'a' + 'b' == 'ab'
40            assert 'a' + '' == 'a'
41            assert 'a' + 'b' + 'c' == 'abc'
42
43            # try some methods
44            assert 'abc'.indexOf('b')==1
45            assert 'abc'.indexOf('d')==-1
46            assert 'abc'.endsWith('c')
47
48            # comparisons to chars
49            assert 'x'==c'x'
50            assert c'x'=='x'
51            assert '\0'==c'\0'
52            assert '\0'==String.valueOf(c'\0')
53
54            # +=
55            s = 'x'
56            s += 'y'
57            assert s=='xy'
58           
59
60            # concat with valueOf(char) - toString not available on char
61            s = 'aoeu'
62            #s = s[0].toString + 'b'
63            s = String.valueOf(s[0]) + 'b'
64            assert s=='ab'
65
66            # chars
67            assert 'a'[0] == c'a'
68            assert '"'[0] == c'"'
69            assert "'"[0] == c"'"
70
71            # backslashes
72            assert 'cobra\'s lair' == "cobra's lair"
73            assert '"' == "\""
74            assert '\'' == "'"
75            assert '\''[0] == c"'"
76            assert "\""[0] == c'"'
Note: See TracBrowser for help on using the browser.