You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
643 B

package engine_test
import (
"bytes"
"context"
"encoding/json"
"io"
"testing"
"github.com/stretchr/testify/require"
"gitoa.ru/go-4devs/templating/engine"
"gitoa.ru/go-4devs/templating/render"
)
func TestEncodeLoad(t *testing.T) {
t.Parallel()
ctx := context.Background()
buff := bytes.Buffer{}
exec, err := engine.NewEncode("json", func(w io.Writer, v interface{}) error {
return json.NewEncoder(w).Encode(v)
}).Load(ctx, render.NewReference("any"))
require.NoError(t, err)
require.NoError(t, exec(ctx, &buff, map[string]string{"name": "json data"}, nil))
require.Equal(t, "{\"name\":\"json data\"}\n", buff.String())
}