ref: 860f982cc454a6a5e111eb5b79915cd21f49240e
parent: e425226a2802993f4be3689565136965fb5bc58c
author: Tim Esselens <tim.esselens@gmail.com>
date: Tue Nov 19 09:10:03 EST 2013
fixed trailing dir slash when using slug See testcase, dir + slug contained double slash when dir had a trailing slash. Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -265,7 +265,7 @@
if p.Site.Config != nil && p.Site.Config.UglyUrls {permalink = path.Join(dir, p.Slug, p.Extension)
} else {- permalink = dir + "/" + p.Slug + "/"
+ permalink = path.Join(dir, p.Slug) + "/"
}
} else if len(pUrl) > 2 {permalink = pUrl
--- a/hugolib/page_permalink_test.go
+++ b/hugolib/page_permalink_test.go
@@ -7,12 +7,18 @@
func TestPermalink(t *testing.T) { tests := []struct {+ file string
+ dir string
base template.URL
+ slug string
expectedAbs string
expectedRel string
}{- {"", "/x/y/z/boofar", "/x/y/z/boofar"},- {"http://barnew/", "http://barnew/x/y/z/boofar", "/x/y/z/boofar"},+ {"x/y/z/boofar.md", "x/y/z", "", "", "/x/y/z/boofar", "/x/y/z/boofar"},+ {"x/y/z/boofar.md", "x/y/z/", "", "", "/x/y/z/boofar", "/x/y/z/boofar"},+ {"x/y/z/boofar.md", "x/y/z/", "", "boofar", "/x/y/z/boofar/", "/x/y/z/boofar/"},+ {"x/y/z/boofar.md", "x/y/z", "http://barnew/", "", "http://barnew/x/y/z/boofar", "/x/y/z/boofar"},+ {"x/y/z/boofar.md", "x/y/z/", "http://barnew/", "boofar", "http://barnew/x/y/z/boofar/", "/x/y/z/boofar/"},}
for _, test := range tests {@@ -21,7 +27,13 @@
UrlPath: UrlPath{Section: "z"}, Site: SiteInfo{BaseUrl: test.base},},
- File: File{FileName: "x/y/z/boofar.md", Dir: "x/y/z"},+ File: File{FileName: test.file, Dir: test.dir},+ }
+
+ if test.slug != "" {+ p.update(map[string]interface{}{+ "slug": test.slug,
+ })
}
u, err := p.Permalink()
--
⑨