summaryrefslogtreecommitdiff
path: root/test/strscan
diff options
context:
space:
mode:
Diffstat (limited to 'test/strscan')
-rw-r--r--test/strscan/test_stringscanner.rb34
1 files changed, 29 insertions, 5 deletions
diff --git a/test/strscan/test_stringscanner.rb b/test/strscan/test_stringscanner.rb
index ece6ceef6f..93bc9bba8d 100644
--- a/test/strscan/test_stringscanner.rb
+++ b/test/strscan/test_stringscanner.rb
@@ -458,7 +458,31 @@ module StringScannerTests
def test_AREF
s = create_string_scanner('stra strb strc')
- s.scan(/\w+/)
+ s.scan(/\s+/)
+ assert_nil( s[-2])
+ assert_nil( s[-1])
+ assert_nil( s[0])
+ assert_nil( s[1])
+ assert_nil( s[:c])
+ assert_nil( s['c'])
+
+ s.scan("not match")
+ assert_nil( s[-2])
+ assert_nil( s[-1])
+ assert_nil( s[0])
+ assert_nil( s[1])
+ assert_nil( s[:c])
+ assert_nil( s['c'])
+
+ s.check(/\w+/)
+ assert_nil( s[-2])
+ assert_equal('stra', s[-1])
+ assert_equal('stra', s[0])
+ assert_nil( s[1])
+ assert_raise(IndexError) { s[:c] }
+ assert_raise(IndexError) { s['c'] }
+
+ s.scan("stra")
assert_nil( s[-2])
assert_equal('stra', s[-1])
assert_equal('stra', s[0])
@@ -903,11 +927,11 @@ module StringScannerTests
s = create_string_scanner('abc')
s.get_byte
- assert_nil(s[:c])
- assert_nil(s["c"])
+ assert_raise(IndexError) { s[:c] }
+ assert_raise(IndexError) { s['c'] }
s.getch
- assert_nil(s[:c])
- assert_nil(s["c"])
+ assert_raise(IndexError) { s[:c] }
+ assert_raise(IndexError) { s['c'] }
end
def test_size