summaryrefslogtreecommitdiffstats
path: root/spec/integration/parser/compiler_spec.rb
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2010-08-17 12:02:05 -0700
committerJesse Wolfe <jes5199@gmail.com>2010-08-17 12:25:37 -0700
commit16f701edd89a320ad73b5468d883dfb017fe6e96 (patch)
tree0063bdd34139f0ba09be638f8eabf4bf0e596008 /spec/integration/parser/compiler_spec.rb
parent3c090de39897d85a5d5be20254efcddea14ad8ad (diff)
parent4da88fb4cd57871f16649d50572240ac3f7420f0 (diff)
downloadpuppet-16f701edd89a320ad73b5468d883dfb017fe6e96.tar.gz
puppet-16f701edd89a320ad73b5468d883dfb017fe6e96.tar.xz
puppet-16f701edd89a320ad73b5468d883dfb017fe6e96.zip
Merge remote branch 'paul/4472-4483-4496-4521-4522'
a.k.a. "make_taller_trees"
Diffstat (limited to 'spec/integration/parser/compiler_spec.rb')
-rwxr-xr-xspec/integration/parser/compiler_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/integration/parser/compiler_spec.rb b/spec/integration/parser/compiler_spec.rb
index 9158ad1c2..266347c60 100755
--- a/spec/integration/parser/compiler_spec.rb
+++ b/spec/integration/parser/compiler_spec.rb
@@ -69,4 +69,26 @@ 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
+
+ it "should not allow classes inside conditional constructs" do
+ Puppet[:code] = <<-PP
+ if true {
+ class foo {
+ }
+ }
+ PP
+
+ lambda { Puppet::Parser::Compiler.compile(Puppet::Node.new("mynode")) }.should raise_error(Puppet::Error)
+ end
end