diff options
author | Roger Braun <rbraun@Bobble.local> | 2017-11-07 12:06:37 +0100 |
---|---|---|
committer | Roger Braun <rbraun@Bobble.local> | 2017-11-07 12:06:37 +0100 |
commit | 7da978f3f54a8981c082625a8ad2fea48c918675 (patch) | |
tree | 70b0e38e72a17d353ebc1f3607b5363c1cc094a5 | |
parent | 6dfa62800ad6cdcef9e73ecdabe45363c574a528 (diff) | |
download | pleroma-7da978f3f54a8981c082625a8ad2fea48c918675.tar.gz |
Linkify fixes.
-rw-r--r-- | lib/pleroma/formatter.ex | 2 | ||||
-rw-r--r-- | test/formatter_test.exs | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index f062d9a58..7ccd7e7bb 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -1,7 +1,7 @@ defmodule Pleroma.Formatter do alias Pleroma.User - @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&]+[\w]/u + @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&@~]+[\w\/]/u def linkify(text) do Regex.replace(@link_regex, text, "<a href='\\0'>\\0</a>") end diff --git a/test/formatter_test.exs b/test/formatter_test.exs index d96f433f9..f91973881 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -7,10 +7,24 @@ defmodule Pleroma.FormatterTest do describe ".linkify" 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." - 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 + + 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 |