Sha256: fd349c5b8ee78d727c7b9753009e2cbaebee8d3f264e6c481393162c32ca4e25

Contents?: true

Size: 925 Bytes

Versions: 4

Compression:

Stored size: 925 Bytes

Contents

# encoding: utf-8

require 'rails-logstasher/core_ext/object/blank'

class EmptyTrue
  def empty?() true; end
end

class EmptyFalse
  def empty?() false; end
end

class BlankTest < ActiveSupport::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

  def test_presence
    BLANK.each { |v| assert_equal nil, v.presence, "#{v.inspect}.presence should return nil" }
    NOT.each { |v| assert_equal v, v.presence, "#{v.inspect}.presence should return self" }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails-logstasher-0.1.4 test/core_ext/blank_test.rb
rails-logstasher-0.1.3 test/core_ext/blank_test.rb
rails-logstasher-0.1.2 test/core_ext/blank_test.rb
rails-logstasher-0.1.1 test/core_ext/blank_test.rb