X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ffunctions%2Fdelete_undef_values_spec.rb;h=129457949ba6cc81cec1114478b59e22188bbff9;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=c20cee27142721f569ce4ac65ea7bec7c38cb932;hpb=6963202b4b62c2816655ac9532521b018fdf83bd;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/functions/delete_undef_values_spec.rb b/3rdparty/modules/stdlib/spec/functions/delete_undef_values_spec.rb old mode 100755 new mode 100644 index c20cee271..129457949 --- a/3rdparty/modules/stdlib/spec/functions/delete_undef_values_spec.rb +++ b/3rdparty/modules/stdlib/spec/functions/delete_undef_values_spec.rb @@ -1,28 +1,31 @@ require 'spec_helper' describe 'delete_undef_values' do + let(:is_puppet_6) { Puppet::Util::Package.versioncmp(Puppet.version, '6.0.0') == 0 } + it { is_expected.not_to eq(nil) } - it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError) } - it { is_expected.to run.with_params(1).and_raise_error(Puppet::ParseError) } - it { is_expected.to run.with_params('one').and_raise_error(Puppet::ParseError) } - it { is_expected.to run.with_params('one', 'two').and_raise_error(Puppet::ParseError) } + it { is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{Wrong number of arguments}) } + it { is_expected.to run.with_params(1).and_raise_error(Puppet::ParseError, %r{expected an array or hash}) } + it { is_expected.to run.with_params('one').and_raise_error(Puppet::ParseError, %r{expected an array or hash}) } + it { is_expected.to run.with_params('one', 'two').and_raise_error(Puppet::ParseError, %r{expected an array or hash}) } describe 'when deleting from an array' do - [ :undef, '', nil ].each do |undef_value| + # Behavior is different in Puppet 6.0.0, and fixed in PUP-9180 in Puppet 6.0.1 + [:undef, '', nil].each do |undef_value| describe "when undef is represented by #{undef_value.inspect}" do - before do + before(:each) do pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == '' - pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == nil + pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == :undef && is_puppet_6 end it { is_expected.to run.with_params([undef_value]).and_return([]) } - it { is_expected.to run.with_params(['one',undef_value,'two','three']).and_return(['one','two','three']) } - it { is_expected.to run.with_params(['ớņέ',undef_value,'ŧשּׁō','ŧħґëə']).and_return(['ớņέ','ŧשּׁō','ŧħґëə']) } + it { is_expected.to run.with_params(['one', undef_value, 'two', 'three']).and_return(['one', 'two', 'three']) } + it { is_expected.to run.with_params(['ớņέ', undef_value, 'ŧשּׁō', 'ŧħґëə']).and_return(['ớņέ', 'ŧשּׁō', 'ŧħґëə']) } end - it "should leave the original argument intact" do - argument = ['one',undef_value,'two'] + it 'leaves the original argument intact' do + argument = ['one', undef_value, 'two'] original = argument.dup - result = subject.call([argument,2]) + _result = subject.execute(argument, 2) expect(argument).to eq(original) end end @@ -31,27 +34,28 @@ describe 'delete_undef_values' do end describe 'when deleting from a hash' do - [ :undef, '', nil ].each do |undef_value| + [:undef, '', nil].each do |undef_value| describe "when undef is represented by #{undef_value.inspect}" do - before do + before(:each) do pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == '' - pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == nil + pending("review behaviour when being passed undef as #{undef_value.inspect}") if undef_value == :undef && is_puppet_6 end - it { is_expected.to run.with_params({'key' => undef_value}).and_return({}) } - it { is_expected.to run \ - .with_params({'key1' => 'value1', 'undef_key' => undef_value, 'key2' => 'value2'}) \ - .and_return({'key1' => 'value1', 'key2' => 'value2'}) + it { is_expected.to run.with_params('key' => undef_value).and_return({}) } + it { + is_expected.to run \ + .with_params('key1' => 'value1', 'undef_key' => undef_value, 'key2' => 'value2') \ + .and_return('key1' => 'value1', 'key2' => 'value2') } end - it "should leave the original argument intact" do + it 'leaves the original argument intact' do argument = { 'key1' => 'value1', 'key2' => undef_value } original = argument.dup - result = subject.call([argument,2]) + _result = subject.execute(argument, 2) expect(argument).to eq(original) end end - it { is_expected.to run.with_params({'key' => 'undef'}).and_return({'key' => 'undef'}) } + it { is_expected.to run.with_params('key' => 'undef').and_return('key' => 'undef') } end end