hugolib: Add test for no 404 in sitemap

Closes #3563
This commit is contained in:
Bjørn Erik Pedersen 2017-06-06 08:09:25 +02:00
parent 55c53ae9be
commit 8aaec644a9

View file

@ -18,6 +18,8 @@ import (
"reflect" "reflect"
"github.com/stretchr/testify/require"
"github.com/spf13/hugo/deps" "github.com/spf13/hugo/deps"
"github.com/spf13/hugo/tpl" "github.com/spf13/hugo/tpl"
) )
@ -47,18 +49,24 @@ func doTestSitemapOutput(t *testing.T, internal bool) {
depsCfg := deps.DepsCfg{Fs: fs, Cfg: cfg} depsCfg := deps.DepsCfg{Fs: fs, Cfg: cfg}
if !internal {
depsCfg.WithTemplate = func(templ tpl.TemplateHandler) error { depsCfg.WithTemplate = func(templ tpl.TemplateHandler) error {
if !internal {
templ.AddTemplate("sitemap.xml", sitemapTemplate) templ.AddTemplate("sitemap.xml", sitemapTemplate)
return nil
} }
// We want to check that the 404 page is not included in the sitemap
// output. This template should have no effect either way, but include
// it for the clarity.
templ.AddTemplate("404.html", "Not found")
return nil
} }
writeSourcesToSource(t, "content", fs, weightedSources...) writeSourcesToSource(t, "content", fs, weightedSources...)
s := buildSingleSite(t, depsCfg, BuildCfg{}) s := buildSingleSite(t, depsCfg, BuildCfg{})
th := testHelper{s.Cfg, s.Fs, t} th := testHelper{s.Cfg, s.Fs, t}
outputSitemap := "public/sitemap.xml"
th.assertFileContent("public/sitemap.xml", th.assertFileContent(outputSitemap,
// Regular page // Regular page
" <loc>http://auth/bub/sect/doc1/</loc>", " <loc>http://auth/bub/sect/doc1/</loc>",
// Home page // Home page
@ -71,6 +79,9 @@ func doTestSitemapOutput(t *testing.T, internal bool) {
"<loc>http://auth/bub/categories/hugo/</loc>", "<loc>http://auth/bub/categories/hugo/</loc>",
) )
content := readDestination(th.T, th.Fs, outputSitemap)
require.NotContains(t, content, "404")
} }
func TestParseSitemap(t *testing.T) { func TestParseSitemap(t *testing.T) {