diff options
author | feld <feld@feld.me> | 2020-01-12 17:25:25 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2020-01-12 17:25:25 +0000 |
commit | ea4a462858c16d66228ab07db6c17e3cbd9114d1 (patch) | |
tree | d7d328211ee7c3d69814f9acdf78e132abccb3c8 | |
parent | ecb8fe183c5a007e80d7b2b1bfc9ead89dc27cc2 (diff) | |
parent | fa7d8e77e64abbbd488152d8063fe9d012c8ac06 (diff) | |
download | pleroma-ea4a462858c16d66228ab07db6c17e3cbd9114d1.tar.gz |
Merge branch 'issue/1487' into 'develop'
[#1487] fixed clear HTML entities after scrub html and truncate
See merge request pleroma/pleroma!2090
-rw-r--r-- | lib/pleroma/web/metadata/utils.ex | 2 | ||||
-rw-r--r-- | test/web/metadata/utils_test.exs | 32 |
2 files changed, 34 insertions, 0 deletions
diff --git a/lib/pleroma/web/metadata/utils.ex b/lib/pleroma/web/metadata/utils.ex index 382ecf426..589d11901 100644 --- a/lib/pleroma/web/metadata/utils.ex +++ b/lib/pleroma/web/metadata/utils.ex @@ -15,6 +15,7 @@ defmodule Pleroma.Web.Metadata.Utils do |> String.replace(~r/<br\s?\/?>/, " ") |> HTML.get_cached_stripped_html_for_activity(object, "metadata") |> Emoji.Formatter.demojify() + |> HtmlEntities.decode() |> Formatter.truncate() end @@ -25,6 +26,7 @@ defmodule Pleroma.Web.Metadata.Utils do |> String.replace(~r/<br\s?\/?>/, " ") |> HTML.strip_tags() |> Emoji.Formatter.demojify() + |> HtmlEntities.decode() |> Formatter.truncate(max_length) end diff --git a/test/web/metadata/utils_test.exs b/test/web/metadata/utils_test.exs new file mode 100644 index 000000000..7547f2932 --- /dev/null +++ b/test/web/metadata/utils_test.exs @@ -0,0 +1,32 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Metadata.UtilsTest do + use Pleroma.DataCase + import Pleroma.Factory + alias Pleroma.Web.Metadata.Utils + + describe "scrub_html_and_truncate/1" do + test "it returns text without encode HTML" do + user = insert(:user) + + note = + insert(:note, %{ + data: %{ + "actor" => user.ap_id, + "id" => "https://pleroma.gov/objects/whatever", + "content" => "Pleroma's really cool!" + } + }) + + assert Utils.scrub_html_and_truncate(note) == "Pleroma's really cool!" + end + end + + describe "scrub_html_and_truncate/2" do + test "it returns text without encode HTML" do + assert Utils.scrub_html_and_truncate("Pleroma's really cool!") == "Pleroma's really cool!" + end + end +end |