(t *testing.T)
| 16 | } |
| 17 | |
| 18 | func 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 | |
| 53 | func TestReadWriteLargeExtensionRaw(t *testing.T) { |
| 54 | var buf bytes.Buffer |
nothing calls this directly
no test coverage detected
searching dependent graphs…