forked from AkkomaGang/akkoma
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 @@ def format_input(text, mentions, tags, "text/plain") do
|
||||||
def format_input(text, mentions, _tags, "text/html") do
|
def format_input(text, mentions, _tags, "text/html") do
|
||||||
text
|
text
|
||||||
|> Formatter.html_escape("text/html")
|
|> Formatter.html_escape("text/html")
|
||||||
|> String.replace(~r/\r?\n/, "<br>")
|
|
||||||
|> (&{[], &1}).()
|
|> (&{[], &1}).()
|
||||||
|> Formatter.add_user_links(mentions)
|
|> Formatter.add_user_links(mentions)
|
||||||
|> Formatter.finalize()
|
|> Formatter.finalize()
|
||||||
|
@ -150,7 +149,6 @@ def format_input(text, mentions, tags, "text/markdown") do
|
||||||
|> Formatter.mentions_escape(mentions)
|
|> Formatter.mentions_escape(mentions)
|
||||||
|> Earmark.as_html!()
|
|> Earmark.as_html!()
|
||||||
|> Formatter.html_escape("text/html")
|
|> Formatter.html_escape("text/html")
|
||||||
|> String.replace(~r/\r?\n/, "")
|
|
||||||
|> (&{[], &1}).()
|
|> (&{[], &1}).()
|
||||||
|> Formatter.add_user_links(mentions)
|
|> Formatter.add_user_links(mentions)
|
||||||
|> Formatter.add_hashtag_links(tags)
|
|> Formatter.add_hashtag_links(tags)
|
||||||
|
|
|
@ -56,4 +56,54 @@ test "parses emoji from name and bio" do
|
||||||
|
|
||||||
assert expected == Utils.emoji_from_profile(user)
|
assert expected == Utils.emoji_from_profile(user)
|
||||||
end
|
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
|
end
|
||||||
|
|
Loading…
Reference in a new issue