diff options
author | Max Martin <max@puppetlabs.com> | 2011-03-08 13:32:25 -0800 |
---|---|---|
committer | Max Martin <max@puppetlabs.com> | 2011-03-08 13:32:25 -0800 |
commit | 9d551be70ab2a5d64a75a5c497534b0413cd3d81 (patch) | |
tree | 062d88419140fd3d848d68946c76cd3e75baeec5 /spec | |
parent | c3ec3d100fb27211bf86c12bdc759d1fa1afce25 (diff) | |
parent | 2a915725adf0ccefcc28653cbba2219925194594 (diff) | |
download | puppet-9d551be70ab2a5d64a75a5c497534b0413cd3d81.tar.gz puppet-9d551be70ab2a5d64a75a5c497534b0413cd3d81.tar.xz puppet-9d551be70ab2a5d64a75a5c497534b0413cd3d81.zip |
Merge branch 'ticket/next/4798-rdoc-fixes' into next
* ticket/next/4798-rdoc-fixes:
(#4798) Make rdoc work if moduledir & manifestdir overlap
maint: Fix rdoc when documenting manifest files
maint: Move puppetdoc settings to defaults so we can use them in tests
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fixtures/unit/util/rdoc/basic.pp | 16 | ||||
-rw-r--r-- | spec/integration/application/doc_spec.rb | 1 | ||||
-rwxr-xr-x | spec/unit/util/rdoc_spec.rb | 70 |
3 files changed, 32 insertions, 55 deletions
diff --git a/spec/fixtures/unit/util/rdoc/basic.pp b/spec/fixtures/unit/util/rdoc/basic.pp new file mode 100644 index 000000000..5616503c1 --- /dev/null +++ b/spec/fixtures/unit/util/rdoc/basic.pp @@ -0,0 +1,16 @@ +# im a class +class foo { + file { '/tmp/foo' : + ensure => present, + } +} + +# im a node +node gar { +} + +# im a define +define baz { } + +# im a resource +host { 'cow' : } diff --git a/spec/integration/application/doc_spec.rb b/spec/integration/application/doc_spec.rb index d94b3043b..f0b9d7db0 100644 --- a/spec/integration/application/doc_spec.rb +++ b/spec/integration/application/doc_spec.rb @@ -7,7 +7,6 @@ describe Puppet::Application::Doc do include PuppetSpec::Files it "should not generate an error when module dir overlaps parent of site.pp (#4798)" do - pending "need to fix as part of fixing Brice's rdoc patch" begin # Note: the directory structure below is more complex than it # needs to be, but it's representative of the directory structure diff --git a/spec/unit/util/rdoc_spec.rb b/spec/unit/util/rdoc_spec.rb index 41d4b9cd0..93c4f9bfa 100755 --- a/spec/unit/util/rdoc_spec.rb +++ b/spec/unit/util/rdoc_spec.rb @@ -123,63 +123,25 @@ describe Puppet::Util::RDoc do end describe "when outputing documentation" do - before :each do - @node = stub 'node', :file => "file", :line => 1, :doc => "" - @class = stub 'class', :file => "file", :line => 4, :doc => "" - @definition = stub 'definition', :file => "file", :line => 3, :doc => "" - @ast = stub 'ast', :nodes => { :node => @node }, :hostclasses => { :class => @class }, :definitions => { :definition => @definition } - end - - it "should output doc for ast nodes" do - @node.expects(:doc) - - Puppet::Util::RDoc.output("file", @ast) - end - - it "should output doc for ast classes" do - @class.expects(:doc) - - Puppet::Util::RDoc.output("file", @ast) - end - - it "should output doc for ast definitions" do - @definition.expects(:doc) - - Puppet::Util::RDoc.output("file", @ast) - end - - it "should output doc in order of increasing line number" do - byline = sequence('byline') - @node.expects(:doc).in_sequence(byline) - @definition.expects(:doc).in_sequence(byline) - @class.expects(:doc).in_sequence(byline) - - Puppet::Util::RDoc.output("file", @ast) - end - - it "should not output documentation of ast object of another node" do - klass = stub 'otherclass', :file => "otherfile", :line => 12, :doc => "" - @ast.stubs(:hostclasses).returns({ :otherclass => klass }) - - klass.expects(:doc).never - - Puppet::Util::RDoc.output("file", @ast) + it "should output doc for ast classes, nodes and definitions in order of increasing line number" do + byline = sequence('documentation outputs in line order') + Puppet::Util::RDoc.expects(:puts).with("im a class\n").in_sequence(byline) + Puppet::Util::RDoc.expects(:puts).with("im a node\n").in_sequence(byline) + Puppet::Util::RDoc.expects(:puts).with("im a define\n").in_sequence(byline) + # any other output must fail + Puppet::Util::RDoc.manifestdoc([my_fixture('basic.pp')]) end it "should output resource documentation if needed" do - Puppet.settings.stubs(:[]).with(:document_all).returns(true) - [@node,@definition].each do |o| - o.stubs(:code).returns([]) - end - - resource = stub_everything 'resource', :line => 1 - resource.stubs(:is_a?).with(Puppet::Parser::AST::ASTArray).returns(false) - resource.stubs(:is_a?).with(Puppet::Parser::AST::Resource).returns(true) - @class.stubs(:code).returns([resource]) - - resource.expects(:doc) - - Puppet::Util::RDoc.output("file", @ast) + pending "#6634 being fixed" + Puppet.settings[:document_all] = true + byline = sequence('documentation outputs in line order') + Puppet::Util::RDoc.expects(:puts).with("im a class\n").in_sequence(byline) + Puppet::Util::RDoc.expects(:puts).with("im a node\n").in_sequence(byline) + Puppet::Util::RDoc.expects(:puts).with("im a define\n").in_sequence(byline) + Puppet::Util::RDoc.expects(:puts).with("im a resource\n").in_sequence(byline) + # any other output must fail + Puppet::Util::RDoc.manifestdoc([my_fixture('basic.pp')]) end end end |