diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-21 16:17:09 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-21 16:17:09 +0000 |
commit | 29fa5cc869d6435a84e3f5467e89fbb8f4b5462c (patch) | |
tree | a451d76c39acc21d38d68a0cbca79c8f06f80f82 /test | |
parent | 31ccc99d6295dfd6da71728592f7ea48cd809d60 (diff) |
merge revision(s) 62572: [Backport #14549]
date_core.c: defensive code
* ext/date/date_core.c (f_cmp): check comparison failure.
* ext/date/date_core.c (d_lite_step): deal with the comparison
result more defensively. [ruby-core:85796] [Bug #14549]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/date/test_date_arith.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/date/test_date_arith.rb b/test/date/test_date_arith.rb index f5ac5bf30b..5b03d6e7eb 100644 --- a/test/date/test_date_arith.rb +++ b/test/date/test_date_arith.rb @@ -262,4 +262,17 @@ class TestDateArith < Test::Unit::TestCase assert_equal(8, e.to_a.size) end + def test_step__compare + o = Object.new + def o.<=>(*);end + assert_raise(ArgumentError) { + Date.new(2000, 1, 1).step(3, o).to_a + } + + o = Object.new + def o.<=>(*);2;end + a = [] + Date.new(2000, 1, 1).step(3, o) {|d| a << d} + assert_empty(a) + end end |