diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-16 19:57:07 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-16 19:57:07 +0900 |
| commit | 3dce1fb3cacf9b180ddc56bd406a87793898691d (patch) | |
| tree | 60a676f4cf5be1a8bdca6a1aa687694c84924074 /mrbgems/mruby-string-ext/test/string.rb | |
| parent | 0042e586db875fca2631c243cb41599e9782b05a (diff) | |
| parent | 00fa8097f9b6c371a7565b15561570a91127a4cf (diff) | |
| download | mruby-3dce1fb3cacf9b180ddc56bd406a87793898691d.tar.gz mruby-3dce1fb3cacf9b180ddc56bd406a87793898691d.zip | |
Merge pull request #2397 from suzukaze/add-string-slice_bang
Implement String#slice!
Diffstat (limited to 'mrbgems/mruby-string-ext/test/string.rb')
| -rw-r--r-- | mrbgems/mruby-string-ext/test/string.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/mrbgems/mruby-string-ext/test/string.rb b/mrbgems/mruby-string-ext/test/string.rb index 72c919b35..01c0be9d2 100644 --- a/mrbgems/mruby-string-ext/test/string.rb +++ b/mrbgems/mruby-string-ext/test/string.rb @@ -193,3 +193,61 @@ assert('String#clear') do assert_equal("", s) # s is cleared assert_not_equal("", a) # a should not be affected end + +assert('String#slice!') do + a = "AooBar" + b = a.dup + assert_equal "A", a.slice!(0) + assert_equal "AooBar", b + + a = "FooBar" + assert_equal "r", a.slice!(-1) + assert_equal "FooBa", a + + a = "FooBar" + assert_nil a.slice!(6) + assert_nil a.slice!(-7) + assert_equal "FooBar", a + + a = "FooBar" + assert_equal "Foo", a.slice!(0, 3) + assert_equal "Bar", a + + a = "FooBar" + assert_equal "Bar", a.slice!(-3, 3) + assert_equal "Foo", a + + a = "FooBar" + assert_nil a.slice!(6, 2) + assert_equal "FooBar", a + + a = "FooBar" + assert_nil a.slice!(-7,10) + assert_equal "FooBar", a + + a = "FooBar" + assert_equal "Foo", a.slice!(0..2) + assert_equal "Bar", a + + a = "FooBar" + assert_equal "Bar", a.slice!(-3..-1) + assert_equal "Foo", a + + a = "FooBar" + assert_equal "", a.slice!(6..2) + assert_equal "FooBar", a + + a = "FooBar" + assert_nil a.slice!(-10..-7) + assert_equal "FooBar", a + + a = "FooBar" + assert_equal "Foo", a.slice!("Foo") + assert_equal "Bar", a + + a = "FooBar" + assert_nil a.slice!("xyzzy") + assert_equal "FooBar", a + + assert_raise(ArgumentError) { "foo".slice! } +end |
