ref: 6e1268f45be9995c3d503fa34bb5f63a63f49e00
parent: 895638433e52956b8af97dd14f134cb9486d3bdd
author: Noah Campbell <[email protected]>
date: Mon Oct 7 04:53:18 EDT 2013
Test case for permalink functionality
--- a/hugolib/page_permalink_test.go
+++ b/hugolib/page_permalink_test.go
@@ -1,9 +1,47 @@
package hugolib
import (
+ "html/template"
"testing"
)
func TestPermalink(t *testing.T) {
+ tests := []struct {
+ base template.URL
+ expectedAbs string
+ expectedRel string
+ }{
+ {"", "/x/y/z/boofar", "/x/y/z/boofar"},
+ {"http://barnew/", "http://barnew/x/y/z/boofar", "/x/y/z/boofar"},
+ }
+ for _, test := range tests {
+ p := &Page{
+ Node: Node{
+ UrlPath: UrlPath{Section: "x/y/z"},
+ Site: SiteInfo{BaseUrl: test.base},
+ },
+ File: File{FileName: "x/y/z/boofar.md"},
+ }
+
+ u, err := p.Permalink()
+ if err != nil {
+ t.Errorf("Unable to process permalink: %s", err)
+ }
+
+ expected := test.expectedAbs
+ if u != expected {
+ t.Errorf("Expected abs url: %s, got: %s", expected, u)
+ }
+
+ u, err = p.RelPermalink()
+ if err != nil {
+ t.Errorf("Unable to process permalink: %s", err)
+ }
+
+ expected = test.expectedRel
+ if u != expected {
+ t.Errorf("Expected abs url: %s, got: %s", expected, u)
+ }
+ }
}