From 414ab682f37118288864f5298ea5eb2cd3791dd2 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 10 Aug 2019 22:18:23 +0900 Subject: Add `String#rindex` test for invalid UTF-8 string --- test/t/string.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') 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 -- cgit v1.2.3