8514880997
This change centralizes the template manipulation in a single package and adds basic string functions to their execution. Signed-off-by: David Calavera <david.calavera@gmail.com>
38 lines
705 B
Go
38 lines
705 B
Go
package templates
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseStringFunctions(t *testing.T) {
|
|
tm, err := Parse(`{{join (split . ":") "/"}}`)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
var b bytes.Buffer
|
|
if err := tm.Execute(&b, "text:with:colon"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
want := "text/with/colon"
|
|
if b.String() != want {
|
|
t.Fatalf("expected %s, got %s", want, b.String())
|
|
}
|
|
}
|
|
|
|
func TestNewParse(t *testing.T) {
|
|
tm, err := NewParse("foo", "this is a {{ . }}")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
var b bytes.Buffer
|
|
if err := tm.Execute(&b, "string"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
want := "this is a string"
|
|
if b.String() != want {
|
|
t.Fatalf("expected %s, got %s", want, b.String())
|
|
}
|
|
}
|