From 1cebce12ad2335e1140646763dd56009c57d6495 Mon Sep 17 00:00:00 2001 From: Noah Campbell Date: Tue, 5 Nov 2013 05:29:37 +0000 Subject: [PATCH] Adding RSS test case. Checks to make sure the xml document starts with + + {{ .Title }} on {{ .Site.Title }} + {{ .Permalink }} + en-us + Steve Francia + Francia; all rights reserved. + {{ .Date }} + {{ range .Data.Pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }} + Steve Francia + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + +` + +func TestRSSOutput(t *testing.T) { + files := make(map[string][]byte) + target := &target.InMemoryTarget{Files: files} + s := &Site{ + Target: target, + Config: Config{BaseUrl: "http://auth/bub/"}, + Source: &source.InMemorySource{WEIGHTED_SOURCES}, + } + s.initializeSiteInfo() + s.prepTemplates() + // Add an rss.xml template to invoke the rss build. + s.addTemplate("rss.xml", RSS_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 _, ok := files[".xml"]; !ok { + t.Errorf("Unable to locate: %s", ".xml") + t.Logf("%q", files) + } + + rss, _ := files[".xml"] + if !bytes.HasPrefix(rss, []byte("