diff options
author | James Turnbull <james@lovedthanlost.net> | 2008-02-19 15:32:30 +1100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2008-02-19 15:32:30 +1100 |
commit | 95b8414b8164b1beffea20973e204b1b5cbba763 (patch) | |
tree | 775a00896d2a4281f9cd3ae92b21d95f51307862 /spec/unit/parser/ast/node.rb | |
parent | d82bfd86288cc012018797d98168f918bff75778 (diff) | |
parent | 39f9818276e49020c1a6db9667371f7617d5cc93 (diff) | |
download | puppet-95b8414b8164b1beffea20973e204b1b5cbba763.tar.gz puppet-95b8414b8164b1beffea20973e204b1b5cbba763.tar.xz puppet-95b8414b8164b1beffea20973e204b1b5cbba763.zip |
Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
Diffstat (limited to 'spec/unit/parser/ast/node.rb')
-rwxr-xr-x | spec/unit/parser/ast/node.rb | 164 |
1 files changed, 81 insertions, 83 deletions
diff --git a/spec/unit/parser/ast/node.rb b/spec/unit/parser/ast/node.rb index 340630194..757934415 100755 --- a/spec/unit/parser/ast/node.rb +++ b/spec/unit/parser/ast/node.rb @@ -2,8 +2,8 @@ require File.dirname(__FILE__) + '/../../../spec_helper' -module ASTNodeTesting - def setup +describe Puppet::Parser::AST::Node do + before :each do @node = Puppet::Node.new "testnode" @parser = Puppet::Parser::Parser.new :environment => "development" @scope_resource = stub 'scope_resource', :builtin? => true @@ -11,117 +11,115 @@ module ASTNodeTesting @scope = @compiler.topscope end -end -describe Puppet::Parser::AST::Node, "when evaluating" do - include ASTNodeTesting + describe Puppet::Parser::AST::Node, "when evaluating" do - before do - @top = @parser.newnode("top").shift - @middle = @parser.newnode("middle", :parent => "top").shift - end + before do + @top = @parser.newnode("top").shift + @middle = @parser.newnode("middle", :parent => "top").shift + end - it "should create a resource that references itself" do - @top.evaluate(@scope) + it "should create a resource that references itself" do + @top.evaluate(@scope) - @compiler.catalog.resource(:node, "top").should be_an_instance_of(Puppet::Parser::Resource) - end + @compiler.catalog.resource(:node, "top").should be_an_instance_of(Puppet::Parser::Resource) + end - it "should evaluate the parent class if one exists" do - @middle.evaluate(@scope) + it "should evaluate the parent class if one exists" do + @middle.evaluate(@scope) - @compiler.catalog.resource(:node, "top").should be_an_instance_of(Puppet::Parser::Resource) - end + @compiler.catalog.resource(:node, "top").should be_an_instance_of(Puppet::Parser::Resource) + end - it "should fail to evaluate if a parent class is defined but cannot be found" do - othertop = @parser.newnode("something", :parent => "yay").shift - lambda { othertop.evaluate(@scope) }.should raise_error(Puppet::ParseError) - end + it "should fail to evaluate if a parent class is defined but cannot be found" do + othertop = @parser.newnode("something", :parent => "yay").shift + lambda { othertop.evaluate(@scope) }.should raise_error(Puppet::ParseError) + end - it "should not create a new resource if one already exists" do - @compiler.catalog.expects(:resource).with(:node, "top").returns("something") - @compiler.catalog.expects(:add_resource).never - @top.evaluate(@scope) - end + it "should not create a new resource if one already exists" do + @compiler.catalog.expects(:resource).with(:node, "top").returns("something") + @compiler.catalog.expects(:add_resource).never + @top.evaluate(@scope) + end - it "should not create a new parent resource if one already exists and it has a parent class" do - @top.evaluate(@scope) + it "should not create a new parent resource if one already exists and it has a parent class" do + @top.evaluate(@scope) - top_resource = @compiler.catalog.resource(:node, "top") + top_resource = @compiler.catalog.resource(:node, "top") - @middle.evaluate(@scope) + @middle.evaluate(@scope) - @compiler.catalog.resource(:node, "top").should equal(top_resource) - end + @compiler.catalog.resource(:node, "top").should equal(top_resource) + end - # #795 - tag before evaluation. - it "should tag the catalog with the resource tags when it is evaluated" do - @middle.evaluate(@scope) + # #795 - tag before evaluation. + it "should tag the catalog with the resource tags when it is evaluated" do + @middle.evaluate(@scope) - @compiler.catalog.should be_tagged("middle") - end + @compiler.catalog.should be_tagged("middle") + end - it "should tag the catalog with the parent class tags when it is evaluated" do - @middle.evaluate(@scope) + it "should tag the catalog with the parent class tags when it is evaluated" do + @middle.evaluate(@scope) - @compiler.catalog.should be_tagged("top") + @compiler.catalog.should be_tagged("top") + end end -end -describe Puppet::Parser::AST::Node, "when evaluating code" do - include ASTNodeTesting + describe Puppet::Parser::AST::Node, "when evaluating code" do - before do - @top_resource = stub "top_resource" - @top = @parser.newnode("top", :code => @top_resource).shift + before do + @top_resource = stub "top_resource" + @top = @parser.newnode("top", :code => @top_resource).shift - @middle_resource = stub "middle_resource" - @middle = @parser.newnode("middle", :parent => "top", :code => @middle_resource).shift - end + @middle_resource = stub "middle_resource" + @middle = @parser.newnode("middle", :parent => "top", :code => @middle_resource).shift + end - it "should evaluate the code referred to by the class" do - @top_resource.expects(:safeevaluate) + it "should evaluate the code referred to by the class" do + @top_resource.expects(:safeevaluate) - resource = @top.evaluate(@scope) + resource = @top.evaluate(@scope) - @top.evaluate_code(resource) - end + @top.evaluate_code(resource) + end - it "should evaluate the parent class's code if it has a parent" do - @top_resource.expects(:safeevaluate) - @middle_resource.expects(:safeevaluate) + it "should evaluate the parent class's code if it has a parent" do + @top_resource.expects(:safeevaluate) + @middle_resource.expects(:safeevaluate) - resource = @middle.evaluate(@scope) + resource = @middle.evaluate(@scope) - @middle.evaluate_code(resource) - end + @middle.evaluate_code(resource) + end - it "should not evaluate the parent class's code if the parent has already been evaluated" do - @top_resource.stubs(:safeevaluate) - resource = @top.evaluate(@scope) - @top.evaluate_code(resource) + it "should not evaluate the parent class's code if the parent has already been evaluated" do + @top_resource.stubs(:safeevaluate) + resource = @top.evaluate(@scope) + @top.evaluate_code(resource) - @top_resource.expects(:safeevaluate).never - @middle_resource.stubs(:safeevaluate) - resource = @middle.evaluate(@scope) - @middle.evaluate_code(resource) - end + @top_resource.expects(:safeevaluate).never + @middle_resource.stubs(:safeevaluate) + resource = @middle.evaluate(@scope) + @middle.evaluate_code(resource) + end - it "should use the parent class's scope as its parent scope" do - @top_resource.stubs(:safeevaluate) - @middle_resource.stubs(:safeevaluate) - resource = @middle.evaluate(@scope) - @middle.evaluate_code(resource) + it "should use the parent class's scope as its parent scope" do + @top_resource.stubs(:safeevaluate) + @middle_resource.stubs(:safeevaluate) + resource = @middle.evaluate(@scope) + @middle.evaluate_code(resource) - @compiler.class_scope(@middle).parent.should equal(@compiler.class_scope(@top)) - end + @compiler.class_scope(@middle).parent.should equal(@compiler.class_scope(@top)) + end - it "should add the parent class's namespace to its namespace search path" do - @top_resource.stubs(:safeevaluate) - @middle_resource.stubs(:safeevaluate) - resource = @middle.evaluate(@scope) - @middle.evaluate_code(resource) + it "should add the parent class's namespace to its namespace search path" do + @top_resource.stubs(:safeevaluate) + @middle_resource.stubs(:safeevaluate) + resource = @middle.evaluate(@scope) + @middle.evaluate_code(resource) - @compiler.class_scope(@middle).namespaces.should be_include(@top.namespace) + @compiler.class_scope(@middle).namespaces.should be_include(@top.namespace) + end end -end +end
\ No newline at end of file |