diff --git a/lib/email_cook.rb b/lib/email_cook.rb
index 03f40ea2a..8c91ac27c 100644
--- a/lib/email_cook.rb
+++ b/lib/email_cook.rb
@@ -26,11 +26,15 @@ class EmailCook
in_quote = false
else
+ sz = l.size
+
l.scan(EmailCook.url_regexp).each do |m|
url = m[0]
l.gsub!(url, "#{url}")
end
- result << l << "
"
+
+ result << l
+ result << "
" if sz < 60
end
end
diff --git a/spec/components/email_cook_spec.rb b/spec/components/email_cook_spec.rb
index a440fbf79..783f7ef57 100644
--- a/spec/components/email_cook_spec.rb
+++ b/spec/components/email_cook_spec.rb
@@ -3,10 +3,30 @@ require 'email_cook'
describe EmailCook do
- it 'adds linebreaks' do
+ it 'adds linebreaks to short lines' do
expect(EmailCook.new("hello\nworld\n").cook).to eq("hello\n
world\n
")
end
+ it "doesn't add linebreaks to long lines" do
+ long = <
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc convallis volutpat
+risus. Nulla ac faucibus quam, quis cursus lorem. Sed rutrum eget nunc sed accumsan.
+Vestibulum feugiat mi vitae turpis tempor dignissim.
+
+LONG_COOKED
+ expect(EmailCook.new(long).cook).to eq(long_cooked.strip)
+ end
+
it 'autolinks' do
expect(EmailCook.new("https://www.eviltrout.com").cook).to eq("https://www.eviltrout.com
")
end