Sha256: 292d42d67e33f33a4a5e1be01e44e10490f203958046912d3e606551b61c9675

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

require 'spec_helper'

describe Vanguard, '.blank?' do
  subject { Vanguard.blank?(value) }

  [
    nil,
    false,
    [],
    {},
    '',
    "\n",
  ].each do |value|
    context "when value is #{value.inspect}" do
      let(:value) { value }
      it { should be(true) }
    end
  end

  context 'with object' do
    let(:value) { Object.new }

    before do
      value.stub(:nil? => is_nil)
      value.stub(:empty? => is_empty)
    end

    context 'that is not #nil?' do
      let(:is_nil) { false }

      context 'and #empty?' do
        let(:is_empty) { true }

        it { should be(true) }
      end

      context 'and not #empty' do
        let(:is_empty) { false }

        it { should be(false) }
      end
    end

    context 'that is #nil?' do
      let(:is_nil) { true }

      context 'and #empty?' do
        let(:is_empty) { true }
        it { should be(true) }
      end

      context 'and not #empty?' do
        let(:is_empty) { false }
        it { should be(true) } 
      end
    end
  end

  [
    1,
    true,
    { :foo => :bar },
    [:foo],
    'foo',
  ].each do |value|
    context "when value is #{value.inspect}" do
      let(:value) { value }
      it { should be(false) }
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vanguard-0.0.5 spec/unit/vanguard/support/blank_spec.rb
vanguard-0.0.4 spec/unit/vanguard/support/blank_spec.rb
vanguard-0.0.3 spec/unit/vanguard/support/blank_spec.rb