125
124
describe "when outputing documentation" do
127
@node = stub 'node', :file => "file", :line => 1, :doc => ""
128
@class = stub 'class', :file => "file", :line => 4, :doc => ""
129
@definition = stub 'definition', :file => "file", :line => 3, :doc => ""
130
@ast = stub 'ast', :nodes => { :node => @node }, :hostclasses => { :class => @class }, :definitions => { :definition => @definition }
133
it "should output doc for ast nodes" do
136
Puppet::Util::RDoc.output("file", @ast)
139
it "should output doc for ast classes" do
142
Puppet::Util::RDoc.output("file", @ast)
145
it "should output doc for ast definitions" do
146
@definition.expects(:doc)
148
Puppet::Util::RDoc.output("file", @ast)
151
it "should output doc in order of increasing line number" do
152
byline = sequence('byline')
153
@node.expects(:doc).in_sequence(byline)
154
@definition.expects(:doc).in_sequence(byline)
155
@class.expects(:doc).in_sequence(byline)
157
Puppet::Util::RDoc.output("file", @ast)
160
it "should not output documentation of ast object of another node" do
161
klass = stub 'otherclass', :file => "otherfile", :line => 12, :doc => ""
162
@ast.stubs(:hostclasses).returns({ :otherclass => klass })
164
klass.expects(:doc).never
166
Puppet::Util::RDoc.output("file", @ast)
125
it "should output doc for ast classes, nodes and definitions in order of increasing line number" do
126
byline = sequence('documentation outputs in line order')
127
Puppet::Util::RDoc.expects(:puts).with("im a class\n").in_sequence(byline)
128
Puppet::Util::RDoc.expects(:puts).with("im a node\n").in_sequence(byline)
129
Puppet::Util::RDoc.expects(:puts).with("im a define\n").in_sequence(byline)
130
# any other output must fail
131
Puppet::Util::RDoc.manifestdoc([my_fixture('basic.pp')])
169
134
it "should output resource documentation if needed" do
170
Puppet.settings.stubs(:[]).with(:document_all).returns(true)
171
[@node,@definition].each do |o|
172
o.stubs(:code).returns([])
175
resource = stub_everything 'resource', :line => 1
176
resource.stubs(:is_a?).with(Puppet::Parser::AST::ASTArray).returns(false)
177
resource.stubs(:is_a?).with(Puppet::Parser::AST::Resource).returns(true)
178
@class.stubs(:code).returns([resource])
180
resource.expects(:doc)
182
Puppet::Util::RDoc.output("file", @ast)
135
pending "#6634 being fixed"
136
Puppet.settings[:document_all] = true
137
byline = sequence('documentation outputs in line order')
138
Puppet::Util::RDoc.expects(:puts).with("im a class\n").in_sequence(byline)
139
Puppet::Util::RDoc.expects(:puts).with("im a node\n").in_sequence(byline)
140
Puppet::Util::RDoc.expects(:puts).with("im a define\n").in_sequence(byline)
141
Puppet::Util::RDoc.expects(:puts).with("im a resource\n").in_sequence(byline)
142
# any other output must fail
143
Puppet::Util::RDoc.manifestdoc([my_fixture('basic.pp')])