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
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user