test(render): improve test coverage

This commit is contained in:
2024-03-17 23:07:12 +00:00
parent 2ad77f0b1b
commit 7df40b1578
12 changed files with 648 additions and 62 deletions

View File

@@ -2,17 +2,19 @@ package render_test
import (
"errors"
"fmt"
"testing"
"github.com/jimeh/go-render"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
type mockStringer struct {
value string
}
var _ fmt.Stringer = (*mockStringer)(nil)
func (ms *mockStringer) String() string {
return ms.value
}
@@ -47,16 +49,12 @@ func TestStringer_Render(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
s := &render.Stringer{}
var err error
var got string
w := &mockWriter{WriteErr: tt.writeErr}
err = s.Render(w, tt.value)
got = w.String()
err := s.Render(w, tt.value)
got := w.String()
if tt.wantErr != "" {
require.Error(t, err)
assert.EqualError(t, err, tt.wantErr)
}
for _, e := range tt.wantErrIs {
@@ -64,7 +62,7 @@ func TestStringer_Render(t *testing.T) {
}
if tt.wantErr == "" && len(tt.wantErrIs) == 0 {
require.NoError(t, err)
assert.NoError(t, err)
assert.Equal(t, tt.want, got)
}
})