Project

General

Profile

Feature #3219

Updated by nobu (Nobuyoshi Nakada) about 10 years ago

=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 

Back