2019-04-29 19:27:42 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
require "html_prettify"
|
2015-09-23 22:37:53 -05:00
|
|
|
|
2022-07-27 21:27:38 -05:00
|
|
|
RSpec.describe HtmlPrettify do
|
2015-09-23 22:37:53 -05:00
|
|
|
def t(source, expected)
|
|
|
|
expect(HtmlPrettify.render(source)).to eq(expected)
|
|
|
|
end
|
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
it "correctly prettifies html" do
|
2015-09-23 22:37:53 -05:00
|
|
|
t "<p>All's well!</p>", "<p>All’s well!</p>"
|
|
|
|
t "<p>Eatin' Lunch'.</p>", "<p>Eatin’ Lunch’.</p>"
|
2023-01-09 05:18:21 -06:00
|
|
|
t "<p>a 1/4. is a fraction but not 1/4/2000</p>",
|
|
|
|
"<p>a ¼. is a fraction but not 1/4/2000</p>"
|
2015-09-23 22:37:53 -05:00
|
|
|
t "<p>Well that'll be the day</p>", "<p>Well that’ll be the day</p>"
|
2023-01-09 05:18:21 -06:00
|
|
|
t %(<p>"Quoted text"</p>), "<p>“Quoted text”</p>"
|
2015-09-23 22:37:53 -05:00
|
|
|
t "<p>I've been meaning to tell you ..</p>", "<p>I’ve been meaning to tell you ..</p>"
|
2023-01-09 05:18:21 -06:00
|
|
|
t "<p>single `backticks` in HTML should be preserved</p>",
|
|
|
|
"<p>single `backticks` in HTML should be preserved</p>"
|
2015-09-23 22:37:53 -05:00
|
|
|
t "<p>double hyphen -- ndash --- mdash</p>", "<p>double hyphen – ndash — mdash</p>"
|
|
|
|
t "a long time ago...", "a long time ago…"
|
|
|
|
t "is 'this a mistake'?", "is ‘this a mistake’?"
|
|
|
|
t ERB::Util.html_escape("'that went well'"), "‘that went well’"
|
|
|
|
t '"that went well"', "“that went well”"
|
|
|
|
t ERB::Util.html_escape('"that went well"'), "“that went well”"
|
|
|
|
|
|
|
|
t 'src="test.png"> yay', "src=“test.png”> yay"
|
|
|
|
|
2017-03-13 09:02:20 -05:00
|
|
|
t '\\\\mnt\\c', "\\\\mnt\\c"
|
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
t ERB::Util.html_escape('<img src="test.png"> yay'),
|
|
|
|
"<img src=“test.png”> yay"
|
2015-09-23 22:37:53 -05:00
|
|
|
end
|
|
|
|
end
|