shithub: hugo

Download patch

ref: 2b3b90a6dfc30677c6cd20e5a34a7c8243ba9145
parent: d1b0290fef8be78a2eb9c8497e0312ccfc4adc82
author: Tatsushi Demachi <[email protected]>
date: Mon Feb 8 15:55:19 EST 2016

Add test for Hugo hanging up with empty content

This adds a test for the issue #1797 and its fix in 68e2e63.

--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -21,6 +21,7 @@
 	"path/filepath"
 	"strings"
 	"testing"
+	"time"
 
 	"bitbucket.org/pkg/inflect"
 
@@ -63,6 +64,37 @@
 more text
 `
 )
+
+// Issue #1797
+func TestReadPagesFromSourceWithEmptySource(t *testing.T) {
+	viper.Reset()
+	defer viper.Reset()
+
+	viper.Set("DefaultExtension", "html")
+	viper.Set("verbose", true)
+	viper.Set("baseurl", "http://auth/bub")
+
+	sources := []source.ByteSource{}
+
+	s := &Site{
+		Source:  &source.InMemorySource{ByteSource: sources},
+		Targets: targetList{Page: &target.PagePub{UglyURLs: true}},
+	}
+
+	var err error
+	d := time.Second * 2
+	ticker := time.NewTicker(d)
+	select {
+	case err = <-s.ReadPagesFromSource():
+		break
+	case <-ticker.C:
+		err = fmt.Errorf("ReadPagesFromSource() never returns in %s", d.String())
+	}
+	ticker.Stop()
+	if err != nil {
+		t.Fatalf("Unable to read source: %s", err)
+	}
+}
 
 func createAndRenderPages(t *testing.T, s *Site) {
 	if err := s.CreatePages(); err != nil {