From: Maksim Pechnikov Date: Fri, 3 Jan 2020 13:21:52 +0000 (+0300) Subject: fixed Metadata.Utils.scrub_html_and_truncate X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=f486556346fd078956fb0a13f65b255904e2af83;p=akkoma fixed Metadata.Utils.scrub_html_and_truncate --- diff --git a/lib/pleroma/web/metadata/utils.ex b/lib/pleroma/web/metadata/utils.ex index 720bd4519..e1ad402bc 100644 --- a/lib/pleroma/web/metadata/utils.ex +++ b/lib/pleroma/web/metadata/utils.ex @@ -14,6 +14,7 @@ defmodule Pleroma.Web.Metadata.Utils do |> String.replace(~r//, " ") |> HTML.get_cached_stripped_html_for_activity(object, "metadata") |> Formatter.demojify() + |> HtmlEntities.decode() |> Formatter.truncate() end @@ -24,6 +25,7 @@ defmodule Pleroma.Web.Metadata.Utils do |> String.replace(~r//, " ") |> HTML.strip_tags() |> 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 +# 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