summaryrefslogtreecommitdiff
path: root/gomplate_test.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2018-04-20 11:28:10 -0400
committerDave Henderson <dhenderson@gmail.com>2018-04-20 11:31:11 -0400
commitfcfc54224735231400eac01347d81e054a9d340c (patch)
treea83c3fa95225385a5304082d6c9fe0970e5dbc36 /gomplate_test.go
parentea4a99b7ff195ad0128e7e467404806e124219df (diff)
Exporting the writer used when templates are sent to Stdout
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'gomplate_test.go')
-rw-r--r--gomplate_test.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/gomplate_test.go b/gomplate_test.go
index a90a2b20..f97487bc 100644
--- a/gomplate_test.go
+++ b/gomplate_test.go
@@ -2,6 +2,7 @@ package gomplate
import (
"bytes"
+ "io"
"net/http/httptest"
"os"
"testing"
@@ -15,6 +16,15 @@ import (
"github.com/stretchr/testify/assert"
)
+// like ioutil.NopCloser(), except for io.WriteClosers...
+type nopWCloser struct {
+ io.Writer
+}
+
+func (n *nopWCloser) Close() error {
+ return nil
+}
+
func testTemplate(g *gomplate, tmpl string) string {
var out bytes.Buffer
err := g.runTemplate(&tplate{name: "testtemplate", contents: tmpl, target: &out})
@@ -148,3 +158,13 @@ func TestCustomDelim(t *testing.T) {
}
assert.Equal(t, "hi", testTemplate(g, `[print "hi"]`))
}
+
+func TestRunTemplates(t *testing.T) {
+ defer func() { Stdout = os.Stdout }()
+ buf := &bytes.Buffer{}
+ Stdout = &nopWCloser{buf}
+ config := &Config{Input: "foo"}
+ err := RunTemplates(config)
+ assert.NoError(t, err)
+ assert.Equal(t, "foo", buf.String())
+}