1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Fix and add tests for Numeric#step.

* test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as
  step, as with the keyword argument.

* test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for
  nil as step or limit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2013-09-02 22:39:24 +00:00
parent 4993cf9e24
commit 7cc26c722c
3 changed files with 16 additions and 3 deletions

View file

@ -3,6 +3,12 @@ Tue Sep 3 07:31:29 2013 Akinori MUSHA <knu@iDaemons.org>
* numeric.c (NUM_STEP_SCAN_ARGS): Numeral#step should raise * numeric.c (NUM_STEP_SCAN_ARGS): Numeral#step should raise
TypeError if a non-numeric parameter is given. TypeError if a non-numeric parameter is given.
* test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as
step, as with the keyword argument.
* test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for
nil as step or limit.
Tue Sep 3 07:28:49 2013 Tanaka Akira <akr@fsij.org> Tue Sep 3 07:28:49 2013 Tanaka Akira <akr@fsij.org>
* internal.h (bit_length): Add casts to fix complation error with * internal.h (bit_length): Add casts to fix complation error with

View file

@ -561,9 +561,6 @@ class TestFloat < Test::Unit::TestCase
assert_raise(TypeError) do assert_raise(TypeError) do
1.0.step(2.0, "0.5") {} 1.0.step(2.0, "0.5") {}
end end
assert_raise(TypeError) do
1.0.step(2.0, nil) {}
end
end end
def test_sleep_with_Float def test_sleep_with_Float

View file

@ -227,11 +227,20 @@ class TestNumeric < Test::Unit::TestCase
assert_raise(ArgumentError) { 1.step(10, 1, 0).size } assert_raise(ArgumentError) { 1.step(10, 1, 0).size }
assert_raise(ArgumentError) { 1.step(10, 0) { } } assert_raise(ArgumentError) { 1.step(10, 0) { } }
assert_raise(ArgumentError) { 1.step(10, 0).size } assert_raise(ArgumentError) { 1.step(10, 0).size }
assert_raise(TypeError) { 1.step(10, "1") { } }
assert_raise(TypeError) { 1.step(10, "1").size }
assert_nothing_raised { 1.step(10, nil) { } }
assert_nothing_raised { 1.step(10, nil).size }
assert_nothing_raised { 1.step(by: 0, to: nil) }
assert_nothing_raised { 1.step(by: 0, to: nil).size }
assert_nothing_raised { 1.step(by: 0) } assert_nothing_raised { 1.step(by: 0) }
assert_nothing_raised { 1.step(by: 0).size } assert_nothing_raised { 1.step(by: 0).size }
assert_nothing_raised { 1.step(by: nil) }
assert_nothing_raised { 1.step(by: nil).size }
assert_step [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 10] assert_step [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 10]
assert_step [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, to: 10] assert_step [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, to: 10]
assert_step [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, to: 10, by: nil]
assert_step [1, 3, 5, 7, 9], [1, 10, 2] assert_step [1, 3, 5, 7, 9], [1, 10, 2]
assert_step [1, 3, 5, 7, 9], [1, to: 10, by: 2] assert_step [1, 3, 5, 7, 9], [1, to: 10, by: 2]
@ -251,6 +260,7 @@ class TestNumeric < Test::Unit::TestCase
assert_step [10, 11, 12, 13], [10], inf: true assert_step [10, 11, 12, 13], [10], inf: true
assert_step [10, 9, 8, 7], [10, by: -1], inf: true assert_step [10, 9, 8, 7], [10, by: -1], inf: true
assert_step [10, 9, 8, 7], [10, by: -1, to: nil], inf: true
end end
def test_num2long def test_num2long