Sha256: 306bea17197d2acd9f6ed2ced74e962b0786f03687ad2985b7d71bebc72d5909

Contents?: true

Size: 1.01 KB

Versions: 6

Compression:

Stored size: 1.01 KB

Contents

#!/usr/bin/env ruby -S rspec
require 'spec_helper'

describe "the pick function" do
  let(:scope) { PuppetlabsSpec::PuppetInternals.scope }

  it "should exist" do
    expect(Puppet::Parser::Functions.function("pick")).to eq("function_pick")
  end

  it 'should return the correct value' do
    expect(scope.function_pick(['first', 'second'])).to eq('first')
  end

  it 'should return the correct value if the first value is empty' do
    expect(scope.function_pick(['', 'second'])).to eq('second')
  end

  it 'should remove empty string values' do
    expect(scope.function_pick(['', 'first'])).to eq('first')
  end

  it 'should remove :undef values' do
    expect(scope.function_pick([:undef, 'first'])).to eq('first')
  end

  it 'should remove :undefined values' do
    expect(scope.function_pick([:undefined, 'first'])).to eq('first')
  end

  it 'should error if no values are passed' do
    expect { scope.function_pick([]) }.to( raise_error(Puppet::ParseError, "pick(): must receive at least one non empty value"))
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-retrospec-0.12.1 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb
puppet-retrospec-0.12.0 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb
puppet-retrospec-0.11.0 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb
puppet-retrospec-0.10.0 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb
puppet-retrospec-0.9.1 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb
puppet-retrospec-0.9.0 spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb