| package filexfer |
| |
| import ( |
| "bytes" |
| "testing" |
| ) |
| |
| func TestExtensionPair(t *testing.T) { |
| const ( |
| name = "foo" |
| data = "1" |
| ) |
| |
| pair := &ExtensionPair{ |
| Name: name, |
| Data: data, |
| } |
| |
| buf, err := pair.MarshalBinary() |
| if err != nil { |
| t.Fatal("unexpected error:", err) |
| } |
| |
| want := []byte{ |
| 0x00, 0x00, 0x00, 3, |
| 'f', 'o', 'o', |
| 0x00, 0x00, 0x00, 1, |
| '1', |
| } |
| |
| if !bytes.Equal(buf, want) { |
| t.Errorf("ExtensionPair.MarshalBinary() = %X, but wanted %X", buf, want) |
| } |
| |
| *pair = ExtensionPair{} |
| |
| if err := pair.UnmarshalBinary(buf); err != nil { |
| t.Fatal("unexpected error:", err) |
| } |
| |
| if pair.Name != name { |
| t.Errorf("ExtensionPair.UnmarshalBinary(): Name was %q, but expected %q", pair.Name, name) |
| } |
| |
| if pair.Data != data { |
| t.Errorf("RawPacket.UnmarshalBinary(): Data was %q, but expected %q", pair.Data, data) |
| } |
| |
| } |