X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ffunctions%2Fabs_spec.rb;h=2d183328bccdfa3df14e9442e7194cbccc1d9300;hb=59812388abf4638d6065ffda934d1866af902302;hp=3c25ce28f8e03572ea6f6c0442bc68a71671f9f1;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/functions/abs_spec.rb b/3rdparty/modules/stdlib/spec/functions/abs_spec.rb old mode 100755 new mode 100644 index 3c25ce28f..2d183328b --- a/3rdparty/modules/stdlib/spec/functions/abs_spec.rb +++ b/3rdparty/modules/stdlib/spec/functions/abs_spec.rb @@ -1,25 +1,46 @@ -#! /usr/bin/env ruby -S rspec - require 'spec_helper' +if Puppet::Util::Package.versioncmp(Puppet.version, '6.0.0') < 0 + describe 'abs' do + it { is_expected.not_to eq(nil) } -describe "the abs function" do - let(:scope) { PuppetlabsSpec::PuppetInternals.scope } - - it "should exist" do - expect(Puppet::Parser::Functions.function("abs")).to eq("function_abs") - end - - it "should raise a ParseError if there is less than 1 arguments" do - expect { scope.function_abs([]) }.to( raise_error(Puppet::ParseError)) - end + describe 'signature validation in puppet3', :unless => RSpec.configuration.puppet_future do + it { is_expected.to run.with_params.and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) } + it { + pending('Current implementation ignores parameters after the first.') + is_expected.to run.with_params(1, 2).and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) + } + end - it "should convert a negative number into a positive" do - result = scope.function_abs(["-34"]) - expect(result).to(eq(34)) - end + describe 'signature validation in puppet4', :if => RSpec.configuration.puppet_future do + it { + pending 'the puppet 6 implementation' + is_expected.to run.with_params.and_raise_error(ArgumentError) + } + it { + pending 'the puppet 6 implementation' + is_expected.to run.with_params(1, 2).and_raise_error(ArgumentError) + } + it { + pending 'the puppet 6 implementation' + is_expected.to run.with_params([]).and_raise_error(ArgumentError) + } + it { + pending 'the puppet 6 implementation' + is_expected.to run.with_params({}).and_raise_error(ArgumentError) + } + it { + pending 'the puppet 6 implementation' + is_expected.to run.with_params(true).and_raise_error(ArgumentError) + } + end - it "should do nothing with a positive number" do - result = scope.function_abs(["5678"]) - expect(result).to(eq(5678)) + it { is_expected.to run.with_params(-34).and_return(34) } + it { is_expected.to run.with_params('-34').and_return(34) } + it { is_expected.to run.with_params(34).and_return(34) } + it { is_expected.to run.with_params('34').and_return(34) } + it { is_expected.to run.with_params(-34.5).and_return(34.5) } + it { is_expected.to run.with_params('-34.5').and_return(34.5) } + it { is_expected.to run.with_params(34.5).and_return(34.5) } + it { is_expected.to run.with_params('34.5').and_return(34.5) } end end