diff --git a/internal/decoding/decoding.go b/internal/decoding/decoding.go index 7d987ee..3c03775 100644 --- a/internal/decoding/decoding.go +++ b/internal/decoding/decoding.go @@ -24,7 +24,7 @@ func Decode(data []byte, v interface{}, asArray bool) error { } rv := reflect.ValueOf(v) if rv.Kind() != reflect.Ptr { - return fmt.Errorf("%w. v.(type): %t", def.ErrReceiverNotPointer, v) + return fmt.Errorf("%w. v.(type): %T", def.ErrReceiverNotPointer, v) } rv = rv.Elem() diff --git a/internal/stream/decoding/decoding.go b/internal/stream/decoding/decoding.go index d86de40..4e82e36 100644 --- a/internal/stream/decoding/decoding.go +++ b/internal/stream/decoding/decoding.go @@ -20,11 +20,11 @@ type decoder struct { // the result into the pointer of v. func Decode(r io.Reader, v interface{}, asArray bool) error { if r == nil { - return fmt.Errorf("reader is nil") + return def.ErrNoData } rv := reflect.ValueOf(v) if rv.Kind() != reflect.Ptr { - return fmt.Errorf("holder must set pointer value. but got: %t", v) + return fmt.Errorf("%w. v.(type): %T", def.ErrReceiverNotPointer, v) } rv = rv.Elem() diff --git a/internal/stream/decoding/decoding_test.go b/internal/stream/decoding/decoding_test.go index 741824a..2c3ae22 100644 --- a/internal/stream/decoding/decoding_test.go +++ b/internal/stream/decoding/decoding_test.go @@ -87,8 +87,13 @@ func TestDecoding(t *testing.T) { t.Run("nil reader", func(t *testing.T) { v := new(int) err := Decode(nil, v, false) - tu.Error(t, err) - tu.Equal(t, err.Error(), "reader is nil") + tu.IsError(t, err, def.ErrNoData) + }) + t.Run("not pointer", func(t *testing.T) { + v := 0 + r := tu.NewTestReader([]byte{def.PositiveFixIntMax}) + err := Decode(r, v, false) + tu.IsError(t, err, def.ErrReceiverNotPointer) }) } diff --git a/msgpack_test.go b/msgpack_test.go index f5a7cb3..f2ea867 100644 --- a/msgpack_test.go +++ b/msgpack_test.go @@ -1496,7 +1496,7 @@ func TestPointer(t *testing.T) { var r int t.Run(u.name, func(t *testing.T) { err := u.u([]byte{def.Nil}, r) - ErrorContains(t, err, "holder must set pointer value. but got:") + ErrorContains(t, err, "receiver not pointer") }) } })