From 35926dcf3742df915a9d535d7178a363c666e840 Mon Sep 17 00:00:00 2001 From: Vincent Batoufflet Date: Wed, 7 May 2014 08:57:37 +0200 Subject: [PATCH] Add Sitemap testing --- hugolib/sitemap_test.go | 64 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 hugolib/sitemap_test.go diff --git a/hugolib/sitemap_test.go b/hugolib/sitemap_test.go new file mode 100644 index 00000000..f4921269 --- /dev/null +++ b/hugolib/sitemap_test.go @@ -0,0 +1,64 @@ +package hugolib + +import ( + "bytes" + "testing" + + "github.com/spf13/hugo/source" + "github.com/spf13/hugo/target" + "github.com/spf13/viper" +) + +const SITEMAP_TEMPLATE = ` + {{ range .Data.Pages }} + + {{ .Permalink }} + {{ safeHtml ( .Date.Format "2006-01-02T15:04:05-07:00" ) }}{{ with .Sitemap.ChangeFreq }} + {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + {{ .Sitemap.Priority }}{{ end }} + + {{ end }} +` + +func TestSitemapOutput(t *testing.T) { + files := make(map[string][]byte) + target := &target.InMemoryTarget{Files: files} + + viper.Set("baseurl", "http://auth/bub/") + + s := &Site{ + Target: target, + Source: &source.InMemorySource{ByteSource: WEIGHTED_SOURCES}, + } + + s.initializeSiteInfo() + + s.prepTemplates() + s.addTemplate("sitemap.xml", SITEMAP_TEMPLATE) + + if err := s.CreatePages(); err != nil { + t.Fatalf("Unable to create pages: %s", err) + } + + if err := s.BuildSiteMeta(); err != nil { + t.Fatalf("Unable to build site metadata: %s", err) + } + + if err := s.RenderHomePage(); err != nil { + t.Fatalf("Unable to RenderHomePage: %s", err) + } + + if err := s.RenderSitemap(); err != nil { + t.Fatalf("Unable to RenderSitemap: %s", err) + } + + if _, ok := files["sitemap.xml"]; !ok { + t.Errorf("Unable to locate: sitemap.xml") + t.Logf("%q", files) + } + + sitemap, _ := files["sitemap.xml"] + if !bytes.HasPrefix(sitemap, []byte("