diff options
| author | Markus Roberts <Markus@reality.com> | 2010-08-22 10:14:03 -0700 |
|---|---|---|
| committer | Markus Roberts <Markus@reality.com> | 2010-08-24 18:08:14 -0700 |
| commit | 491c31dcbdb0977c0377cb276cfe32a4c24e0e1a (patch) | |
| tree | 111d2cddb1e877646c6b1bffccd09eb3bb747ddc /spec/unit/parser | |
| parent | 302d657658db068c0c593545e92923659608c5a3 (diff) | |
| download | puppet-491c31dcbdb0977c0377cb276cfe32a4c24e0e1a.tar.gz puppet-491c31dcbdb0977c0377cb276cfe32a4c24e0e1a.tar.xz puppet-491c31dcbdb0977c0377cb276cfe32a4c24e0e1a.zip | |
Fix for #4542 -- included classes weren't assigned proper stages
This commit unifies the code paths on which classes are added, alters the default
stage to respect the stage of the parent if any, and assures that the resource is
notified if its stage is assigned (turning an implicit stage into an explicit one).
Diffstat (limited to 'spec/unit/parser')
| -rwxr-xr-x | spec/unit/parser/compiler_spec.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/unit/parser/compiler_spec.rb b/spec/unit/parser/compiler_spec.rb index e8c06dd0b..22d52f257 100755 --- a/spec/unit/parser/compiler_spec.rb +++ b/spec/unit/parser/compiler_spec.rb @@ -430,7 +430,18 @@ describe Puppet::Parser::Compiler do lambda { @compiler.add_resource(@scope, resource) }.should raise_error(ArgumentError) end - it "should add edges from the class resources to the main stage if no stage is specified" do + it "should add edges from the class resources to the parent's stage if no stage is specified" do + main = @compiler.catalog.resource(:stage, :main) + foo_stage = resource(:stage, :foo_stage) + @compiler.add_resource(@scope, foo_stage) + resource = resource(:class, "foo") + @scope.stubs(:resource).returns(:stage => :foo_stage) + @compiler.add_resource(@scope, resource) + + @compiler.catalog.should be_edge(foo_stage, resource) + end + + it "should add edges from top-level class resources to the main stage if no stage is specified" do main = @compiler.catalog.resource(:stage, :main) resource = resource(:class, "foo") @compiler.add_resource(@scope, resource) |
