discourse/spec/components/html_prettify_spec.rb
Andy Waite 3e50313fdc Prepare for separation of RSpec helper files
Since rspec-rails 3, the default installation creates two helper files:
* `spec_helper.rb`
* `rails_helper.rb`

`spec_helper.rb` is intended as a way of running specs that do not
require Rails, whereas `rails_helper.rb` loads Rails (as Discourse's
current `spec_helper.rb` does).

For more information:

https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files

In this commit, I've simply replaced all instances of `spec_helper` with
`rails_helper`, and renamed the original `spec_helper.rb`.

This brings the Discourse project closer to the standard usage of RSpec
in a Rails app.

At present, every spec relies on loading Rails, but there are likely
many that don't need to. In a future pull request, I hope to introduce a
separate, minimal `spec_helper.rb` which can be used in tests which
don't rely on Rails.
2015-12-01 20:39:42 +00:00

31 lines
1.4 KiB
Ruby

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&rsquo;s well!</p>"
t "<p>Eatin' Lunch'.</p>", "<p>Eatin&rsquo; Lunch&rsquo;.</p>"
t "<p>a 1/4. is a fraction but not 1/4/2000</p>", "<p>a &frac14;. is a fraction but not 1/4/2000</p>"
t "<p>Well that'll be the day</p>", "<p>Well that&rsquo;ll be the day</p>"
t %(<p>"Quoted text"</p>), %(<p>&ldquo;Quoted text&rdquo;</p>)
t "<p>I've been meaning to tell you ..</p>", "<p>I&rsquo;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; ndash &mdash; mdash</p>"
t "a long time ago...", "a long time ago&hellip;"
t "is 'this a mistake'?", "is &lsquo;this a mistake&rsquo;?"
t ERB::Util.html_escape("'that went well'"), "&lsquo;that went well&rsquo;"
t '"that went well"', "&ldquo;that went well&rdquo;"
t ERB::Util.html_escape('"that went well"'), "&ldquo;that went well&rdquo;"
t 'src="test.png"&gt; yay', "src=&ldquo;test.png&rdquo;&gt; yay"
t ERB::Util.html_escape('<img src="test.png"> yay'), "&lt;img src=&ldquo;test.png&rdquo;&gt; yay"
end
end