summaryrefslogtreecommitdiffstats
path: root/spec/integration/parser/compiler_spec.rb
diff options
context:
space:
mode:
authorPaul Berry <paul@puppetlabs.com>2010-08-13 15:25:17 -0700
committerPaul Berry <paul@puppetlabs.com>2010-08-13 15:53:29 -0700
commitcaca187dffbd6e628d7eda599c7f2939dd05fafc (patch)
tree3bda82a89dd30d9612a229ac3b38588df146b50a /spec/integration/parser/compiler_spec.rb
parent6b1dd81799a44288287d9ab0cdf46afa3aaf090a (diff)
downloadpuppet-caca187dffbd6e628d7eda599c7f2939dd05fafc.tar.gz
puppet-caca187dffbd6e628d7eda599c7f2939dd05fafc.tar.xz
puppet-caca187dffbd6e628d7eda599c7f2939dd05fafc.zip
Moved perform_initial_import from Puppet::Resource::TypeCollection to Puppet::Node::Environment.
This change is part of an ongoing effort to remove functionality from TypeCollection that is not related to keeping track of a collection of types. This reduces TypeCollection's linkage to the environment, which is a step toward decoupling it from the type loading mechanism. Also, added a spec test to verify that TypeCollection.version is correctly recomputed when types are re-imported.
Diffstat (limited to 'spec/integration/parser/compiler_spec.rb')
-rwxr-xr-xspec/integration/parser/compiler_spec.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/spec/integration/parser/compiler_spec.rb b/spec/integration/parser/compiler_spec.rb
index 9158ad1c2..67e8e5e62 100755
--- a/spec/integration/parser/compiler_spec.rb
+++ b/spec/integration/parser/compiler_spec.rb
@@ -69,4 +69,15 @@ describe Puppet::Parser::Compiler do
notify_resource[:require].title.should == "Experiment::Baz"
end
end
+
+ it "should recompute the version after input files are re-parsed" do
+ Puppet[:code] = 'class foo { }'
+ Time.stubs(:now).returns(1)
+ node = Puppet::Node.new('mynode')
+ Puppet::Parser::Compiler.compile(node).version.should == 1
+ Time.stubs(:now).returns(2)
+ Puppet::Parser::Compiler.compile(node).version.should == 1 # no change because files didn't change
+ Puppet::Resource::TypeCollection.any_instance.stubs(:stale?).returns(true).then.returns(false) # pretend change
+ Puppet::Parser::Compiler.compile(node).version.should == 2
+ end
end