summaryrefslogtreecommitdiffstats
path: root/helpers/url_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-06-13 09:52:02 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-06-13 11:40:25 +0200
commita5a4422aaeffe0e9df713cf09c73a9cc423a2e1e (patch)
tree6d3b5d6b8a2d23aa59416a00a664b772f7d24581 /helpers/url_test.go
parent617e094482cbb8e46e5606bc7ff5ead109419d4d (diff)
Fix relURL with leading slash when baseURL includes a subdirectory
Fixes #9994
Diffstat (limited to 'helpers/url_test.go')
-rw-r--r--helpers/url_test.go24
1 files changed, 17 insertions, 7 deletions
diff --git a/helpers/url_test.go b/helpers/url_test.go
index f899e1cdb..e248036ae 100644
--- a/helpers/url_test.go
+++ b/helpers/url_test.go
@@ -17,6 +17,7 @@ import (
"strings"
"testing"
+ qt "github.com/frankban/quicktest"
"github.com/gohugoio/hugo/hugofs"
"github.com/gohugoio/hugo/langs"
)
@@ -59,6 +60,7 @@ func TestAbsURL(t *testing.T) {
}
func doTestAbsURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool, lang string) {
+ c := qt.New(t)
v := newTestCfg()
v.Set("multilingual", multilingual)
v.Set("defaultContentLanguage", "en")
@@ -69,6 +71,10 @@ func doTestAbsURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool,
baseURL string
expected string
}{
+ // Issue 9994
+ {"foo/bar", "https://example.org/foo/", "https://example.org/foo/MULTIfoo/bar"},
+ {"/foo/bar", "https://example.org/foo/", "https://example.org/MULTIfoo/bar"},
+
{"/test/foo", "http://base/", "http://base/MULTItest/foo"},
{"/" + lang + "/test/foo", "http://base/", "http://base/" + lang + "/test/foo"},
{"", "http://base/ace/", "http://base/ace/MULTI"},
@@ -113,9 +119,8 @@ func doTestAbsURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool,
} else {
expected = strings.Replace(expected, "MULTI", "", 1)
}
- if output != expected {
- t.Fatalf("Expected %#v, got %#v\n", expected, output)
- }
+
+ c.Assert(output, qt.Equals, expected)
}
}
@@ -132,6 +137,7 @@ func TestRelURL(t *testing.T) {
}
func doTestRelURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool, lang string) {
+ c := qt.New(t)
v := newTestCfg()
v.Set("multilingual", multilingual)
v.Set("defaultContentLanguage", "en")
@@ -143,13 +149,18 @@ func doTestRelURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool,
canonify bool
expected string
}{
+
+ // Issue 9994
+ {"/foo/bar", "https://example.org/foo/", false, "MULTI/foo/bar"},
+ {"foo/bar", "https://example.org/foo/", false, "/fooMULTI/foo/bar"},
+
{"/test/foo", "http://base/", false, "MULTI/test/foo"},
{"/" + lang + "/test/foo", "http://base/", false, "/" + lang + "/test/foo"},
{lang + "/test/foo", "http://base/", false, "/" + lang + "/test/foo"},
{"test.css", "http://base/sub", false, "/subMULTI/test.css"},
{"test.css", "http://base/sub", true, "MULTI/test.css"},
{"/test/", "http://base/", false, "MULTI/test/"},
- {"/test/", "http://base/sub/", false, "/subMULTI/test/"},
+ {"test/", "http://base/sub/", false, "/subMULTI/test/"},
{"/test/", "http://base/sub/", true, "MULTI/test/"},
{"", "http://base/ace/", false, "/aceMULTI/"},
{"", "http://base/ace", false, "/aceMULTI"},
@@ -189,9 +200,8 @@ func doTestRelURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool,
expected = strings.Replace(expected, "MULTI", "", 1)
}
- if output != expected {
- t.Errorf("[%d][%t] Expected %#v, got %#v\n", i, test.canonify, expected, output)
- }
+ c.Assert(output, qt.Equals, expected, qt.Commentf("[%d] %s", i, test.input))
+
}
}