Merge branch '2.2.x'
* 2.2.x: (#11901) Fix sort order error in tests for 'keys' and 'values'
This commit is contained in:
commit
5273a891b7
2 changed files with 19 additions and 15 deletions
|
@ -6,21 +6,20 @@ describe "the keys function" do
|
|||
Puppet::Parser::Functions.autoloader.loadall
|
||||
end
|
||||
|
||||
before :each do
|
||||
@scope = Puppet::Parser::Scope.new
|
||||
end
|
||||
let(:scope) { Puppet::Parser::Scope.new }
|
||||
|
||||
it "should exist" do
|
||||
Puppet::Parser::Functions.function("keys").should == "function_keys"
|
||||
end
|
||||
|
||||
it "should raise a ParseError if there is less than 1 arguments" do
|
||||
lambda { @scope.function_keys([]) }.should( raise_error(Puppet::ParseError))
|
||||
lambda { scope.function_keys([]) }.should( raise_error(Puppet::ParseError))
|
||||
end
|
||||
|
||||
it "should return an array of keys when given a hash" do
|
||||
result = @scope.function_keys([{'a'=>1, 'b' => 2}])
|
||||
result.should(eq(['a','b']))
|
||||
result = scope.function_keys([{'a'=>1, 'b'=>2}])
|
||||
# =~ performs 'array with same elements' (set) matching
|
||||
# For more info see RSpec::Matchers::MatchArray
|
||||
result.should =~ ['a','b']
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -6,25 +6,30 @@ describe "the values function" do
|
|||
Puppet::Parser::Functions.autoloader.loadall
|
||||
end
|
||||
|
||||
before :each do
|
||||
@scope = Puppet::Parser::Scope.new
|
||||
end
|
||||
let(:scope) { Puppet::Parser::Scope.new }
|
||||
|
||||
it "should exist" do
|
||||
Puppet::Parser::Functions.function("values").should == "function_values"
|
||||
end
|
||||
|
||||
it "should raise a ParseError if there is less than 1 arguments" do
|
||||
lambda { @scope.function_values([]) }.should( raise_error(Puppet::ParseError))
|
||||
lambda { scope.function_values([]) }.should( raise_error(Puppet::ParseError))
|
||||
end
|
||||
|
||||
it "should return values from a hash" do
|
||||
result = @scope.function_values([{'a'=>'1','b'=>'2','c'=>'3'}])
|
||||
result.should(eq(['1','2','3']))
|
||||
result = scope.function_values([{'a'=>'1','b'=>'2','c'=>'3'}])
|
||||
# =~ is the RSpec::Matchers::MatchArray matcher.
|
||||
# A.K.A. "array with same elements" (multiset) matching
|
||||
result.should =~ %w{ 1 2 3 }
|
||||
end
|
||||
|
||||
it "should return values from a hash" do
|
||||
lambda { @scope.function_values([['a','b','c']]) }.should( raise_error(Puppet::ParseError))
|
||||
it "should return a multiset" do
|
||||
result = scope.function_values([{'a'=>'1','b'=>'3','c'=>'3'}])
|
||||
result.should =~ %w{ 1 3 3 }
|
||||
result.should_not =~ %w{ 1 3 }
|
||||
end
|
||||
|
||||
it "should raise a ParseError unless a Hash is provided" do
|
||||
lambda { scope.function_values([['a','b','c']]) }.should( raise_error(Puppet::ParseError))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue