From: "fxn (Xavier Noria)" Date: 2012-04-25T18:49:47+09:00 Subject: [ruby-core:44617] [ruby-trunk - Feature #3219] assert now passes non-boolean result Issue #3219 has been updated by fxn (Xavier Noria). Not sure I understand this ticket. If I write a generic predicate foo? whose return value is undocumented and irrelevant, I should be able to test it like this? assert obj.foo? ---------------------------------------- Feature #3219: assert now passes non-boolean result https://bugs.ruby-lang.org/issues/3219#change-26190 Author: nobu (Nobuyoshi Nakada) Status: Assigned Priority: Normal Assignee: sorah (Shota Fukumori) Category: Target version: =begin 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 =end -- http://bugs.ruby-lang.org/