Project

General

Profile

Actions

Feature #3219

closed

assert now passes non-boolean result

Added by nobu (Nobuyoshi Nakada) almost 14 years ago. Updated over 6 years ago.

Status:
Rejected
Target version:
[ruby-core:29868]

Description

Hi,

Test::Unit::Assertions#assert now passes non-boolean values
(neither true nor false).

It is not only an incompatibility against former TestUnit, also
makes wrong tests (e.g., [ruby-core:29861]) passing.

diff --git a/lib/test/unit/assertions.rb b/lib/test/unit/assertions.rb
index 821faf5..52d5201 100644
--- a/lib/test/unit/assertions.rb
+++ b/lib/test/unit/assertions.rb
@@ -10,6 +10,16 @@ module Test
         obj.pretty_inspect.chomp
       end
 
+      def assert(result, *args, &b)
+        super(result == true || result == false, "assertion result must be true or false")
+        super
+      end
+
+      def refute(result, *args, &b)
+        super(result == true || result == false, "assertion result must be true or false")
+        super
+      end
+
       def assert_raise(*args, &b)
         assert_raises(*args, &b)
       end

--
Nobu Nakada

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0