diff options
| author | Paul Berry <paul@puppetlabs.com> | 2010-09-01 14:18:41 -0700 |
|---|---|---|
| committer | Paul Berry <paul@puppetlabs.com> | 2010-09-01 14:27:37 -0700 |
| commit | 25048ecc40db746f7e88bb6c5e1fc4f2c0150a4f (patch) | |
| tree | 11bda23eca92a698966695662c441c8b0066b70b /spec | |
| parent | fb9034731ddae41f1009745eb8eb1ea53aa05cfb (diff) | |
| download | puppet-25048ecc40db746f7e88bb6c5e1fc4f2c0150a4f.tar.gz puppet-25048ecc40db746f7e88bb6c5e1fc4f2c0150a4f.tar.xz puppet-25048ecc40db746f7e88bb6c5e1fc4f2c0150a4f.zip | |
[#4685] Classes, defines, and nodes allowed inside of non-evaluated conditionals
Previously, ASTArray#evaluate() was responsible for checking whether
the user had tried to declare a class, define, or node in a prohibited
location (such as a conditional construct). This meant that errors
would only be reported to the user if the conditional code was
actually evaluated.
Moved the checking into the parser, so that errors are always
reported.
Diffstat (limited to 'spec')
| -rwxr-xr-x | spec/integration/parser/compiler_spec.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/integration/parser/compiler_spec.rb b/spec/integration/parser/compiler_spec.rb index 266347c60..ffff4d845 100755 --- a/spec/integration/parser/compiler_spec.rb +++ b/spec/integration/parser/compiler_spec.rb @@ -81,7 +81,7 @@ describe Puppet::Parser::Compiler do Puppet::Parser::Compiler.compile(node).version.should == 2 end - it "should not allow classes inside conditional constructs" do + it "should not allow classes inside evaluated conditional constructs" do Puppet[:code] = <<-PP if true { class foo { @@ -91,4 +91,15 @@ describe Puppet::Parser::Compiler do lambda { Puppet::Parser::Compiler.compile(Puppet::Node.new("mynode")) }.should raise_error(Puppet::Error) end + + it "should not allow classes inside unevaluated conditional constructs" do + Puppet[:code] = <<-PP + if false { + class foo { + } + } + PP + + lambda { Puppet::Parser::Compiler.compile(Puppet::Node.new("mynode")) }.should raise_error(Puppet::Error) + end end |
