/
githubmirror
/
pocketbase
Обзор
Документация
Войти
/
githubmirror
/
pocketbase
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tools/template/renderer_test.go
63 строки
1 KB
Gani Georgiev
added helper html template rendering utils
23 июл 2023, 15:37
23 июл 2023, 15:37
4f3ca6f
Код
Авторство
О чём код?
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) } }) } }