diff options
-rw-r--r-- | lib/puppet/parser/functions/has_element.rb | 28 | ||||
-rw-r--r-- | spec/unit/puppet/parser/functions/has_element_spec.rb | 42 | ||||
-rw-r--r-- | tests/has_element.pp | 9 |
3 files changed, 0 insertions, 79 deletions
diff --git a/lib/puppet/parser/functions/has_element.rb b/lib/puppet/parser/functions/has_element.rb deleted file mode 100644 index e29bbb9..0000000 --- a/lib/puppet/parser/functions/has_element.rb +++ /dev/null @@ -1,28 +0,0 @@ -module Puppet::Parser::Functions - - newfunction(:has_element, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args| - Determine if an array has an element with a matching value. - - Example: - - $my_array = ['key_one'] - if has_element($my_array, 'key_two') { - notice('we will not reach here') - } - if has_element($my_array, 'key_one') { - notice('this will be printed') - } - - ENDHEREDOC - - unless args.length == 2 - raise Puppet::ParseError, ("has_element(): wrong number of arguments (#{args.length}; must be 2)") - end - unless args[0].is_a?(Array) - raise Puppet::ParseError, "has_element(): expects the first argument to be an array, got #{args[0].inspect} which is of type #{args[0].class}" - end - args[0].include?(args[1]) - - end - -end diff --git a/spec/unit/puppet/parser/functions/has_element_spec.rb b/spec/unit/puppet/parser/functions/has_element_spec.rb deleted file mode 100644 index b5270d2..0000000 --- a/spec/unit/puppet/parser/functions/has_element_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -#! /usr/bin/env ruby -S rspec -require 'spec_helper' - -describe Puppet::Parser::Functions.function(:has_element) do - let(:scope) { PuppetlabsSpec::PuppetInternals.scope } - - describe 'when calling has_element from puppet' do - it "should not compile when no arguments are passed" do - pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./ - Puppet[:code] = '$x = has_element()' - expect { - scope.compiler.compile - }.to raise_error(Puppet::ParseError, /wrong number of arguments/) - end - - it "should not compile when 1 argument is passed" do - pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./ - Puppet[:code] = "$x = has_element('foo')" - expect { - scope.compiler.compile - }.to raise_error(Puppet::ParseError, /wrong number of arguments/) - end - - it "should require the first value to be an Array" do - pending("Fails on 2.6.x, see bug #15912") if Puppet.version =~ /^2\.6\./ - Puppet[:code] = "$x = has_element('foo', 'bar')" - expect { - scope.compiler.compile - }.to raise_error(Puppet::ParseError, /expects the first argument to be an array/) - end - end - - describe 'when calling the function has_element from a scope instance' do - it 'should detect existing elements' do - scope.function_has_element([['one'], 'one']).should be_true - end - - it 'should detect existing elements' do - scope.function_has_element([['one'], 'two']).should be_false - end - end -end diff --git a/tests/has_element.pp b/tests/has_element.pp deleted file mode 100644 index ec06aac..0000000 --- a/tests/has_element.pp +++ /dev/null @@ -1,9 +0,0 @@ -include stdlib - -$my_array = ['key_one'] -if has_element($my_array, 'key_two') { - notice('we will not reach here') -} -if has_element($my_array, 'key_one') { - notice('this will be printed') -} |