mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Merge branch 'bugfix/markdown-newline-codeblocks' into 'develop'
common api: fix newlines in markdown code blocks See merge request pleroma/pleroma!651
This commit is contained in:
commit
ab4c5f5bf7
2 changed files with 50 additions and 2 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue