summaryrefslogtreecommitdiff
path: root/test/ruby/test_numeric.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-07 08:24:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-07 08:24:09 +0000
commita352b0a20744a19c2fcb2ea5af576805c0706aea (patch)
tree21ab713b028bfa5e27eb997bb395b8e432a776d1 /test/ruby/test_numeric.rb
parentf8661f7ffb42bb831f62f06f43b6a0fc706c23a0 (diff)
numeric.c: check keyword arguments
* numeric.c (num_step_scan_args): check keyword arguments and fail if they conflict with positional arguments. [ruby-dev:48177] [Bug #9811] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_numeric.rb')
-rw-r--r--test/ruby/test_numeric.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_numeric.rb b/test/ruby/test_numeric.rb
index 7265c0ed46..674e869473 100644
--- a/test/ruby/test_numeric.rb
+++ b/test/ruby/test_numeric.rb
@@ -268,6 +268,14 @@ class TestNumeric < Test::Unit::TestCase
assert_nothing_raised { 1.step(by: nil) }
assert_nothing_raised { 1.step(by: nil).size }
+ bug9811 = '[ruby-dev:48177] [Bug #9811]'
+ assert_raise(ArgumentError, bug9811) { 1.step(10, foo: nil) {} }
+ assert_raise(ArgumentError, bug9811) { 1.step(10, foo: nil).size }
+ assert_raise(ArgumentError, bug9811) { 1.step(10, to: 11) {} }
+ assert_raise(ArgumentError, bug9811) { 1.step(10, to: 11).size }
+ assert_raise(ArgumentError, bug9811) { 1.step(10, 1, by: 11) {} }
+ assert_raise(ArgumentError, bug9811) { 1.step(10, 1, by: 11).size }
+
assert_equal(bignum*2+1, (-bignum).step(bignum, 1).size)
assert_equal(bignum*2, (-bignum).step(bignum-1, 1).size)