Adding upstream version 0.28.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
88f1d47ab6
commit
e28c88ef14
933 changed files with 194711 additions and 0 deletions
63
tools/template/renderer_test.go
Normal file
63
tools/template/renderer_test.go
Normal file
|
@ -0,0 +1,63 @@
|
|||
package template
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"html/template"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRendererRender(t *testing.T) {
|
||||
tpl, _ := template.New("").Parse("Hello {{.Name}}!")
|
||||
tpl.Option("missingkey=error") // enforce execute errors
|
||||
|
||||
scenarios := map[string]struct {
|
||||
renderer *Renderer
|
||||
data any
|
||||
expectedHasErr bool
|
||||
expectedResult string
|
||||
}{
|
||||
"with nil template": {
|
||||
&Renderer{},
|
||||
nil,
|
||||
true,
|
||||
"",
|
||||
},
|
||||
"with parse error": {
|
||||
&Renderer{
|
||||
template: tpl,
|
||||
parseError: errors.New("test"),
|
||||
},
|
||||
nil,
|
||||
true,
|
||||
"",
|
||||
},
|
||||
"with execute error": {
|
||||
&Renderer{template: tpl},
|
||||
nil,
|
||||
true,
|
||||
"",
|
||||
},
|
||||
"no error": {
|
||||
&Renderer{template: tpl},
|
||||
struct{ Name string }{"world"},
|
||||
false,
|
||||
"Hello world!",
|
||||
},
|
||||
}
|
||||
|
||||
for name, s := range scenarios {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
result, err := s.renderer.Render(s.data)
|
||||
|
||||
hasErr := err != nil
|
||||
|
||||
if s.expectedHasErr != hasErr {
|
||||
t.Fatalf("Expected hasErr %v, got %v (%v)", s.expectedHasErr, hasErr, err)
|
||||
}
|
||||
|
||||
if s.expectedResult != result {
|
||||
t.Fatalf("Expected result %v, got %v", s.expectedResult, result)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue