require 'rails_helper' require 'html_prettify' describe HtmlPrettify do def t(source, expected) expect(HtmlPrettify.render(source)).to eq(expected) end it 'correctly prettifies html' do t "<p>All's well!</p>", "<p>All’s well!</p>" t "<p>Eatin' Lunch'.</p>", "<p>Eatin’ Lunch’.</p>" 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>" t "<p>Well that'll be the day</p>", "<p>Well that’ll be the day</p>" t %(<p>"Quoted text"</p>), %(<p>“Quoted text”</p>) t "<p>I've been meaning to tell you ..</p>", "<p>I’ve been meaning to tell you ..</p>" t "<p>single `backticks` in HTML should be preserved</p>", "<p>single `backticks` in HTML should be preserved</p>" 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" t ERB::Util.html_escape('<img src="test.png"> yay'), "<img src=“test.png”> yay" end end