parent
600ed78b04
commit
6033359bd0
3 changed files with 21 additions and 2 deletions
|
@ -89,7 +89,7 @@ Minitest/EmptyLineBeforeAssertionMethods:
|
|||
|
||||
# Offense count: 560
|
||||
Minitest/MultipleAssertions:
|
||||
Max: 52
|
||||
Max: 54
|
||||
|
||||
# Offense count: 1
|
||||
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
Sanitize::Config::OSM = Sanitize::Config.merge(
|
||||
Sanitize::Config::RELAXED,
|
||||
:elements => Sanitize::Config::RELAXED[:elements] - %w[div style],
|
||||
:add_attributes => { "a" => { "rel" => "nofollow noopener noreferrer" } },
|
||||
:remove_contents => %w[script style],
|
||||
:transformers => lambda do |env|
|
||||
env[:node].remove_class
|
||||
env[:node].kwattr_remove("style", nil)
|
||||
env[:node].add_class("table table-sm w-auto") if env[:node_name] == "table"
|
||||
|
||||
if env[:node_name] == "a"
|
||||
rel = env[:node]["rel"] || ""
|
||||
|
||||
env[:node]["rel"] = rel.split.select { |r| r == "me" }.append("nofollow", "noopener", "noreferrer").sort.join(" ")
|
||||
end
|
||||
end
|
||||
)
|
||||
|
|
|
@ -18,6 +18,13 @@ class RichTextTest < ActiveSupport::TestCase
|
|||
assert_select "a[rel='nofollow noopener noreferrer']", 1
|
||||
end
|
||||
|
||||
r = RichText.new("html", "foo <a rel='junk me trash' href='http://example.com/'>bar</a> baz")
|
||||
assert_html r do
|
||||
assert_select "a", 1
|
||||
assert_select "a[href='http://example.com/']", 1
|
||||
assert_select "a[rel='me nofollow noopener noreferrer']", 1
|
||||
end
|
||||
|
||||
r = RichText.new("html", "foo example@example.com bar")
|
||||
assert_html r do
|
||||
assert_select "a", 0
|
||||
|
@ -91,6 +98,13 @@ class RichTextTest < ActiveSupport::TestCase
|
|||
assert_select "a[rel='nofollow noopener noreferrer']", 1
|
||||
end
|
||||
|
||||
r = RichText.new("markdown", "foo <a rel='junk me trash' href='http://example.com/'>bar</a>) baz")
|
||||
assert_html r do
|
||||
assert_select "a", 1
|
||||
assert_select "a[href='http://example.com/']", 1
|
||||
assert_select "a[rel='me nofollow noopener noreferrer']", 1
|
||||
end
|
||||
|
||||
r = RichText.new("markdown", "foo example@example.com bar")
|
||||
assert_html r do
|
||||
assert_select "a", 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue