From 10230cfc28e77dde127c157b7238fee2fc378969 Mon Sep 17 00:00:00 2001 From: Markus Roberts Date: Sun, 24 Oct 2010 14:08:14 -0700 Subject: Step towards #5027 -- scopes should know if they are dynamic The logic for distinguishing dynamic / static scopes was borrowed from Nick & Paul's patch, the main differences here being 1) calling it "dynamic" (true/ false) rather than "parent_relationship" (:inherited/:dynamic) 2) aligning the default so that it only needs to get set in one place (the one that will eventually go away) and 3) setting it on createion rather than with a setter. Setting it in one place, on creation, also makes it easier to see that anytime we access a scope it will have the correct setting of Scope#dynamic and that this does not change. This commit also contains a minor refactor (removing Type#subscope) that is not strictly tied to the main purpose but lies in the direction we are needing to go and it simplified things to do it now. --- spec/unit/parser/scope_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'spec/unit/parser') diff --git a/spec/unit/parser/scope_spec.rb b/spec/unit/parser/scope_spec.rb index 17f485c03..8215535dd 100755 --- a/spec/unit/parser/scope_spec.rb +++ b/spec/unit/parser/scope_spec.rb @@ -73,6 +73,14 @@ describe Puppet::Parser::Scope do Puppet::Parser::Scope.new.singleton_class.ancestors.should be_include(mod) end + + it "should remember if it is dynamic" do + (!!Puppet::Parser::Scope.new(:dynamic => true).dynamic).should == true + end + + it "should assume it is not dynamic" do + (!Puppet::Parser::Scope.new.dynamic).should == true + end end describe "when looking up a variable" do -- cgit