1 defmodule Pleroma.Web.CommonAPI.Test do
3 alias Pleroma.Web.CommonAPI
4 alias Pleroma.{User, Object}
8 test "it de-duplicates tags" do
10 {:ok, activity} = CommonAPI.post(user, %{"status" => "#2hu #2HU"})
12 object = Object.normalize(activity.data["object"])
14 assert object.data["tag"] == ["2hu"]
17 test "it adds emoji when updating profiles" do
18 user = insert(:user, %{name: ":karjalanpiirakka:"})
20 CommonAPI.update(user)
21 user = User.get_cached_by_ap_id(user.ap_id)
22 [karjalanpiirakka] = user.info.source_data["tag"]
24 assert karjalanpiirakka["name"] == ":karjalanpiirakka:"
28 test "it filters out obviously bad tags when accepting a post as HTML" do
31 post = "<p><b>2hu</b></p><script>alert('xss')</script>"
34 CommonAPI.post(user, %{
36 "content_type" => "text/html"
40 Object.normalize(activity.data["object"])
42 assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')"
45 test "it filters out obviously bad tags when accepting a post as Markdown" do
48 post = "<p><b>2hu</b></p><script>alert('xss')</script>"
51 CommonAPI.post(user, %{
53 "content_type" => "text/markdown"
57 Object.normalize(activity.data["object"])
59 assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')"