replace indentation with non-breaking spaces when cooking emails
This commit is contained in:
parent
32dd1e66be
commit
546b206da0
|
@ -47,6 +47,8 @@ class EmailCook
|
||||||
|
|
||||||
quote_buffer = ""
|
quote_buffer = ""
|
||||||
text.each_line do |line|
|
text.each_line do |line|
|
||||||
|
# replace indentation with non-breaking spaces
|
||||||
|
line.sub!(/^\s{2,}/) { |s| "\u00A0" * s.length }
|
||||||
|
|
||||||
if line =~ /^\s*>/
|
if line =~ /^\s*>/
|
||||||
in_quote = true
|
in_quote = true
|
||||||
|
|
|
@ -84,6 +84,28 @@ describe EmailCook do
|
||||||
expect(cook(long)).to eq(long_cooked)
|
expect(cook(long)).to eq(long_cooked)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "replaces indentation of more than 2 spaces with corresponding amount of non-breaking spaces" do
|
||||||
|
nbsp = "\u00A0"
|
||||||
|
long = plaintext(<<~LONG_EMAIL)
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
|
||||||
|
this is indended by 4 spaces
|
||||||
|
this is indended by 1 space
|
||||||
|
no indentation, but lots of spaces
|
||||||
|
LONG_EMAIL
|
||||||
|
|
||||||
|
long_cooked = <<~LONG_COOKED.strip!
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
<br>
|
||||||
|
<br>#{nbsp}#{nbsp}#{nbsp}#{nbsp}this is indended by 4 spaces
|
||||||
|
<br> this is indended by 1 space
|
||||||
|
<br>no indentation, but lots of spaces
|
||||||
|
<br>
|
||||||
|
LONG_COOKED
|
||||||
|
|
||||||
|
expect(cook(long)).to eq(long_cooked)
|
||||||
|
end
|
||||||
|
|
||||||
it "creates oneboxed link when the line contains only a link" do
|
it "creates oneboxed link when the line contains only a link" do
|
||||||
raw = plaintext("https://www.eviltrout.com")
|
raw = plaintext("https://www.eviltrout.com")
|
||||||
expect(cook(raw)).to eq('<a href="https://www.eviltrout.com" class="onebox" target="_blank">https://www.eviltrout.com</a><br>')
|
expect(cook(raw)).to eq('<a href="https://www.eviltrout.com" class="onebox" target="_blank">https://www.eviltrout.com</a><br>')
|
||||||
|
|
Loading…
Reference in New Issue