X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ffunctions%2Fstr2bool_spec.rb;h=fe43c4c24fb24da77068cc8d619966fd6a9589b8;hb=131e09855e065be940e104d9ab0f18940cc76257;hp=1d205d75d4769f6ca9dcc83acc23c0a51c8eed24;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/functions/str2bool_spec.rb b/3rdparty/modules/stdlib/spec/functions/str2bool_spec.rb old mode 100755 new mode 100644 index 1d205d75d..fe43c4c24 --- a/3rdparty/modules/stdlib/spec/functions/str2bool_spec.rb +++ b/3rdparty/modules/stdlib/spec/functions/str2bool_spec.rb @@ -1,31 +1,23 @@ -#! /usr/bin/env ruby -S rspec require 'spec_helper' -describe "the str2bool function" do - let(:scope) { PuppetlabsSpec::PuppetInternals.scope } +describe 'str2bool' do + it { is_expected.not_to eq(nil) } + 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('true', 'extra').and_raise_error(Puppet::ParseError, %r{wrong number of arguments}i) + } + it { is_expected.to run.with_params('one').and_raise_error(Puppet::ParseError, %r{Unknown type of boolean given}) } - it "should exist" do - expect(Puppet::Parser::Functions.function("str2bool")).to eq("function_str2bool") + describe 'when testing values that mean "true"' do + ['TRUE', '1', 't', 'y', 'true', 'yes', true].each do |value| + it { is_expected.to run.with_params(value).and_return(true) } + end end - it "should raise a ParseError if there is less than 1 arguments" do - expect { scope.function_str2bool([]) }.to( raise_error(Puppet::ParseError)) - end - - it "should convert string 'true' to true" do - result = scope.function_str2bool(["true"]) - expect(result).to(eq(true)) - end - - it "should convert string 'undef' to false" do - result = scope.function_str2bool(["undef"]) - expect(result).to(eq(false)) - end - - it "should return the boolean it was called with" do - result = scope.function_str2bool([true]) - expect(result).to(eq(true)) - result = scope.function_str2bool([false]) - expect(result).to(eq(false)) + describe 'when testing values that mean "false"' do + ['FALSE', '', '0', 'f', 'n', 'false', 'no', false, 'undef', 'undefined'].each do |value| + it { is_expected.to run.with_params(value).and_return(false) } + end end end