3
class TestStringchar < Test::Unit::TestCase
5
assert_equal("abcd", "abcd")
6
assert_match(/abcd/, "abcd")
7
assert("abcd" === "abcd")
8
# compile time string concatenation
9
assert_equal("abcd", "ab" "cd")
10
assert_equal("22aacd44", "#{22}aa" "cd#{44}")
11
assert_equal("22aacd445566", "#{22}aa" "cd#{44}" "55" "#{66}")
13
assert("abc\n" !~ /^$/)
14
assert("abc" !~ /^d*$/)
15
assert_equal(3, ("abc" =~ /d*$/))
18
assert("a\n\n" =~ /^$/)
19
assert("abcabc" =~ /.*a/); assert_equal("abca", $&)
20
assert("abcabc" =~ /.*c/); assert_equal("abcabc", $&)
21
assert("abcabc" =~ /.*?a/); assert_equal("a", $&)
22
assert("abcabc" =~ /.*?c/); assert_equal("abc", $&)
23
assert(/(.|\n)*?\n(b|\n)/ =~ "a\nb\n\n"); assert_equal("a\nb", $&)
25
assert(/^(ab+)+b/ =~ "ababb"); assert_equal("ababb", $&)
26
assert(/^(?:ab+)+b/ =~ "ababb"); assert_equal("ababb", $&)
27
assert(/^(ab+)+/ =~ "ababb"); assert_equal("ababb", $&)
28
assert(/^(?:ab+)+/ =~ "ababb"); assert_equal("ababb", $&)
30
assert(/(\s+\d+){2}/ =~ " 1 2"); assert_equal(" 1 2", $&)
31
assert(/(?:\s+\d+){2}/ =~ " 1 2"); assert_equal(" 1 2", $&)
37
$x.gsub!(/((.|\n)*?)B((.|\n)*?)D/m ,'\1\3')
38
assert_equal("AC\nAC\n", $x)
40
assert("foobar" =~ /foo(?=(bar)|(baz))/)
41
assert("foobaz" =~ /foo(?=(bar)|(baz))/)
44
assert_equal("abc = abc", "#$foo = abc")
45
assert_equal("abc = abc", "#{$foo} = abc")
48
assert_equal("abc = abc", "#{foo} = abc")
50
assert_equal('-----', '-' * 5)
51
assert_equal('-', '-' * 1)
52
assert_equal('', '-' * 0)
55
assert_equal('-----', foo * 5)
56
assert_equal('-', foo * 1)
57
assert_equal('', foo * 0)
60
assert_equal("gif", $x.sub(/.*\.([^\.]+)$/, '\1'))
61
assert_equal("b.gif", $x.sub(/.*\.([^\.]+)$/, 'b.\1'))
62
assert_equal("", $x.sub(/.*\.([^\.]+)$/, '\2'))
63
assert_equal("ab", $x.sub(/.*\.([^\.]+)$/, 'a\2b'))
64
assert_equal("<a.gif>", $x.sub(/.*\.([^\.]+)$/, '<\&>'))
68
# character constants(assumes ASCII)
69
assert_equal(?a, "a"[0])
71
assert_equal("\1", ?\C-a)
72
assert_equal("\341", ?\M-a)
73
assert_equal("\201", ?\M-\C-a)
74
assert_equal(?A, "a".upcase![0])
75
assert_equal(?a, "A".downcase![0])
76
assert_equal("ABC", "abc".tr!("a-z", "A-Z"))
77
assert_equal("ABC", "aabbcccc".tr_s!("a-z", "A-Z"))
78
assert_equal("abc", "abcc".squeeze!("a-z"))
79
assert_equal("ad", "abcd".delete!("bc"))
82
$y = [ ?a, ?b, ?c, ?d, ?e, ?f ]
93
s[0..s.size]="another string"
94
assert_equal("another string", s)
101
assert_equal("1,2,3\n", s)
102
assert_equal(926381, "Just".to_i(36))
103
assert_equal(-23200231779, "-another".to_i(36))
104
assert_equal("ruby", 1299022.to_s(36))
105
assert_equal("-hacker", -1045307475.to_s(36))
106
assert_equal(265419172580680477752431643787347, "Just_another_Ruby_hacker".to_i(36))
107
assert_equal("-justanotherrubyhacker", -265419172580680477752431643787347.to_s(36))
112
a.push ch if /a#{Regexp.quote ch}b/x =~ "ab"
114
assert_equal(0, a.size)
120
assert_equal("aBc", s)
122
assert_equal("ABC", s)
126
assert_equal("aBc", s)
128
assert_equal("abc", s)
132
assert_equal("aBc", s)
134
assert_equal("AbC", s)
138
assert_equal("aBc", s)
140
assert_equal("Abc", s)
144
assert_equal("aBc", s)
146
assert_equal("ABC", s)
150
assert_equal("aaBBcc", s)
151
s.tr_s!("a-z", "A-Z")
152
assert_equal("ABBC", s)
156
assert_equal("aaBBcc", s)
158
assert_equal("aBBc", s)
162
assert_equal("aaBBcc", s)
164
assert_equal("BB", s)