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.

33 lines
717 B

2 years ago
package engine_test
import (
"bytes"
"context"
"encoding/json"
"fmt"
2 years ago
"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
2 years ago
}).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())
}