summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authordearblue <[email protected]>2019-08-10 22:18:23 +0900
committerdearblue <[email protected]>2019-08-17 11:44:27 +0900
commit414ab682f37118288864f5298ea5eb2cd3791dd2 (patch)
tree097b7dc2b7643f647fa38ad0d4a1f213a0ec8710
parentcf5f290fa0b062c8cb99e2aa85f2486f6601f116 (diff)
downloadmruby-414ab682f37118288864f5298ea5eb2cd3791dd2.tar.gz
mruby-414ab682f37118288864f5298ea5eb2cd3791dd2.zip
Add `String#rindex` test for invalid UTF-8 string
-rw-r--r--test/t/string.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/t/string.rb b/test/t/string.rb
index 1aa254cd0..7e3c327b1 100644
--- a/test/t/string.rb
+++ b/test/t/string.rb
@@ -560,6 +560,13 @@ assert('String#rindex(UTF-8)', '15.2.10.5.31') do
assert_nil str.rindex('さ')
assert_equal 12, str.rindex('ち')
assert_equal 3, str.rindex('ち', 10)
+
+ broken = "\xf0☀\xf1☁\xf2☂\xf3☃\xf0☀\xf1☁\xf2☂\xf3☃"
+ assert_nil broken.rindex("\x81") # "\x81" is a part of "☁" ("\xe2\x98\x81")
+ assert_equal 11, broken.rindex("☁")
+ assert_equal 11, broken.rindex("☁", 12)
+ assert_equal 11, broken.rindex("☁", 11)
+ assert_equal 3, broken.rindex("☁", 10)
end if UTF8STRING
# assert('String#scan', '15.2.10.5.32') do