remove a couple of functions that can now be found in the puppetlabs stdlib

This commit is contained in:
mh 2011-10-08 20:07:53 +02:00
parent 2352be71bf
commit e90839b248
7 changed files with 0 additions and 120 deletions

View file

@ -1,11 +0,0 @@
Puppet::Parser::Functions::newfunction(
:array_del,
:type => :rvalue,
:doc => "Deletes items from an array
Example: array_del(['a','b'],'b') -> ['a']"
) do |args|
raise Puppet::ParseError, 'array_del() needs two arguments' if args.length != 2
(res=args[0].dup).to_a.delete(args[1])
res
end

View file

@ -1,10 +0,0 @@
Puppet::Parser::Functions::newfunction(
:hash_merge,
:type => :rvalue,
:doc => "Merges two hashes
Example: hash_merge({'a' => 1 ,'b' => 2},{'b' => 3, 'c' => 4}) -> {'a' => 1 ,'b' => 3, 'c' => 4}"
) do |args|
raise Puppet::ParseError, 'hash_merge() needs two arguments' if args.length != 2
args[0].merge(args[1])
end

View file

@ -1,10 +0,0 @@
Puppet::Parser::Functions::newfunction(
:join,
:type => :rvalue,
:doc => "Joins the values of the array in arg1 with the string in arg2
Example: join(['a','b'],',') -> 'a,b'"
) do |args|
raise Puppet::ParseError, 'join() needs two arguments' if args.length != 2
args[0].to_a.join(args[1])
end

View file

@ -1,6 +0,0 @@
module Puppet::Parser::Functions
newfunction(:strlength, :type => :rvalue) do |args|
args[0].to_s.length
end
end

View file

@ -1,10 +0,0 @@
Puppet::Parser::Functions::newfunction(
:uniq_flatten,
:type => :rvalue,
:doc => "Flattens an array and make it uniq
Example: uniq_flatten([['a','b'],'a']) -> ['a','b']"
) do |args|
raise Puppet::ParseError, 'uniq_flatten() needs one arguments' if args.length != 1
args[0].to_a.flatten.collect(&:to_s).uniq
end

View file

@ -1,39 +0,0 @@
#! /usr/bin/env ruby
require File.dirname(__FILE__) + '/../../../spec_helper'
describe "the array_del function" do
before :each do
@scope = Puppet::Parser::Scope.new
end
it "should exist" do
Puppet::Parser::Functions.function("array_del").should == "function_array_del"
end
it "should raise a ParseError if there is less than 2 arguments" do
lambda { @scope.function_array_del(["foo"]) }.should( raise_error(Puppet::ParseError))
end
it "should raise a ParseError if there is more than 2 arguments" do
lambda { @scope.function_array_del(["foo", "bar", "gazonk"]) }.should( raise_error(Puppet::ParseError))
end
it "should remove an item if it's present" do
result = @scope.function_array_del(['a','b'],'b')
result.should(eql(['a']))
end
it "should do nothing if an item is not present" do
result = @scope.function_array_del(['a','b'],'c')
result.should(eql(['a','b']))
end
it "should leave the argument untouched" do
a = ['a','b']
result = @scope.function_array_del(a,'b')
a.should(eql(['a','b']))
end
end

View file

@ -1,34 +0,0 @@
#! /usr/bin/env ruby
require File.dirname(__FILE__) + '/../../../spec_helper'
describe "the hash_merge function" do
before :each do
@scope = Puppet::Parser::Scope.new
end
it "should exist" do
Puppet::Parser::Functions.function("hash_merge").should == "function_hash_merge"
end
it "should raise a ParseError if there is less than 2 arguments" do
lambda { @scope.function_hash_merge(["foo"]) }.should( raise_error(Puppet::ParseError))
end
it "should raise a ParseError if there is more than 2 arguments" do
lambda { @scope.function_hash_merge(["foo", "bar", "gazonk"]) }.should( raise_error(Puppet::ParseError))
end
it "should merge the two hashes" do
result = @scope.function_hash_merge([{'a' => 1 ,'b' => 2},{'b' => 3, 'c' => 4}])
result.should == {'a' => 1 ,'b' => 3, 'c' => 4}
end
it "should leave the argument untouched" do
a = {'a' => 1 ,'b' => 2}
result = @scope.function_hash_merge([{'a' => 1 ,'b' => 2},{'b' => 3, 'c' => 4}])
a.should == {'a' => 1 ,'b' => 2}
end
end