summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/util/rdoc/parser.rb4
-rwxr-xr-xspec/unit/util/rdoc/parser_spec.rb12
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb
index f59af64f9..ea7439ad7 100644
--- a/lib/puppet/util/rdoc/parser.rb
+++ b/lib/puppet/util/rdoc/parser.rb
@@ -41,8 +41,10 @@ class Parser
@parser.file = @input_file_name
@ast = @parser.parse
end
- scan_top_level(@top_level)
+ else
+ @ast = env.known_resource_types
end
+ scan_top_level(@top_level)
@top_level
end
diff --git a/spec/unit/util/rdoc/parser_spec.rb b/spec/unit/util/rdoc/parser_spec.rb
index 3295e9031..b4453ae86 100755
--- a/spec/unit/util/rdoc/parser_spec.rb
+++ b/spec/unit/util/rdoc/parser_spec.rb
@@ -43,6 +43,18 @@ describe RDoc::Parser do
@parser.scan.should be_a(RDoc::PuppetTopLevel)
end
+
+ it "should scan the top level even if the file has already parsed" do
+ known_type = stub 'known_types'
+ env = stub 'env'
+ Puppet::Node::Environment.stubs(:new).returns(env)
+ env.stubs(:known_resource_types).returns(known_type)
+ known_type.expects(:watching_file?).with("module/manifests/init.pp").returns(true)
+
+ @parser.expects(:scan_top_level)
+
+ @parser.scan
+ end
end
describe "when scanning top level entities" do