diff --git a/ChangeLog b/ChangeLog index dc85786c9c..c1eab5d950 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,12 @@ Tue Sep 3 07:31:29 2013 Akinori MUSHA * numeric.c (NUM_STEP_SCAN_ARGS): Numeral#step should raise 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 * internal.h (bit_length): Add casts to fix complation error with diff --git a/test/ruby/test_float.rb b/test/ruby/test_float.rb index f011c2b062..c55b051832 100644 --- a/test/ruby/test_float.rb +++ b/test/ruby/test_float.rb @@ -561,9 +561,6 @@ class TestFloat < Test::Unit::TestCase assert_raise(TypeError) do 1.0.step(2.0, "0.5") {} end - assert_raise(TypeError) do - 1.0.step(2.0, nil) {} - end end def test_sleep_with_Float diff --git a/test/ruby/test_numeric.rb b/test/ruby/test_numeric.rb index a4bd5960f4..d2f211245d 100644 --- a/test/ruby/test_numeric.rb +++ b/test/ruby/test_numeric.rb @@ -227,11 +227,20 @@ class TestNumeric < Test::Unit::TestCase assert_raise(ArgumentError) { 1.step(10, 1, 0).size } assert_raise(ArgumentError) { 1.step(10, 0) { } } 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).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, 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, 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, 9, 8, 7], [10, by: -1], inf: true + assert_step [10, 9, 8, 7], [10, by: -1, to: nil], inf: true end def test_num2long