summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAkito Mochizuki <[email protected]>2014-06-19 17:34:17 +0900
committerAkito Mochizuki <[email protected]>2014-06-19 17:34:17 +0900
commitec04fa7e8d60971fb4b51255c6e84a81f87a0593 (patch)
tree87e33b17c5ddc793d079d5c3d77fc10021658fcc
parentba0ddb78199dca7e58e4f0fb3982e52059242900 (diff)
downloadmruby-ec04fa7e8d60971fb4b51255c6e84a81f87a0593.tar.gz
mruby-ec04fa7e8d60971fb4b51255c6e84a81f87a0593.zip
Modify return value of String#slice! if idx == self.size
-rw-r--r--mrbgems/mruby-string-ext/mrblib/string.rb2
-rw-r--r--mrbgems/mruby-string-ext/test/string.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb
index 1acdf150f..b8cb93199 100644
--- a/mrbgems/mruby-string-ext/mrblib/string.rb
+++ b/mrbgems/mruby-string-ext/mrblib/string.rb
@@ -169,7 +169,7 @@ class String
if arg1 != nil && arg2 != nil
idx = arg1
idx += self.size if arg1 < 0
- if idx >= 0 && idx < self.size && arg2 > 0
+ if idx >= 0 && idx <= self.size && arg2 > 0
str = self[idx, arg2]
else
return nil
diff --git a/mrbgems/mruby-string-ext/test/string.rb b/mrbgems/mruby-string-ext/test/string.rb
index 01c0be9d2..2a8dd0cca 100644
--- a/mrbgems/mruby-string-ext/test/string.rb
+++ b/mrbgems/mruby-string-ext/test/string.rb
@@ -218,7 +218,7 @@ assert('String#slice!') do
assert_equal "Foo", a
a = "FooBar"
- assert_nil a.slice!(6, 2)
+ assert_equal "", a.slice!(6, 2)
assert_equal "FooBar", a
a = "FooBar"