aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/test/core_ext/blank_test.rb
blob: 1dbbf3ff308ca7e7ee424ba260443c70bc54bbe6 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                       
                                              
 







                         
                                      

                                                                              

                

                                                                           
     




                                                                               
   
require 'abstract_unit'
require 'active_support/core_ext/object/blank'

class EmptyTrue
  def empty?() true; end
end

class EmptyFalse
  def empty?() false; end
end

class BlankTest < Test::Unit::TestCase
  BLANK = [ EmptyTrue.new, nil, false, '', '   ', "  \n\t  \r ", [], {} ]
  NOT   = [ EmptyFalse.new, Object.new, true, 0, 1, 'a', [nil], { nil => 0 } ]

  def test_blank
    BLANK.each { |v| assert v.blank?, "#{v.inspect} should be blank" }
    NOT.each   { |v| assert !v.blank?, "#{v.inspect} should not be blank" }
  end

  def test_present
    BLANK.each { |v| assert !v.present?, "#{v.inspect} should not be present" }
    NOT.each   { |v| assert v.present?, "#{v.inspect} should be present" }
  end
end