mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 02:35:59 +08:00
4ea21fa2d0
This change both speeds up specs (less strings to allocate) and helps catch cases where methods in Discourse are mutating inputs. Overall we will be migrating everything to use #frozen_string_literal: true it will take a while, but this is the first and safest move in this direction
35 lines
1.4 KiB
Ruby
35 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
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 '\\\\mnt\\c', "\\\\mnt\\c"
|
|
|
|
t ERB::Util.html_escape('<img src="test.png"> yay'), "<img src=“test.png”> yay"
|
|
end
|
|
|
|
end
|