diff options
author | mrsdizzie <joe.mccann@gmail.com> | 2019-02-28 07:31:53 -0500 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2019-02-28 20:31:53 +0800 |
commit | 4a2e92bcd1060ba0c124732690fb2f51c7f9d79d (patch) | |
tree | a0d30850da4b57d32ebfad18b76ff09cc4ade2ce /modules/markup/html_test.go | |
parent | 4b7237b63ee4b5b1892ac6fa14afcd29568147fb (diff) | |
download | gitea-4a2e92bcd1060ba0c124732690fb2f51c7f9d79d.tar.gz gitea-4a2e92bcd1060ba0c124732690fb2f51c7f9d79d.zip |
Modify linkRegex to require http|https (#6171)
Modify the current linkRegex to require http|https which appears to be
the intended behavior based on the comments. Right now, it also matches
anything starting with www as well. Also add testing for linkRegex
Diffstat (limited to 'modules/markup/html_test.go')
-rw-r--r-- | modules/markup/html_test.go | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go index bf7606e1da..f17d00cd67 100644 --- a/modules/markup/html_test.go +++ b/modules/markup/html_test.go @@ -67,6 +67,68 @@ func TestMisc_IsSameDomain(t *testing.T) { assert.False(t, IsSameDomain("favicon.ico")) } +func TestRender_links(t *testing.T) { + setting.AppURL = AppURL + setting.AppSubURL = AppSubURL + + test := func(input, expected string) { + buffer := RenderString("a.md", input, setting.AppSubURL, nil) + assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer))) + } + // Text that should be turned into URL + + test( + "https://www.example.com", + `<p><a href="https://www.example.com" rel="nofollow">https://www.example.com</a></p>`) + test( + "http://www.example.com", + `<p><a href="http://www.example.com" rel="nofollow">http://www.example.com</a></p>`) + test( + "https://example.com", + `<p><a href="https://example.com" rel="nofollow">https://example.com</a></p>`) + test( + "http://example.com", + `<p><a href="http://example.com" rel="nofollow">http://example.com</a></p>`) + test( + "http://foo.com/blah_blah", + `<p><a href="http://foo.com/blah_blah" rel="nofollow">http://foo.com/blah_blah</a></p>`) + test( + "http://foo.com/blah_blah/", + `<p><a href="http://foo.com/blah_blah/" rel="nofollow">http://foo.com/blah_blah/</a></p>`) + test( + "http://www.example.com/wpstyle/?p=364", + `<p><a href="http://www.example.com/wpstyle/?p=364" rel="nofollow">http://www.example.com/wpstyle/?p=364</a></p>`) + test( + "https://www.example.com/foo/?bar=baz&inga=42&quux", + `<p><a href="https://www.example.com/foo/?bar=baz&inga=42&quux" rel="nofollow">https://www.example.com/foo/?bar=baz&inga=42&quux</a></p>`) + test( + "http://142.42.1.1/", + `<p><a href="http://142.42.1.1/" rel="nofollow">http://142.42.1.1/</a></p>`) + + // Test that should *not* be turned into URL + test( + "www.example.com", + `<p>www.example.com</p>`) + test( + "example.com", + `<p>example.com</p>`) + test( + "test.example.com", + `<p>test.example.com</p>`) + test( + "http://", + `<p>http://</p>`) + test( + "https://", + `<p>https://</p>`) + test( + "://", + `<p>://</p>`) + test( + "www", + `<p>www</p>`) +} + func TestRender_ShortLinks(t *testing.T) { setting.AppURL = AppURL setting.AppSubURL = AppSubURL |