aboutsummaryrefslogtreecommitdiff
path: root/test/pleroma/web/common_api
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-10-13 00:27:51 -0500
committerMark Felder <feld@FreeBSD.org>2020-12-11 17:22:17 -0600
commite9e17e5df34051bce60232890ea042582af31f8c (patch)
tree6feac650f042c3c83665bd519bd2c7cdfc75af5e /test/pleroma/web/common_api
parentf2bf2131b4721eb579d248bfc4913a80801efcb7 (diff)
downloadpleroma-e9e17e5df34051bce60232890ea042582af31f8c.tar.gz
Upgrade Earmark to v1.4.10
Diffstat (limited to 'test/pleroma/web/common_api')
-rw-r--r--test/pleroma/web/common_api/utils_test.exs75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/pleroma/web/common_api/utils_test.exs b/test/pleroma/web/common_api/utils_test.exs
index 4d6c9ea26..39ea08ca8 100644
--- a/test/pleroma/web/common_api/utils_test.exs
+++ b/test/pleroma/web/common_api/utils_test.exs
@@ -168,6 +168,81 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do
end
end
+ describe "format_input/3 with markdown" do
+ test "Paragraph" do
+ code = ~s[Hello\n\nWorld!]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<p>Hello</p><p>World!</p>"
+ end
+
+ test "raw HTML" do
+ code = ~s[<a href="http://example.org/">OwO</a><!-- what's this?-->]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<p>#{code}</p>"
+ end
+
+ test "rulers" do
+ code = ~s[before\n\n-----\n\nafter]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<p>before</p><hr /><p>after</p>"
+ end
+
+ test "headings" do
+ code = ~s[# h1\n## h2\n### h3\n]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<h1>h1</h1><h2>h2</h2><h3>h3</h3>]
+ end
+
+ test "blockquote" do
+ code = ~s[> whoms't are you quoting?]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<blockquote><p>whoms’t are you quoting?</p></blockquote>"
+ end
+
+ test "code" do
+ code = ~s[`mix`]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<p><code class="inline">mix</code></p>]
+
+ code = ~s[``mix``]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<p><code class="inline">mix</code></p>]
+
+ code = ~s[```\nputs "Hello World"\n```]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<pre><code class="">puts &quot;Hello World&quot;</code></pre>]
+ end
+
+ test "lists" do
+ code = ~s[- one\n- two\n- three\n- four]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<ul><li>one</li><li>two</li><li>three</li><li>four</li></ul>"
+
+ code = ~s[1. one\n2. two\n3. three\n4. four\n]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<ol><li>one</li><li>two</li><li>three</li><li>four</li></ol>"
+ end
+
+ test "delegated renderers" do
+ code = ~s[a<br/>b]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == "<p>#{code}</p>"
+
+ code = ~s[*aaaa~*]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<p><em>aaaa~</em></p>]
+
+ code = ~s[**aaaa~**]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<p><strong>aaaa~</strong></p>]
+
+ # strikethrought
+ code = ~s[<del>aaaa~</del>]
+ {result, [], []} = Utils.format_input(code, "text/markdown")
+ assert result == ~s[<p><del>aaaa~</del></p>]
+ end
+ end
+
describe "context_to_conversation_id" do
test "creates a mapping object" do
conversation_id = Utils.context_to_conversation_id("random context")