summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-01-07 12:19:21 -0600
committerLuke Kanies <luke@madstop.com>2008-01-07 12:19:21 -0600
commit927dff41df8f1c236c54eaee9fa1db7a3efaf02a (patch)
treeefa1e512c63104b0ea32c208e751860d44a3b431 /spec/unit/parser
parent117926c92c8bdf2a45724c0ae758586f5ae23979 (diff)
downloadpuppet-927dff41df8f1c236c54eaee9fa1db7a3efaf02a.tar.gz
puppet-927dff41df8f1c236c54eaee9fa1db7a3efaf02a.tar.xz
puppet-927dff41df8f1c236c54eaee9fa1db7a3efaf02a.zip
Fixing #971 -- classes can once again be included multiple
times.
Diffstat (limited to 'spec/unit/parser')
-rwxr-xr-xspec/unit/parser/compile.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/spec/unit/parser/compile.rb b/spec/unit/parser/compile.rb
index 2ae99b5fd..092bece0c 100755
--- a/spec/unit/parser/compile.rb
+++ b/spec/unit/parser/compile.rb
@@ -106,7 +106,7 @@ describe Puppet::Parser::Compile, " when evaluating found classes" do
@class = stub 'class', :classname => "my::class"
@scope.stubs(:findclass).with("myclass").returns(@class)
- @resource = mock 'resource'
+ @resource = stub 'resource', :ref => 'Class[myclass]'
end
it "should create a resource for each found class" do
@@ -156,6 +156,19 @@ describe Puppet::Parser::Compile, " when evaluating found classes" do
@compile.evaluate_classes(%w{myclass}, @scope, false)
end
+ it "should skip classes that have already been evaluated" do
+ @compile.catalog.stubs(:tag)
+
+ @compile.expects(:class_scope).with(@class).returns("something")
+
+ @compile.expects(:store_resource).never
+
+ @resource.expects(:evaluate).never
+
+ Puppet::Parser::Resource.expects(:new).never
+ @compile.evaluate_classes(%w{myclass}, @scope, false)
+ end
+
it "should return the list of found classes" do
@compile.catalog.stubs(:tag)