diff options
| author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2023-03-06 22:55:24 +0000 | 
|---|---|---|
| committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2023-03-06 22:55:24 +0000 | 
| commit | 5cc23dc38292513926640af7ea3f29eff7f25f66 (patch) | |
| tree | 4abfae2a21682a8d762fcdefac2a7e169e91d320 /test | |
| parent | 0a042979b8d0b6cfb5996586b64005735589e589 (diff) | |
| parent | 7b42ec5633df63987b75a6dca84daace30057ca7 (diff) | |
| download | pleroma-5cc23dc38292513926640af7ea3f29eff7f25f66.tar.gz pleroma-5cc23dc38292513926640af7ea3f29eff7f25f66.zip | |
Merge branch 'fix/tag-feed-crashes' into 'develop'
fix: atom/rss feed issues
Closes #3045
See merge request pleroma/pleroma!3851
Diffstat (limited to 'test')
| -rw-r--r-- | test/pleroma/web/feed/user_controller_test.exs | 44 | ||||
| -rw-r--r-- | test/pleroma/web/metadata/utils_test.exs | 2 | 
2 files changed, 42 insertions, 4 deletions
| diff --git a/test/pleroma/web/feed/user_controller_test.exs b/test/pleroma/web/feed/user_controller_test.exs index de32d3d4b..d3c4108de 100644 --- a/test/pleroma/web/feed/user_controller_test.exs +++ b/test/pleroma/web/feed/user_controller_test.exs @@ -57,9 +57,23 @@ defmodule Pleroma.Web.Feed.UserControllerTest do          )        note_activity2 = insert(:note_activity, note: note2) + +      note3 = +        insert(:note, +          user: user, +          data: %{ +            "content" => "This note tests whether HTML entities are truncated properly", +            "summary" => "Won't, didn't fail", +            "inReplyTo" => note_activity2.id +          } +        ) + +      _note_activity3 = insert(:note_activity, note: note3)        object = Object.normalize(note_activity, fetch: false) -      [user: user, object: object, max_id: note_activity2.id] +      encoded_title = FeedView.activity_title(note3.data) + +      [user: user, object: object, max_id: note_activity2.id, encoded_title: encoded_title]      end      test "gets an atom feed", %{conn: conn, user: user, object: object, max_id: max_id} do @@ -74,7 +88,7 @@ defmodule Pleroma.Web.Feed.UserControllerTest do          |> SweetXml.parse()          |> SweetXml.xpath(~x"//entry/title/text()"l) -      assert activity_titles == ['2hu', '2hu & as'] +      assert activity_titles == ['Won\'t, didn\'...', '2hu', '2hu & as']        assert resp =~ FeedView.escape(object.data["content"])        assert resp =~ FeedView.escape(object.data["summary"])        assert resp =~ FeedView.escape(object.data["context"]) @@ -105,7 +119,7 @@ defmodule Pleroma.Web.Feed.UserControllerTest do          |> SweetXml.parse()          |> SweetXml.xpath(~x"//item/title/text()"l) -      assert activity_titles == ['2hu', '2hu & as'] +      assert activity_titles == ['Won\'t, didn\'...', '2hu', '2hu & as']        assert resp =~ FeedView.escape(object.data["content"])        assert resp =~ FeedView.escape(object.data["summary"])        assert resp =~ FeedView.escape(object.data["context"]) @@ -176,6 +190,30 @@ defmodule Pleroma.Web.Feed.UserControllerTest do        |> get("/users/#{user.nickname}/feed.rss")        |> response(200)      end + +    test "does not mangle HTML entities midway", %{ +      conn: conn, +      user: user, +      object: object, +      encoded_title: encoded_title +    } do +      resp = +        conn +        |> put_req_header("accept", "application/atom+xml") +        |> get(user_feed_path(conn, :feed, user.nickname)) +        |> response(200) + +      activity_titles = +        resp +        |> SweetXml.parse() +        |> SweetXml.xpath(~x"//entry/title/text()"l) + +      assert activity_titles == ['Won\'t, didn\'...', '2hu', '2hu & as'] +      assert resp =~ FeedView.escape(object.data["content"]) +      assert resp =~ FeedView.escape(object.data["summary"]) +      assert resp =~ FeedView.escape(object.data["context"]) +      assert resp =~ encoded_title +    end    end    # Note: see ActivityPubControllerTest for JSON format tests diff --git a/test/pleroma/web/metadata/utils_test.exs b/test/pleroma/web/metadata/utils_test.exs index 85ef6033a..3daf852fb 100644 --- a/test/pleroma/web/metadata/utils_test.exs +++ b/test/pleroma/web/metadata/utils_test.exs @@ -72,7 +72,7 @@ defmodule Pleroma.Web.Metadata.UtilsTest do      end    end -  describe "scrub_html_and_truncate/2" do +  describe "scrub_html_and_truncate/3" do      test "it returns text without encode HTML" do        assert Utils.scrub_html_and_truncate("Pleroma's really cool!") == "Pleroma's really cool!"      end | 
