Make sure drafts etc. are not processed

See #2309
This commit is contained in:
Bjørn Erik Pedersen
2016-08-08 09:05:16 +02:00
parent e56ecab157
commit 6b552db75f
3 changed files with 45 additions and 5 deletions

View File

@@ -1,6 +1,7 @@
package hugolib
import (
"bytes"
"fmt"
"strings"
"testing"
@@ -141,6 +142,9 @@ func TestMultiSitesBuild(t *testing.T) {
assert.False(t, strings.Contains(string(doc1en.Content), "«"), string(doc1en.Content))
assert.True(t, strings.Contains(string(doc1en.Content), "“"), string(doc1en.Content))
// Check that the drafts etc. are not built/processed/rendered.
assertShouldNotBuild(t, sites)
}
func TestMultiSitesRebuild(t *testing.T) {
@@ -303,6 +307,30 @@ func TestMultiSitesRebuild(t *testing.T) {
this.assertFunc(t)
}
// Check that the drafts etc. are not built/processed/rendered.
assertShouldNotBuild(t, sites)
}
func assertShouldNotBuild(t *testing.T, sites *HugoSites) {
s := sites.Sites[0]
for _, p := range s.rawAllPages {
// No HTML when not processed
require.Equal(t, p.shouldBuild(), bytes.Contains(p.rawContent, []byte("</")), p.BaseFileName()+": "+string(p.rawContent))
require.Equal(t, p.shouldBuild(), p.Content != "", p.BaseFileName())
require.Equal(t, p.shouldBuild(), p.Content != "", p.BaseFileName())
filename := filepath.Join("public", p.TargetPath())
if strings.HasSuffix(filename, ".html") {
// TODO(bep) the end result is correct, but it is weird that we cannot use targetPath directly here.
filename = strings.Replace(filename, ".html", "/index.html", 1)
}
require.Equal(t, p.shouldBuild(), destinationExists(filename), filename)
}
}
func TestAddNewLanguage(t *testing.T) {
@@ -579,6 +607,14 @@ func readDestination(t *testing.T, filename string) string {
return readFileFromFs(t, hugofs.Destination(), filename)
}
func destinationExists(filename string) bool {
b, err := helpers.Exists(filename, hugofs.Destination())
if err != nil {
panic(err)
}
return b
}
func readSource(t *testing.T, filename string) string {
return readFileFromFs(t, hugofs.Source(), filename)
}