discourse/spec/lib/category_badge_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

24 lines
707 B
Ruby

# frozen_string_literal: true
require 'category_badge'
describe CategoryBadge do
it "escapes HTML in category names / descriptions" do
c = Fabricate(:category, name: '<b>name</b>', description: '<b>title</b>')
html = CategoryBadge.html_for(c)
expect(html).not_to include("<b>title</b>")
expect(html).not_to include("<b>name</b>")
expect(html).to include(ERB::Util.html_escape("<b>name</b>"))
expect(html).to include("title='title'")
end
it "escapes code block contents" do
c = Fabricate(:category, description: '<code>\' &lt;b id="x"&gt;</code>')
html = CategoryBadge.html_for(c)
expect(html).to include("title='&#x27; &lt;b id=&quot;x&quot;&gt;'")
end
end