summaryrefslogtreecommitdiff
path: root/spec/unit/parser/ast
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/parser/ast')
-rwxr-xr-xspec/unit/parser/ast/asthash_spec.rb3
-rwxr-xr-xspec/unit/parser/ast/leaf_spec.rb16
2 files changed, 17 insertions, 2 deletions
diff --git a/spec/unit/parser/ast/asthash_spec.rb b/spec/unit/parser/ast/asthash_spec.rb
index d7fbbfae9..ab1281f91 100755
--- a/spec/unit/parser/ast/asthash_spec.rb
+++ b/spec/unit/parser/ast/asthash_spec.rb
@@ -91,7 +91,6 @@ describe Puppet::Parser::AST::ASTHash do
it "should return a valid string with to_s" do
hash = Puppet::Parser::AST::ASTHash.new(:value => { "a" => "b", "c" => "d" })
-
- hash.to_s.should == '{a => b, c => d}'
+ ["{a => b, c => d}", "{c => d, a => b}"].should be_include hash.to_s
end
end
diff --git a/spec/unit/parser/ast/leaf_spec.rb b/spec/unit/parser/ast/leaf_spec.rb
index ff3fed5e9..881506ea4 100755
--- a/spec/unit/parser/ast/leaf_spec.rb
+++ b/spec/unit/parser/ast/leaf_spec.rb
@@ -151,6 +151,14 @@ describe Puppet::Parser::AST::HashOrArrayAccess do
lambda { access.evaluate(@scope) }.should raise_error
end
+ it "should be able to return :undef for an unknown array index" do
+ @scope.stubs(:lookupvar).with { |name,options| name == 'a'}.returns(["val1", "val2", "val3"])
+
+ access = Puppet::Parser::AST::HashOrArrayAccess.new(:variable => "a", :key => 6 )
+
+ access.evaluate(@scope).should == :undef
+ end
+
it "should be able to return an hash value" do
@scope.stubs(:lookupvar).with { |name,options| name == 'a'}.returns({ "key1" => "val1", "key2" => "val2", "key3" => "val3" })
@@ -159,6 +167,14 @@ describe Puppet::Parser::AST::HashOrArrayAccess do
access.evaluate(@scope).should == "val2"
end
+ it "should be able to return :undef for unknown hash keys" do
+ @scope.stubs(:lookupvar).with { |name,options| name == 'a'}.returns({ "key1" => "val1", "key2" => "val2", "key3" => "val3" })
+
+ access = Puppet::Parser::AST::HashOrArrayAccess.new(:variable => "a", :key => "key12" )
+
+ access.evaluate(@scope).should == :undef
+ end
+
it "should be able to return an hash value with a numerical key" do
@scope.stubs(:lookupvar).with { |name,options| name == "a"}.returns({ "key1" => "val1", "key2" => "val2", "45" => "45", "key3" => "val3" })