From 9a6dc6c791f47e1d410956cb16cc42a0117f7246 Mon Sep 17 00:00:00 2001 From: Ivan Fraixedes Date: Tue, 8 Dec 2015 21:13:09 +0000 Subject: Add embeded template for robots.txt --- hugolib/robotstxt_test.go | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 hugolib/robotstxt_test.go (limited to 'hugolib/robotstxt_test.go') diff --git a/hugolib/robotstxt_test.go b/hugolib/robotstxt_test.go new file mode 100644 index 000000000..c964c0231 --- /dev/null +++ b/hugolib/robotstxt_test.go @@ -0,0 +1,67 @@ +package hugolib + +import ( + "bytes" + "testing" + + "github.com/spf13/afero" + "github.com/spf13/hugo/helpers" + "github.com/spf13/hugo/hugofs" + "github.com/spf13/hugo/source" + "github.com/spf13/viper" +) + +const ROBOTSTXT_TEMPLATE = `User-agent: Googlebot + {{ range .Data.Pages }} + Disallow: {{.RelPermalink}} + {{ end }} +` + +func TestRobotsTXTOutput(t *testing.T) { + viper.Reset() + defer viper.Reset() + + hugofs.DestinationFS = new(afero.MemMapFs) + + viper.Set("baseurl", "http://auth/bub/") + + s := &Site{ + Source: &source.InMemorySource{ByteSource: WEIGHTED_SOURCES}, + } + + s.initializeSiteInfo() + + s.prepTemplates() + s.addTemplate("robots.txt", ROBOTSTXT_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 err := s.RenderRobotsTXT(); err != nil { + t.Fatalf("Unable to RenderRobotsTXT :%s", err) + } + + robotsFile, err := hugofs.DestinationFS.Open("robots.txt") + + if err != nil { + t.Fatalf("Unable to locate: robots.txt") + } + + robots := helpers.ReaderToBytes(robotsFile) + if !bytes.HasPrefix(robots, []byte("User-agent: Googlebot")) { + t.Errorf("Robots file should start with 'User-agentL Googlebot'. %s", robots) + } +} -- cgit v1.2.3