summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-kernel-ext/test
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-12-10 11:09:55 +0900
committerGitHub <[email protected]>2019-12-10 11:09:55 +0900
commit543a9f84d11c2c0e96de52bd2e936467f13d26e8 (patch)
treecbd6300e6f457c450d76f225a76a2ca741b783f4 /mrbgems/mruby-kernel-ext/test
parent694089fafe4eae36c379a3d918d540eb0c4b8661 (diff)
parent0893ee492c189e4d2c5badfd326a2e45049c89a5 (diff)
downloadmruby-543a9f84d11c2c0e96de52bd2e936467f13d26e8.tar.gz
mruby-543a9f84d11c2c0e96de52bd2e936467f13d26e8.zip
Merge pull request #4858 from shuujii/fix-that-String-to_f-accepts-consecutive-_-as-a-numeric-expression
Fix that `String#to_f` accepts consecutive `_` as a numeric expression
Diffstat (limited to 'mrbgems/mruby-kernel-ext/test')
-rw-r--r--mrbgems/mruby-kernel-ext/test/kernel.rb36
1 files changed, 27 insertions, 9 deletions
diff --git a/mrbgems/mruby-kernel-ext/test/kernel.rb b/mrbgems/mruby-kernel-ext/test/kernel.rb
index ad9177165..2bd901a4c 100644
--- a/mrbgems/mruby-kernel-ext/test/kernel.rb
+++ b/mrbgems/mruby-kernel-ext/test/kernel.rb
@@ -49,24 +49,42 @@ assert('Kernel#__method__') do
end
assert('Kernel#Integer') do
- assert_equal(26, Integer("0x1a"))
- assert_equal(930, Integer("0930", 10))
- assert_equal(7, Integer("111", 2))
- assert_equal(0, Integer("0"))
- assert_equal(0, Integer("00000"))
+ assert_operator(26, :eql?, Integer("0x1a"))
+ assert_operator(930, :eql?, Integer("0930", 10))
+ assert_operator(7, :eql?, Integer("111", 2))
+ assert_operator(0, :eql?, Integer("0"))
+ assert_operator(0, :eql?, Integer("00000"))
+ assert_operator(123, :eql?, Integer('1_2_3'))
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("15\0") }
+ assert_raise(ArgumentError) { Integer("15.0") }
skip unless Object.const_defined?(:Float)
- assert_equal(123, Integer(123.999))
+ assert_operator(123, :eql?, Integer(123.999))
end
assert('Kernel#Float') do
skip unless Object.const_defined?(:Float)
- assert_equal(1.0, Float(1))
- assert_equal(123.456, Float(123.456))
- assert_equal(123.456, Float("123.456"))
+ assert_operator(1.0, :eql?, Float(1))
+ assert_operator(123.456, :eql?, Float(123.456))
+ assert_operator(123.456, :eql?, Float("123.456"))
+ 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_raise(TypeError) { Float(nil) }
assert_raise(ArgumentError) { Float("1.5a") }
assert_raise(ArgumentError) { Float("1.5\0") }
+ assert_raise(ArgumentError) { Float('a') }
+ assert_raise(ArgumentError) { Float('4a5') }
+ assert_raise(ArgumentError) { Float('1_2__3') }
+ assert_raise(ArgumentError) { Float('68_') }
+ assert_raise(ArgumentError) { Float('68._7') }
+ assert_raise(ArgumentError) { Float('68.7_') }
+ assert_raise(ArgumentError) { Float('_68') }
+ assert_raise(ArgumentError) { Float('1_2.3__4') }
end
assert('Kernel#String') do