-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathengine_test.go
41 lines (34 loc) · 1.13 KB
/
engine_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package templating_test
import (
"bytes"
"embed"
"testing"
"github.com/andygeiss/cloud-native-utils/assert"
"github.com/andygeiss/cloud-native-utils/templating"
)
//go:embed testdata/*.tmpl
var efs embed.FS
func TestEngine_Parse_Must_Succeed(t *testing.T) {
engine := templating.NewEngine(efs)
engine.Parse("testdata/*.tmpl")
}
func TestEngine_Render_Must_Succeed(t *testing.T) {
engine := templating.NewEngine(efs)
engine.Parse("testdata/*.tmpl")
var result bytes.Buffer
engine.Render(&result, "index", struct{ Name string }{Name: "World"})
assert.That(t, "engine.Render must succeed", result.String(), "\nHello World\n")
}
func TestEngine_Render_Must_Fail(t *testing.T) {
engine := templating.NewEngine(efs)
engine.Parse("testdata/*.tmpl")
err := engine.Render(nil, "not-existing.tmpl", nil)
assert.That(t, "engine.Render must fail", err != nil, true)
}
func TestEngine_Render_Add_Int(t *testing.T) {
engine := templating.NewEngine(efs)
engine.Parse("testdata/*.tmpl")
var result bytes.Buffer
engine.Render(&result, "add_int", struct{ A, B int }{A: 1, B: 2})
assert.That(t, "engine.Render must succeed", result.String(), "3")
}