MCPcopy Index your code
hub / github.com/vmihailenco/msgpack / TestEncodeDecodeExtHeader

Function TestEncodeDecodeExtHeader

ext_test.go:35–71  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

33}
34
35func TestEncodeDecodeExtHeader(t *testing.T) {
36 v := &ExtTest{"world"}
37
38 payload, err := v.MarshalMsgpack()
39 require.Nil(t, err)
40
41 var buf bytes.Buffer
42 enc := msgpack.NewEncoder(&buf)
43 err = enc.EncodeExtHeader(9, len(payload))
44 require.Nil(t, err)
45
46 _, err = buf.Write(payload)
47 require.Nil(t, err)
48
49 var dst interface{}
50 err = msgpack.Unmarshal(buf.Bytes(), &dst)
51 require.Nil(t, err)
52
53 v = dst.(*ExtTest)
54 wanted := "hello world"
55 require.Equal(t, v.S, wanted)
56
57 dec := msgpack.NewDecoder(&buf)
58 extID, extLen, err := dec.DecodeExtHeader()
59 require.Nil(t, err)
60 require.Equal(t, int8(9), extID)
61 require.Equal(t, len(payload), extLen)
62
63 data := make([]byte, extLen)
64 err = dec.ReadFull(data)
65 require.Nil(t, err)
66
67 v = &ExtTest{}
68 err = v.UnmarshalMsgpack(data)
69 require.Nil(t, err)
70 require.Equal(t, wanted, v.S)
71}
72
73func TestExt(t *testing.T) {
74 v := &ExtTest{"world"}

Callers

nothing calls this directly

Calls 5

MarshalMsgpackMethod · 0.95
EncodeExtHeaderMethod · 0.95
DecodeExtHeaderMethod · 0.95
ReadFullMethod · 0.95
UnmarshalMsgpackMethod · 0.95

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…