Linkify fixes.

This commit is contained in:
Roger Braun 2017-11-07 12:06:37 +01:00
parent 6dfa62800a
commit 7da978f3f5
2 changed files with 16 additions and 2 deletions

View File

@ -1,7 +1,7 @@
defmodule Pleroma.Formatter do defmodule Pleroma.Formatter do
alias Pleroma.User alias Pleroma.User
@link_regex ~r/https?:\/\/[\w\.\/?=\-#%&]+[\w]/u @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&@~]+[\w\/]/u
def linkify(text) do def linkify(text) do
Regex.replace(@link_regex, text, "<a href='\\0'>\\0</a>") Regex.replace(@link_regex, text, "<a href='\\0'>\\0</a>")
end end

View File

@ -7,10 +7,24 @@ defmodule Pleroma.FormatterTest do
describe ".linkify" do describe ".linkify" do
test "turning urls into links" do test "turning urls into links" do
text = "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla." text = "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla."
expected = "Hey, check out <a href='https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla'>https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla</a>." expected = "Hey, check out <a href='https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla'>https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla</a>."
assert Formatter.linkify(text) == expected assert Formatter.linkify(text) == expected
text = "https://mastodon.social/@lambadalambda"
expected = "<a href='https://mastodon.social/@lambadalambda'>https://mastodon.social/@lambadalambda</a>"
assert Formatter.linkify(text) == expected
text = "@lambadalambda"
expected = "@lambadalambda"
assert Formatter.linkify(text) == expected
text = "http://www.cs.vu.nl/~ast/intel/"
expected = "<a href='http://www.cs.vu.nl/~ast/intel/'>http://www.cs.vu.nl/~ast/intel/</a>"
assert Formatter.linkify(text) == expected
end end
end end