mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
bef3df7481
commit
bea9280fb3
3 changed files with 30 additions and 6 deletions
|
@ -77,7 +77,7 @@ func sanitizeURLWithFlags(in string, f purell.NormalizationFlags) string {
|
|||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if !strings.HasPrefix(u.Path, "/") {
|
||||
if len(u.Path) > 0 && !strings.HasPrefix(u.Path, "/") {
|
||||
u.Path = "/" + u.Path
|
||||
}
|
||||
return u.String()
|
||||
|
|
|
@ -31,11 +31,12 @@ func TestSanitizeURL(t *testing.T) {
|
|||
input string
|
||||
expected string
|
||||
}{
|
||||
{"http://foo.bar/", "http://foo.bar/"},
|
||||
{"http://foo.bar/", "http://foo.bar"},
|
||||
{"http://foo.bar", "http://foo.bar"}, // issue #1105
|
||||
{"http://foo.bar/zoo/", "http://foo.bar/zoo"}, // issue #931
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
for i, test := range tests {
|
||||
o1 := SanitizeURL(test.input)
|
||||
o2 := SanitizeURLKeepTrailingSlash(test.input)
|
||||
|
||||
|
@ -46,10 +47,10 @@ func TestSanitizeURL(t *testing.T) {
|
|||
}
|
||||
|
||||
if o1 != test.expected {
|
||||
t.Errorf("Expected %#v, got %#v\n", test.expected, o1)
|
||||
t.Errorf("[%d] 1: Expected %#v, got %#v\n", i, test.expected, o1)
|
||||
}
|
||||
if o2 != expected2 {
|
||||
t.Errorf("Expected %#v, got %#v\n", expected2, o2)
|
||||
t.Errorf("[%d] 2: Expected %#v, got %#v\n", i, expected2, o2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package hugolib
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
|
@ -10,6 +9,7 @@ import (
|
|||
"github.com/spf13/hugo/source"
|
||||
"github.com/spf13/hugo/target"
|
||||
"github.com/spf13/viper"
|
||||
"html/template"
|
||||
)
|
||||
|
||||
const SLUG_DOC_1 = "---\ntitle: slug doc 1\nslug: slug-doc-1\naliases:\n - sd1/foo/\n - sd2\n - sd3/\n - sd4.html\n---\nslug doc 1 content\n"
|
||||
|
@ -52,6 +52,29 @@ var urlFakeSource = []source.ByteSource{
|
|||
{filepath.FromSlash("content/blue/doc2.md"), []byte(SLUG_DOC_2)},
|
||||
}
|
||||
|
||||
// Issue #1105
|
||||
func TestShouldNotAddTrailingSlashToBaseURL(t *testing.T) {
|
||||
|
||||
for i, this := range []struct {
|
||||
in string
|
||||
expected string
|
||||
}{
|
||||
{"http://base.com/", "http://base.com/"},
|
||||
{"http://base.com/sub/", "http://base.com/sub/"},
|
||||
{"http://base.com/sub", "http://base.com/sub"},
|
||||
{"http://base.com", "http://base.com"}} {
|
||||
|
||||
viper.Set("BaseURL", this.in)
|
||||
s := &Site{}
|
||||
s.initializeSiteInfo()
|
||||
|
||||
if s.Info.BaseURL != template.URL(this.expected) {
|
||||
t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL, this.expected)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestPageCount(t *testing.T) {
|
||||
hugofs.DestinationFS = new(afero.MemMapFs)
|
||||
|
||||
|
|
Loading…
Reference in a new issue