// Copyright 2019 Gin Core Team. All rights reserved. // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file. //go:build !nomsgpack package binding import ( "bytes" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ugorji/go/codec" ) func TestMsgpackBindingBindBody(t *testing.T) { type teststruct struct { Foo string `msgpack:"foo"` } var s teststruct err := msgpackBinding{}.BindBody(msgpackBody(t, teststruct{"FOO"}), &s) require.NoError(t, err) assert.Equal(t, "FOO", s.Foo) } func msgpackBody(t *testing.T, obj any) []byte { var bs bytes.Buffer h := &codec.MsgpackHandle{} err := codec.NewEncoder(&bs, h).Encode(obj) require.NoError(t, err) return bs.Bytes() }