Update stdlib
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / functions / merge_spec.rb
1 require 'spec_helper'
2
3 describe 'merge' do
4   it { is_expected.not_to eq(nil) }
5   it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
6   it { is_expected.to run.with_params({}, 'two').and_raise_error(Puppet::ParseError, /unexpected argument type String/) }
7   it { is_expected.to run.with_params({}, 1).and_raise_error(Puppet::ParseError, /unexpected argument type (Fixnum|Integer)/) }
8   it {
9     pending 'should not special case this'
10     is_expected.to run.with_params({}).and_return({})
11   }
12   it { is_expected.to run.with_params({}, {}).and_return({}) }
13   it { is_expected.to run.with_params({}, {}, {}).and_return({}) }
14   describe 'should accept empty strings as puppet undef' do
15     it { is_expected.to run.with_params({}, '').and_return({}) }
16   end
17   it { is_expected.to run.with_params({ 'key' => 'value' }, {}).and_return({ 'key' => 'value' }) }
18   it { is_expected.to run.with_params({}, { 'key' => 'value' }).and_return({ 'key' => 'value' }) }
19   it { is_expected.to run.with_params({ 'key' => 'value1' }, { 'key' => 'value2' }).and_return({ 'key' => 'value2' }) }
20   it {
21     is_expected.to run \
22       .with_params({ 'key1' => 'value1' }, { 'key2' => 'value2' }, { 'key3' => 'value3' }) \
23       .and_return({ 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' })
24   }
25 end