From 244abdae09459e6dd8acf2d9a770925631088e60 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Wed, 20 Feb 2019 18:49:38 +0900 Subject: `assert_true`/`assert_false` should pass when actual is only `true`/`false` For the following reasons: - Previous behavior is confusable because it's different from test/unit rubygem's `assert_true` - Tests may pass unintentionally in an inappropriate way; ref #4285 #4287 --- test/assert.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/assert.rb b/test/assert.rb index ec6fa98ad..fbf1d926d 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -78,7 +78,7 @@ end def assert_true(ret, msg = nil, diff = nil) if $mrbtest_assert $mrbtest_assert_idx += 1 - unless ret + unless ret == true msg ||= "Expected #{ret.inspect} to be true" diff ||= assertion_diff(true, ret) $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff]) @@ -88,7 +88,7 @@ def assert_true(ret, msg = nil, diff = nil) end def assert_false(ret, msg = nil, diff = nil) - if ret + unless ret == false msg ||= "Expected #{ret.inspect} to be false" diff ||= assertion_diff(false, ret) end -- cgit v1.2.3