diff options
author | nfagerlund <nick.fagerlund@gmail.com> | 2011-05-26 10:32:22 -0700 |
---|---|---|
committer | nfagerlund <nick.fagerlund@gmail.com> | 2011-05-26 11:12:06 -0700 |
commit | 996dc076e9ca61613f80fc79f0ffe667b14d1ebb (patch) | |
tree | 162867950f0fb2379de1186dbe3afb145f710279 | |
parent | 6a1b6e0656c6b3939e48bcd2f558deb343bddb7b (diff) | |
download | puppet-996dc076e9ca61613f80fc79f0ffe667b14d1ebb.tar.gz puppet-996dc076e9ca61613f80fc79f0ffe667b14d1ebb.tar.xz puppet-996dc076e9ca61613f80fc79f0ffe667b14d1ebb.zip |
Maint: Fix ellipses for short descriptions
Previously, we were adding ellipsis to any short_description, which was
misleading; they were only necessary when we were truncating in the _middle_ of
a paragraph.
This commit changes the behavior, and updates the tests to show when we expect
ellipsis.
Paired-with: Matt Robinson <matt@puppetlabs.com>
-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 |