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) } }