summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/parser/functions/has_element.rb28
-rw-r--r--spec/unit/puppet/parser/functions/has_element_spec.rb42
-rw-r--r--tests/has_element.pp9
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')
-}