diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-06-29 21:36:48 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-06-29 21:36:48 +0900 |
| commit | ff5ec824fd31bf28e67b0b984d2596a240686cd2 (patch) | |
| tree | 30c65f666f33ba84b0ec66ad71cc759b59e24c9d /test | |
| parent | 4f4e240024f4e1980a64bc13bcc7fbf518533cbb (diff) | |
| parent | 0ad1cacff30c744fcf07869990cbab7bc51c4c68 (diff) | |
| download | mruby-ff5ec824fd31bf28e67b0b984d2596a240686cd2.tar.gz mruby-ff5ec824fd31bf28e67b0b984d2596a240686cd2.zip | |
Merge pull request #4541 from dearblue/replace-string-aset
Replace `String#[]=` method by C implements
Diffstat (limited to 'test')
| -rw-r--r-- | test/t/string.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/t/string.rb b/test/t/string.rb index 81699f17e..87d60ed72 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -209,6 +209,56 @@ assert('String#[]=') do assert_raise(TypeError) { 'a'[0, 1] = 1 } end +assert('String[]=(UTF-8)') do + a = "➀➁➂➃➄" + a[3] = "⚃" + assert_equal "➀➁➂⚃➄", a + + b = "➀➁➂➃➄" + b[3, 0] = "⛄" + assert_equal "➀➁➂⛄➃➄", b + + c = "➀➁➂➃➄" + c[3, 2] = "⚃⚄" + assert_equal "➀➁➂⚃⚄", c + + d = "➀➁➂➃➄" + d[5] = "⛄" + assert_equal "➀➁➂➃➄⛄", d + + e = "➀➁➂➃➄" + e[5, 0] = "⛄" + assert_equal "➀➁➂➃➄⛄", e + + f = "➀➁➂➃➄" + f[5, 2] = "⛄" + assert_equal "➀➁➂➃➄⛄", f + + g = "➀➁➂➃➄" + assert_raise(IndexError) { g[6] = "⛄" } + + h = "➀➁➂➃➄" + assert_raise(IndexError) { h[6, 0] = "⛄" } + + i = "➀➁➂➃➄" + assert_raise(IndexError) { i[6, 2] = "⛄" } + + j = "➀➁➂➃➄" + j["➃"] = "⚃" + assert_equal "➀➁➂⚃➄", j + + k = "➀➁➂➃➄" + assert_raise(IndexError) { k["⛄"] = "⛇" } + + l = "➀➁➂➃➄" + assert_nothing_raised { l["➂"] = "" } + assert_equal "➀➁➃➄", l + + m = "➀➁➂➃➄" + assert_raise(TypeError) { m["➂"] = nil } + assert_equal "➀➁➂➃➄", m +end if UTF8STRING + assert('String#capitalize', '15.2.10.5.7') do a = 'abc' a.capitalize |
