summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/resource/type.rb2
-rwxr-xr-xspec/unit/resource/type_spec.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/puppet/resource/type.rb b/lib/puppet/resource/type.rb
index ab57f962f..825cce39e 100644
--- a/lib/puppet/resource/type.rb
+++ b/lib/puppet/resource/type.rb
@@ -69,7 +69,7 @@ class Puppet::Resource::Type
scope = tmp
end
- scope = subscope(scope, resource)
+ scope = subscope(scope, resource) unless resource.title == :main
set_resource_parameters(resource, scope)
diff --git a/spec/unit/resource/type_spec.rb b/spec/unit/resource/type_spec.rb
index fdb81f760..781721d84 100755
--- a/spec/unit/resource/type_spec.rb
+++ b/spec/unit/resource/type_spec.rb
@@ -412,6 +412,14 @@ describe Puppet::Resource::Type do
@type.evaluate_code(@resource)
end
+ it "should not create a subscope for the :main class" do
+ @resource.stubs(:title).returns(:main)
+ @type.expects(:subscope).never
+ @type.expects(:set_resource_parameters).with(@resource, @scope)
+
+ @type.evaluate_code(@resource)
+ end
+
it "should store the class scope" do
@type.evaluate_code(@resource)
@scope.class_scope(@type).should be_instance_of(@scope.class)