diff --git a/lib/minitest/unit.rb b/lib/minitest/unit.rb index c7020e71..f19e472d 100644 --- a/lib/minitest/unit.rb +++ b/lib/minitest/unit.rb @@ -294,7 +294,7 @@ def UNDEFINED.inspect; "UNDEFINED"; end # assert_operator 5, :<=, 4 def assert_operator o1, op, o2 = UNDEFINED, msg = nil - return assert_predicate o1, op, msg if o2 == UNDEFINED + return assert_predicate o1, op, msg if UNDEFINED == o2 msg = message(msg) { "Expected #{mu_pp(o1)} to be #{op} #{mu_pp(o2)}" } assert o1.__send__(op, o2), msg end @@ -595,7 +595,7 @@ def refute_nil obj, msg = nil # refute_operator 1, :<, 2 #=> fail def refute_operator o1, op, o2 = UNDEFINED, msg = nil - return refute_predicate o1, op if o2 == UNDEFINED + return refute_predicate o1, op, msg if UNDEFINED == o2 msg = message(msg) { "Expected #{mu_pp(o1)} to not be #{op} #{mu_pp(o2)}"} refute o1.__send__(op, o2), msg end diff --git a/test/test_minitest_unit.rb b/test/test_minitest_unit.rb index 09a8b05c..32a9767f 100755 --- a/test/test_minitest_unit.rb +++ b/test/test_minitest_unit.rb @@ -877,6 +877,13 @@ def test_assert_operator @tc.assert_operator 2, :>, 1 end + def test_assert_operator_bad_object + bad = Object.new + def bad.==(other) true end + + @tc.assert_operator bad, :equal?, bad + end + def test_assert_operator_triggered util_assert_triggered "Expected 2 to be < 1." do @tc.assert_operator 2, :<, 1 @@ -1358,6 +1365,13 @@ def test_refute_operator @tc.refute_operator 2, :<, 1 end + def test_refute_operator_bad_object + bad = Object.new + def bad.==(other) true end + + @tc.refute_operator true, :equal?, bad + end + def test_refute_operator_triggered util_assert_triggered "Expected 2 to not be > 1." do @tc.refute_operator 2, :>, 1