From 12e232c006e8eed601d9a45d74684c28a4f9811a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 28 Jan 2023 16:41:40 +0900 Subject: [PATCH] mruby-string-ext/string.rb: add test for String#bytesplice --- mrbgems/mruby-string-ext/test/string.rb | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/mrbgems/mruby-string-ext/test/string.rb b/mrbgems/mruby-string-ext/test/string.rb index 0400a8da5..52ee2fcb6 100644 --- a/mrbgems/mruby-string-ext/test/string.rb +++ b/mrbgems/mruby-string-ext/test/string.rb @@ -726,3 +726,66 @@ assert('String#-@') do a = -(a.freeze) assert_true(a.frozen?) end + +assert('String#bytesplice') do + # range, replace (len1=len2) + a = "0123456789" + assert_equal "ab", a.bytesplice(1..2, "ab") + assert_equal "0ab3456789", a + + # range, replace (len1>len2) + a = "0123456789" + assert_equal "ab", a.bytesplice(1..3, "ab") + assert_equal "0ab456789", a + + # range, replace (len1len2) + a = "0123456789" + assert_equal "ab", a.bytesplice(1, 3, "ab") + assert_equal "0ab456789", a + + # idx, len, replace (len1len2) + a = "0123456789" + assert_equal b, a.bytesplice(1..3, b, 1..2) + assert_equal "0bc456789", a + + # range, replace, range (len1len2) + a = "0123456789" + assert_equal b, a.bytesplice(1, 3, b, 1, 2) + assert_equal "0bc456789", a + + # idx, len, replace, idx, len (len1