diff options
author | lain <lain@soykaf.club> | 2019-05-31 19:08:14 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-05-31 19:08:14 +0200 |
commit | e2c72e53906a75f4a69a312129aa644c3a2fcd39 (patch) | |
tree | 01ebea44c66851c8a052cb24f1cf760035663bb6 /test/html_test.exs | |
parent | 3591b7c1529be2703b7dfbb1f88390e596e11ef9 (diff) | |
parent | f061d551a97ed35114ee47c3baf61cf7c376983d (diff) | |
download | pleroma-0.9.99999.tar.gz |
Merge branch 'hotfix-0.9.99999'v0.9.99999
Diffstat (limited to 'test/html_test.exs')
-rw-r--r-- | test/html_test.exs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/html_test.exs b/test/html_test.exs index 29cab17f3..f98e7745f 100644 --- a/test/html_test.exs +++ b/test/html_test.exs @@ -18,6 +18,18 @@ defmodule Pleroma.HTMLTest do <img src="http://example.com/image.jpg" onerror="alert('hacked')"> """ + @html_span_class_sample """ + <span class="animate-spin">hi</span> + """ + + @html_span_microformats_sample """ + <span class="h-card"><a class="u-url mention">@<span>foo</span></a></span> + """ + + @html_span_invalid_microformats_sample """ + <span class="h-card"><a class="u-url mention animate-spin">@<span>foo</span></a></span> + """ + describe "StripTags scrubber" do test "works as expected" do expected = """ @@ -58,6 +70,36 @@ defmodule Pleroma.HTMLTest do assert expected == HTML.filter_tags(@html_onerror_sample, Pleroma.HTML.Scrubber.TwitterText) end + + test "does not allow spans with invalid classes" do + expected = """ + <span>hi</span> + """ + + assert expected == + HTML.filter_tags(@html_span_class_sample, Pleroma.HTML.Scrubber.TwitterText) + end + + test "does allow microformats" do + expected = """ + <span class="h-card"><a class="u-url mention">@<span>foo</span></a></span> + """ + + assert expected == + HTML.filter_tags(@html_span_microformats_sample, Pleroma.HTML.Scrubber.TwitterText) + end + + test "filters invalid microformats markup" do + expected = """ + <span class="h-card"><a>@<span>foo</span></a></span> + """ + + assert expected == + HTML.filter_tags( + @html_span_invalid_microformats_sample, + Pleroma.HTML.Scrubber.TwitterText + ) + end end describe "default scrubber" do @@ -80,5 +122,34 @@ defmodule Pleroma.HTMLTest do assert expected == HTML.filter_tags(@html_onerror_sample, Pleroma.HTML.Scrubber.Default) end + + test "does not allow spans with invalid classes" do + expected = """ + <span>hi</span> + """ + + assert expected == HTML.filter_tags(@html_span_class_sample, Pleroma.HTML.Scrubber.Default) + end + + test "does allow microformats" do + expected = """ + <span class="h-card"><a class="u-url mention">@<span>foo</span></a></span> + """ + + assert expected == + HTML.filter_tags(@html_span_microformats_sample, Pleroma.HTML.Scrubber.Default) + end + + test "filters invalid microformats markup" do + expected = """ + <span class="h-card"><a>@<span>foo</span></a></span> + """ + + assert expected == + HTML.filter_tags( + @html_span_invalid_microformats_sample, + Pleroma.HTML.Scrubber.Default + ) + end end end |