Skip to content
Snippets Groups Projects
Commit ab4c5f5b authored by Haelwenn's avatar Haelwenn
Browse files

Merge branch 'bugfix/markdown-newline-codeblocks' into 'develop'

common api: fix newlines in markdown code blocks

See merge request pleroma/pleroma!651
parents 7f5efddd 490c80bc
Branches
Tags
No related merge requests found
......@@ -136,7 +136,6 @@ defmodule Pleroma.Web.CommonAPI.Utils do
def format_input(text, mentions, _tags, "text/html") do
text
|> Formatter.html_escape("text/html")
|> String.replace(~r/\r?\n/, "<br>")
|> (&{[], &1}).()
|> Formatter.add_user_links(mentions)
|> Formatter.finalize()
......@@ -150,7 +149,6 @@ defmodule Pleroma.Web.CommonAPI.Utils do
|> Formatter.mentions_escape(mentions)
|> Earmark.as_html!()
|> Formatter.html_escape("text/html")
|> String.replace(~r/\r?\n/, "")
|> (&{[], &1}).()
|> Formatter.add_user_links(mentions)
|> Formatter.add_hashtag_links(tags)
......
......@@ -56,4 +56,54 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do
assert expected == Utils.emoji_from_profile(user)
end
describe "format_input/4" do
test "works for bare text/plain" do
text = "hello world!"
expected = "hello world!"
output = Utils.format_input(text, [], [], "text/plain")
assert output == expected
text = "hello world!\n\nsecond paragraph!"
expected = "hello world!<br><br>second paragraph!"
output = Utils.format_input(text, [], [], "text/plain")
assert output == expected
end
test "works for bare text/html" do
text = "<p>hello world!</p>"
expected = "<p>hello world!</p>"
output = Utils.format_input(text, [], [], "text/html")
assert output == expected
text = "<p>hello world!</p>\n\n<p>second paragraph</p>"
expected = "<p>hello world!</p>\n\n<p>second paragraph</p>"
output = Utils.format_input(text, [], [], "text/html")
assert output == expected
end
test "works for bare text/markdown" do
text = "**hello world**"
expected = "<p><strong>hello world</strong></p>\n"
output = Utils.format_input(text, [], [], "text/markdown")
assert output == expected
text = "**hello world**\n\n*another paragraph*"
expected = "<p><strong>hello world</strong></p>\n<p><em>another paragraph</em></p>\n"
output = Utils.format_input(text, [], [], "text/markdown")
assert output == expected
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment