(maint) Improve test coverage for prefix and suffix

This commit is contained in:
Adrien Thebo 2013-12-20 14:59:51 -08:00
parent 7991dd2073
commit 7085472e69
2 changed files with 27 additions and 10 deletions

View file

@ -4,15 +4,24 @@ require 'spec_helper'
describe "the prefix function" do
let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
it "should exist" do
Puppet::Parser::Functions.function("prefix").should == "function_prefix"
it "raises a ParseError if there is less than 1 arguments" do
expect { scope.function_prefix([]) }.to raise_error(Puppet::ParseError, /number of arguments/)
end
it "should raise a ParseError if there is less than 1 arguments" do
lambda { scope.function_prefix([]) }.should( raise_error(Puppet::ParseError))
it "raises an error if the first argument is not an array" do
expect {
scope.function_prefix([Object.new])
}.to raise_error(Puppet::ParseError, /expected first argument to be an Array/)
end
it "should return a prefixed array" do
it "raises an error if the second argument is not a string" do
expect {
scope.function_prefix([['first', 'second'], 42])
}.to raise_error(Puppet::ParseError, /expected second argument to be a String/)
end
it "returns a prefixed array" do
result = scope.function_prefix([['a','b','c'], 'p'])
result.should(eq(['pa','pb','pc']))
end

View file

@ -4,15 +4,23 @@ require 'spec_helper'
describe "the suffix function" do
let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
it "should exist" do
Puppet::Parser::Functions.function("suffix").should == "function_suffix"
it "raises a ParseError if there is less than 1 arguments" do
expect { scope.function_suffix([]) }.to raise_error(Puppet::ParseError, /number of arguments/)
end
it "should raise a ParseError if there is less than 1 arguments" do
lambda { scope.function_suffix([]) }.should( raise_error(Puppet::ParseError))
it "raises an error if the first argument is not an array" do
expect {
scope.function_suffix([Object.new])
}.to raise_error(Puppet::ParseError, /expected first argument to be an Array/)
end
it "should return a suffixed array" do
it "raises an error if the second argument is not a string" do
expect {
scope.function_suffix([['first', 'second'], 42])
}.to raise_error(Puppet::ParseError, /expected second argument to be a String/)
end
it "returns a suffixed array" do
result = scope.function_suffix([['a','b','c'], 'p'])
result.should(eq(['ap','bp','cp']))
end