mirror of
https://github.com/ruby/ruby.git
synced 2025-08-28 15:36:16 +02:00
* compar.c (cmp_equal): no more error hiding for Comparable#==.
It now behaves as other Comparable methods. See #7688. * test/ruby/test_comparable.rb: update related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ecbc694f44
commit
a1992e25b9
3 changed files with 23 additions and 26 deletions
|
@ -17,12 +17,18 @@ class TestComparable < Test::Unit::TestCase
|
|||
assert_equal(true, @o == nil)
|
||||
cmp->(x) do 1; end
|
||||
assert_equal(false, @o == nil)
|
||||
cmp->(x) do nil; end
|
||||
assert_equal(false, @o == nil)
|
||||
|
||||
cmp->(x) do raise NotImplementedError, "Not a RuntimeError" end
|
||||
assert_raise(NotImplementedError) { @o == nil }
|
||||
bug7688 = '[ruby-core:51389] [Bug #7688]'
|
||||
cmp->(x) do raise StandardError, "A standard error should be rescued"; end
|
||||
warn = /Comparable#== will no more rescue exceptions .+ in the next release/
|
||||
assert_warn(warn, bug7688) { @o == nil }
|
||||
|
||||
bug7688 = 'Comparable#== should not silently rescue' \
|
||||
'any Exception [ruby-core:51389] [Bug #7688]'
|
||||
cmp->(x) do raise StandardError end
|
||||
assert_raise(StandardError, bug7688) { @o == nil }
|
||||
cmp->(x) do "bad value"; end
|
||||
assert_raise(ArgumentError, bug7688) { @o == nil }
|
||||
end
|
||||
|
||||
def test_gt
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue