From: nobu@... Date: 2014-02-14T10:12:07+00:00 Subject: [ruby-core:60732] [ruby-trunk - Feature #3219] assert now passes non-boolean result Issue #3219 has been updated by Nobuyoshi Nakada. Description updated ---------------------------------------- Feature #3219: assert now passes non-boolean result https://bugs.ruby-lang.org/issues/3219#change-45154 * Author: Nobuyoshi Nakada * Status: Assigned * Priority: Normal * Assignee: Shota Fukumori * Category: * Target version: next minor ---------------------------------------- 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 -- http://bugs.ruby-lang.org/