summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-kernel-ext/test
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-12-10 23:00:17 +0900
committerGitHub <[email protected]>2019-12-10 23:00:17 +0900
commit994da0fd7375b2ef0fb618db66ffeeac8fd9b383 (patch)
treee4ba019202bb26a8abc226438940072fc2c3322c /mrbgems/mruby-kernel-ext/test
parent543a9f84d11c2c0e96de52bd2e936467f13d26e8 (diff)
parentbf431e77b8851e87f1a65ad3bf20d7e035b31472 (diff)
downloadmruby-994da0fd7375b2ef0fb618db66ffeeac8fd9b383.tar.gz
mruby-994da0fd7375b2ef0fb618db66ffeeac8fd9b383.zip
Merge pull request #4860 from shuujii/fix-behavior-of-String-to_i-Kernel-Integer-to-numbers-starting-with-_
Fix behavior of `String#to_i`/`Kernel#Integer` to numbers starting with `_`
Diffstat (limited to 'mrbgems/mruby-kernel-ext/test')
-rw-r--r--mrbgems/mruby-kernel-ext/test/kernel.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/mrbgems/mruby-kernel-ext/test/kernel.rb b/mrbgems/mruby-kernel-ext/test/kernel.rb
index 2bd901a4c..4966e4c88 100644
--- a/mrbgems/mruby-kernel-ext/test/kernel.rb
+++ b/mrbgems/mruby-kernel-ext/test/kernel.rb
@@ -55,11 +55,15 @@ assert('Kernel#Integer') do
assert_operator(0, :eql?, Integer("0"))
assert_operator(0, :eql?, Integer("00000"))
assert_operator(123, :eql?, Integer('1_2_3'))
+ assert_operator(123, :eql?, Integer("\t\r\n\f\v 123 \t\r\n\f\v"))
assert_raise(TypeError) { Integer(nil) }
assert_raise(ArgumentError) { Integer('a') }
assert_raise(ArgumentError) { Integer('4a5') }
assert_raise(ArgumentError) { Integer('1_2__3') }
assert_raise(ArgumentError) { Integer('68_') }
+ assert_raise(ArgumentError) { Integer('_68') }
+ assert_raise(ArgumentError) { Integer(' _68') }
+ assert_raise(ArgumentError) { Integer('6 8') }
assert_raise(ArgumentError) { Integer("15\0") }
assert_raise(ArgumentError) { Integer("15.0") }
skip unless Object.const_defined?(:Float)
@@ -74,7 +78,9 @@ assert('Kernel#Float') do
assert_operator(123.0, :eql?, Float('1_2_3'))
assert_operator(12.34, :eql?, Float('1_2.3_4'))
assert_operator(0.9, :eql?, Float('.9'))
+ assert_operator(0.9, :eql?, Float(" \t\r\n\f\v.9 \t\r\n\f\v"))
assert_raise(TypeError) { Float(nil) }
+ assert_raise(ArgumentError) { Float("1. 5") }
assert_raise(ArgumentError) { Float("1.5a") }
assert_raise(ArgumentError) { Float("1.5\0") }
assert_raise(ArgumentError) { Float('a') }
@@ -84,6 +90,7 @@ assert('Kernel#Float') do
assert_raise(ArgumentError) { Float('68._7') }
assert_raise(ArgumentError) { Float('68.7_') }
assert_raise(ArgumentError) { Float('_68') }
+ assert_raise(ArgumentError) { Float(' _68') }
assert_raise(ArgumentError) { Float('1_2.3__4') }
end