diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/emoji/formatter_test.exs | 7 | ||||
| -rw-r--r-- | test/html_test.exs | 44 | ||||
| -rw-r--r-- | test/web/activity_pub/mrf/normalize_markup_test.exs | 10 | ||||
| -rw-r--r-- | test/web/common_api/common_api_test.exs | 4 | ||||
| -rw-r--r-- | test/web/mastodon_api/views/status_view_test.exs | 9 | 
5 files changed, 36 insertions, 38 deletions
| diff --git a/test/emoji/formatter_test.exs b/test/emoji/formatter_test.exs index 6d25fc453..fda80d470 100644 --- a/test/emoji/formatter_test.exs +++ b/test/emoji/formatter_test.exs @@ -12,7 +12,7 @@ defmodule Pleroma.Emoji.FormatterTest do        text = "I love :firefox:"        expected_result = -        "I love <img class=\"emoji\" alt=\"firefox\" title=\"firefox\" src=\"/emoji/Firefox.gif\" />" +        "I love <img class=\"emoji\" alt=\"firefox\" title=\"firefox\" src=\"/emoji/Firefox.gif\"/>"        assert Formatter.emojify(text) == expected_result      end @@ -28,10 +28,7 @@ defmodule Pleroma.Emoji.FormatterTest do          }          |> Pleroma.Emoji.build() -      expected_result = -        "I love <img class=\"emoji\" alt=\"\" title=\"\" src=\"https://placehold.it/1x1\" />" - -      assert Formatter.emojify(text, [{custom_emoji.code, custom_emoji}]) == expected_result +      refute Formatter.emojify(text, [{custom_emoji.code, custom_emoji}]) =~ text      end    end diff --git a/test/html_test.exs b/test/html_test.exs index 306ad3b3b..f0869534c 100644 --- a/test/html_test.exs +++ b/test/html_test.exs @@ -21,31 +21,31 @@ defmodule Pleroma.HTMLTest do    """    @html_onerror_sample """ -    <img src="http://example.com/image.jpg" onerror="alert('hacked')"> +  <img src="http://example.com/image.jpg" onerror="alert('hacked')">    """    @html_span_class_sample """ -    <span class="animate-spin">hi</span> +  <span class="animate-spin">hi</span>    """    @html_span_microformats_sample """ -    <span class="h-card"><a class="u-url mention">@<span>foo</span></a></span> +  <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> +  <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 = """ -      this is in bold +        this is in bold          this is a paragraph          this is a linebreak -        this is a link with allowed "rel" attribute: example.com -        this is a link with not allowed "rel" attribute: example.com +        this is a link with allowed "rel" attribute: example.com +        this is a link with not allowed "rel" attribute: example.com          this is an image:  -        alert('hacked') +        alert('hacked')        """        assert expected == HTML.strip_tags(@html_sample) @@ -61,13 +61,13 @@ defmodule Pleroma.HTMLTest do    describe "TwitterText scrubber" do      test "normalizes HTML as expected" do        expected = """ -      this is in bold +        this is in bold          <p>this is a paragraph</p> -        this is a linebreak<br /> -        this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> -        this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> -        this is an image: <img src="http://example.com/image.jpg" /><br /> -        alert('hacked') +        this is a linebreak<br/> +        this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> +        this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> +        this is an image: <img src="http://example.com/image.jpg"/><br/> +        alert('hacked')        """        assert expected == HTML.filter_tags(@html_sample, Pleroma.HTML.Scrubber.TwitterText) @@ -75,7 +75,7 @@ defmodule Pleroma.HTMLTest do      test "does not allow attribute-based XSS" do        expected = """ -      <img src="http://example.com/image.jpg" /> +      <img src="http://example.com/image.jpg"/>        """        assert expected == HTML.filter_tags(@html_onerror_sample, Pleroma.HTML.Scrubber.TwitterText) @@ -115,13 +115,13 @@ defmodule Pleroma.HTMLTest do    describe "default scrubber" do      test "normalizes HTML as expected" do        expected = """ -      <b>this is in bold</b> +        <b>this is in bold</b>          <p>this is a paragraph</p> -        this is a linebreak<br /> -        this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> -        this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> -        this is an image: <img src="http://example.com/image.jpg" /><br /> -        alert('hacked') +        this is a linebreak<br/> +        this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> +        this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> +        this is an image: <img src="http://example.com/image.jpg"/><br/> +        alert('hacked')        """        assert expected == HTML.filter_tags(@html_sample, Pleroma.HTML.Scrubber.Default) @@ -129,7 +129,7 @@ defmodule Pleroma.HTMLTest do      test "does not allow attribute-based XSS" do        expected = """ -      <img src="http://example.com/image.jpg" /> +      <img src="http://example.com/image.jpg"/>        """        assert expected == HTML.filter_tags(@html_onerror_sample, Pleroma.HTML.Scrubber.Default) diff --git a/test/web/activity_pub/mrf/normalize_markup_test.exs b/test/web/activity_pub/mrf/normalize_markup_test.exs index 3916a1f35..0207be56b 100644 --- a/test/web/activity_pub/mrf/normalize_markup_test.exs +++ b/test/web/activity_pub/mrf/normalize_markup_test.exs @@ -20,11 +20,11 @@ defmodule Pleroma.Web.ActivityPub.MRF.NormalizeMarkupTest do      expected = """      <b>this is in bold</b>      <p>this is a paragraph</p> -    this is a linebreak<br /> -    this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> -    this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> -    this is an image: <img src="http://example.com/image.jpg" /><br /> -    alert('hacked') +    this is a linebreak<br/> +    this is a link with allowed "rel" attribute: <a href="http://example.com/" rel="tag">example.com</a> +    this is a link with not allowed "rel" attribute: <a href="http://example.com/">example.com</a> +    this is an image: <img src="http://example.com/image.jpg"/><br/> +    alert('hacked')      """      message = %{"type" => "Create", "object" => %{"content" => @html_sample}} diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 1d2f20617..212b00cbb 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -140,7 +140,7 @@ defmodule Pleroma.Web.CommonAPITest do        object = Object.normalize(activity) -      assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')" +      assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')"      end      test "it filters out obviously bad tags when accepting a post as Markdown" do @@ -156,7 +156,7 @@ defmodule Pleroma.Web.CommonAPITest do        object = Object.normalize(activity) -      assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')" +      assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')"      end      test "it does not allow replies to direct messages that are not direct messages themselves" do diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index c200ad8fe..7526f2f27 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -7,6 +7,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    alias Pleroma.Activity    alias Pleroma.Bookmark +  alias Pleroma.HTML    alias Pleroma.Object    alias Pleroma.Repo    alias Pleroma.User @@ -107,7 +108,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do        in_reply_to_account_id: nil,        card: nil,        reblog: nil, -      content: HtmlSanitizeEx.basic_html(object_data["content"]), +      content: HTML.filter_tags(object_data["content"]),        created_at: created_at,        reblogs_count: 0,        replies_count: 0, @@ -119,7 +120,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do        pinned: false,        sensitive: false,        poll: nil, -      spoiler_text: HtmlSanitizeEx.basic_html(object_data["summary"]), +      spoiler_text: HTML.filter_tags(object_data["summary"]),        visibility: "public",        media_attachments: [],        mentions: [], @@ -146,8 +147,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do          local: true,          conversation_id: convo_id,          in_reply_to_account_acct: nil, -        content: %{"text/plain" => HtmlSanitizeEx.strip_tags(object_data["content"])}, -        spoiler_text: %{"text/plain" => HtmlSanitizeEx.strip_tags(object_data["summary"])}, +        content: %{"text/plain" => HTML.strip_tags(object_data["content"])}, +        spoiler_text: %{"text/plain" => HTML.strip_tags(object_data["summary"])},          expires_at: nil,          direct_conversation_id: nil,          thread_muted: false | 
