hugolib: Fix regressions with uglyURLs

Fixes #2734
This commit is contained in:
Bjørn Erik Pedersen
2016-11-26 15:50:32 +01:00
parent 1f6e0de361
commit c38bfda43b
9 changed files with 101 additions and 31 deletions

View File

@@ -292,12 +292,12 @@ func AddContextRoot(baseURL, relativePath string) string {
// URLizeAndPrep applies misc sanitation to the given URL to get it in line
// with the Hugo standard.
func (p *PathSpec) URLizeAndPrep(in string) string {
return URLPrep(p.uglyURLs, p.URLize(in))
return p.URLPrep(p.URLize(in))
}
// URLPrep applies misc sanitation to the given URL.
func URLPrep(ugly bool, in string) string {
if ugly {
func (p *PathSpec) URLPrep(in string) string {
if p.uglyURLs {
x := Uglify(SanitizeURL(in))
return x
}

View File

@@ -248,7 +248,10 @@ func TestURLPrep(t *testing.T) {
{true, "/section/name/index.html", "/section/name.html"},
}
for i, d := range data {
output := URLPrep(d.ugly, d.input)
viper.Set("uglyURLs", d.ugly)
p := NewPathSpecFromConfig(viper.GetViper())
output := p.URLPrep(d.input)
if d.output != output {
t.Errorf("Test #%d failed. Expected %q got %q", i, d.output, output)
}