diff options
-rw-r--r-- | lib/puppet/interface/documentation.rb | 6 | ||||
-rw-r--r-- | spec/shared_behaviours/documentation_on_faces.rb | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/puppet/interface/documentation.rb b/lib/puppet/interface/documentation.rb index aedcc1c24..fcaec2568 100644 --- a/lib/puppet/interface/documentation.rb +++ b/lib/puppet/interface/documentation.rb @@ -77,8 +77,10 @@ class Puppet::Interface if @short_description.nil? then return nil if @description.nil? lines = @description.split("\n") - grab = [5, lines.index('') || 5].min - @short_description = lines[0, grab].join("\n") + ' [...]' + first_paragraph_break = lines.index('') || 5 + grab = [5, first_paragraph_break].min + @short_description = lines[0, grab].join("\n") + @short_description += ' [...]' if (grab < lines.length and first_paragraph_break >= 5) end @short_description end diff --git a/spec/shared_behaviours/documentation_on_faces.rb b/spec/shared_behaviours/documentation_on_faces.rb index 3cfb178f7..1106d4cca 100644 --- a/spec/shared_behaviours/documentation_on_faces.rb +++ b/spec/shared_behaviours/documentation_on_faces.rb @@ -109,11 +109,18 @@ shared_examples_for "documentation on faces" do subject.short_description.should == "hello\ngoodbye" end - it "should trim a very, very long first paragraph" do + it "should trim a very, very long first paragraph and add ellipsis" do line = "this is a very, very, very long long line full of text\n" subject.description = line * 20 + "\n\nwhatever, dude." - subject.short_description.should == (line * 5).chomp + subject.short_description.should == (line * 5).chomp + ' [...]' + end + + it "should trim a very very long only paragraph even if it is followed by a new paragraph" do + line = "this is a very, very, very long long line full of text\n" + subject.description = line * 20 + + subject.short_description.should == (line * 5).chomp + ' [...]' end end |