Sha256: 0cde50ce5f3a2392a9a747a63d443526677a33c0caa5d466f896f1c203607e11

Contents?: true

Size: 1.91 KB

Versions: 2

Compression:

Stored size: 1.91 KB

Contents

# frozen_string_literal: true

require 'spec_helper'
require 'dump/env/filter'

describe Dump::Env::Filter do
  it 'passes everything if initialized with nil' do
    filter = described_class.new(nil)
    expect(filter.pass?('a')).to be_truthy
    expect(filter.pass?('b')).to be_truthy
    expect(filter.pass?('c')).to be_truthy
    expect(filter.pass?('d')).to be_truthy
  end

  it 'passes only specified values' do
    filter = described_class.new('a,c')
    expect(filter.pass?('a')).to be_truthy
    expect(filter.pass?('b')).to be_falsey
    expect(filter.pass?('c')).to be_truthy
    expect(filter.pass?('d')).to be_falsey
  end

  it 'does not pass anything if initialized empty' do
    filter = described_class.new('')
    expect(filter.pass?('a')).to be_falsey
    expect(filter.pass?('b')).to be_falsey
    expect(filter.pass?('c')).to be_falsey
    expect(filter.pass?('d')).to be_falsey
  end

  describe 'when initialized with -' do
    it 'passes everything except specified values' do
      filter = described_class.new('-a,c')
      expect(filter.pass?('a')).to be_falsey
      expect(filter.pass?('b')).to be_truthy
      expect(filter.pass?('c')).to be_falsey
      expect(filter.pass?('d')).to be_truthy
    end

    it 'passes everything if initialized empty' do
      filter = described_class.new('-')
      expect(filter.pass?('a')).to be_truthy
      expect(filter.pass?('b')).to be_truthy
      expect(filter.pass?('c')).to be_truthy
      expect(filter.pass?('d')).to be_truthy
    end
  end

  describe 'custom_pass?' do
    it 'passes only when any call to block returns true' do
      filter = described_class.new('a,c')
      expect(filter.custom_pass?{ |value| value == 'a' }).to be_truthy
      expect(filter.custom_pass?{ |value| value == 'b' }).to be_falsey
      expect(filter.custom_pass?{ |value| value == 'c' }).to be_truthy
      expect(filter.custom_pass?{ |value| value == 'd' }).to be_falsey
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dump-1.2.2 spec/dump/env/filter_spec.rb
dump-1.2.1 spec/dump/env/filter_spec.rb