@@ -14,6 +14,7 @@ defmodule Pleroma.Web.Metadata.Utils do | |||||
|> String.replace(~r/<br\s?\/?>/, " ") | |> String.replace(~r/<br\s?\/?>/, " ") | ||||
|> HTML.get_cached_stripped_html_for_activity(object, "metadata") | |> HTML.get_cached_stripped_html_for_activity(object, "metadata") | ||||
|> Formatter.demojify() | |> Formatter.demojify() | ||||
|> HtmlEntities.decode() | |||||
|> Formatter.truncate() | |> Formatter.truncate() | ||||
end | end | ||||
@@ -24,6 +25,7 @@ defmodule Pleroma.Web.Metadata.Utils do | |||||
|> String.replace(~r/<br\s?\/?>/, " ") | |> String.replace(~r/<br\s?\/?>/, " ") | ||||
|> HTML.strip_tags() | |> HTML.strip_tags() | ||||
|> Formatter.demojify() | |> Formatter.demojify() | ||||
|> HtmlEntities.decode() | |||||
|> Formatter.truncate(max_length) | |> Formatter.truncate(max_length) | ||||
end | end | ||||
@@ -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 |