From 6e1268f45be9995c3d503fa34bb5f63a63f49e00 Mon Sep 17 00:00:00 2001 From: Noah Campbell Date: Mon, 7 Oct 2013 08:53:18 +0300 Subject: [PATCH] Test case for permalink functionality --- hugolib/page_permalink_test.go | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/hugolib/page_permalink_test.go b/hugolib/page_permalink_test.go index d318505b8..e40a78362 100644 --- 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) + } + } }