summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2009-12-28 16:47:57 +0100
committerJames Turnbull <james@lovedthanlost.net>2010-01-18 23:19:27 +1100
commitd31ff7ebee14f79b523c3fe4c974d4e6add47a2d (patch)
treef1d69605da24925099e8b8a940cec703f77263ae
parenta9fb82b0026e75a670fec553b17de3b0f091c2a5 (diff)
downloadpuppet-d31ff7ebee14f79b523c3fe4c974d4e6add47a2d.tar.gz
puppet-d31ff7ebee14f79b523c3fe4c974d4e6add47a2d.tar.xz
puppet-d31ff7ebee14f79b523c3fe4c974d4e6add47a2d.zip
Adapt to method name change since 8971d8
When the definition/hostclass/node AST types were removed, the parentclass method was renamed to 'parent'. This patch fixes the incorrect rdoc usage (and some deeper integration test so that it won't happen again). Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
-rw-r--r--lib/puppet/util/rdoc/parser.rb6
-rwxr-xr-xspec/integration/util/rdoc/parser.rb17
-rwxr-xr-xspec/unit/util/rdoc/parser.rb4
3 files changed, 22 insertions, 5 deletions
diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb
index 4d0ac484f..9a2bef932 100644
--- a/lib/puppet/util/rdoc/parser.rb
+++ b/lib/puppet/util/rdoc/parser.rb
@@ -236,7 +236,7 @@ class Parser
Puppet.debug "rdoc: found new class %s" % name
container, name = get_class_or_module(container, name)
- superclass = klass.parentclass
+ superclass = klass.parent
superclass = "" if superclass.nil? or superclass.empty?
@stats.num_classes += 1
@@ -266,7 +266,7 @@ class Parser
# create documentation for a node
def document_node(name, node, container)
Puppet.debug "rdoc: found new node %s" % name
- superclass = node.parentclass
+ superclass = node.parent
superclass = "" if superclass.nil? or superclass.empty?
comment = node.doc
@@ -294,7 +294,7 @@ class Parser
# find superclas if any
@stats.num_methods += 1
- # find the parentclass
+ # find the parent
# split define name by :: to find the complete module hierarchy
container, name = get_class_or_module(container,name)
diff --git a/spec/integration/util/rdoc/parser.rb b/spec/integration/util/rdoc/parser.rb
index 542660998..1dd36c699 100755
--- a/spec/integration/util/rdoc/parser.rb
+++ b/spec/integration/util/rdoc/parser.rb
@@ -35,8 +35,25 @@ describe RDoc::Parser do
File.unlink(@parsedfile)
end
+ def get_test_class(toplevel)
+ # toplevel -> main -> test
+ toplevel.classes[0].classes[0]
+ end
+
it "should parse to RDoc data structure" do
@parser.expects(:document_class).with { |n,k,c| n == "::test" and k.is_a?(Puppet::Parser::ResourceType) }
@parser.scan
end
+
+ it "should get a PuppetClass for the main class" do
+ @parser.scan.classes[0].should be_a RDoc::PuppetClass
+ end
+
+ it "should produce a PuppetClass whose name is test" do
+ get_test_class(@parser.scan).name.should == "test"
+ end
+
+ it "should produce a PuppetClass whose comment is 'comment'" do
+ get_test_class(@parser.scan).comment.should == "comment\n"
+ end
end
diff --git a/spec/unit/util/rdoc/parser.rb b/spec/unit/util/rdoc/parser.rb
index 19c91bb9a..ce776da9b 100755
--- a/spec/unit/util/rdoc/parser.rb
+++ b/spec/unit/util/rdoc/parser.rb
@@ -252,7 +252,7 @@ describe RDoc::Parser do
describe "when documenting nodes" do
before :each do
@code = stub_everything 'code'
- @node = stub_everything 'node', :doc => "mydoc", :parentclass => "parent", :code => @code, :file => "file", :line => 42
+ @node = stub_everything 'node', :doc => "mydoc", :parent => "parent", :code => @code, :file => "file", :line => 42
@rdoc_node = stub_everything 'rdocnode'
@class = stub_everything 'class'
@@ -295,7 +295,7 @@ describe RDoc::Parser do
describe "when documenting classes" do
before :each do
@code = stub_everything 'code'
- @class = stub_everything 'class', :doc => "mydoc", :parentclass => "parent", :code => @code, :file => "file", :line => 42
+ @class = stub_everything 'class', :doc => "mydoc", :parent => "parent", :code => @code, :file => "file", :line => 42
@rdoc_class = stub_everything 'rdoc-class'
@module = stub_everything 'class'