MCPcopy
hub / github.com/tinylib/msgp / TestReadWriteExtension

Function TestReadWriteExtension

msgp/extension_test.go:18–51  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16}
17
18func TestReadWriteExtension(t *testing.T) {
19 var buf bytes.Buffer
20 en := NewWriter(&buf)
21 dc := NewReader(&buf)
22
23 t.Run("interface", func(t *testing.T) {
24 for range 25 {
25 buf.Reset()
26 e := randomExt()
27 en.WriteExtension(&e)
28 en.Flush()
29 err := dc.ReadExtension(&e)
30 if err != nil {
31 t.Errorf("error with extension (length %d): %s", len(buf.Bytes()), err)
32 }
33 }
34 })
35
36 t.Run("raw", func(t *testing.T) {
37 for range 25 {
38 buf.Reset()
39 e := randomExt()
40 en.WriteExtensionRaw(e.Type, e.Data)
41 en.Flush()
42 typ, payload, err := dc.ReadExtensionRaw()
43 if err != nil {
44 t.Errorf("error with extension (length %d): %s", len(buf.Bytes()), err)
45 }
46 if typ != e.Type || !bytes.Equal(payload, e.Data) {
47 t.Errorf("extension mismatch: %d %x != %d %x", typ, payload, e.Type, e.Data)
48 }
49 }
50 })
51}
52
53func TestReadWriteLargeExtensionRaw(t *testing.T) {
54 var buf bytes.Buffer

Callers

nothing calls this directly

Calls 10

WriteExtensionMethod · 0.95
FlushMethod · 0.95
ReadExtensionMethod · 0.95
WriteExtensionRawMethod · 0.95
ReadExtensionRawMethod · 0.95
NewWriterFunction · 0.85
NewReaderFunction · 0.85
randomExtFunction · 0.85
ResetMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…