package engine_test import ( "bytes" "context" "encoding/json" "fmt" "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 { if err := json.NewEncoder(w).Encode(v); err != nil { return fmt.Errorf("%w", err) } return nil }).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()) }