vms: Add TestSerializeOfNoSerializeField

This commit is contained in:
Alex Willmer 2020-04-09 00:32:32 +01:00
parent bdb5153f2d
commit 86e66cf075
1 changed files with 27 additions and 0 deletions

View File

@ -412,6 +412,33 @@ func TestSerializeUnexportedField(t *testing.T) {
}
}
func TestSerializeOfNoSerializeField(t *testing.T) {
type s struct {
SerializedField string `serialize:"true"`
UnserializedField string `serialize:"false"`
UnmarkedField string
}
myS := s{
SerializedField: "Serialize me",
UnserializedField: "Do not serialize me",
UnmarkedField: "No declared serialize",
}
codec := NewDefault()
marshalled, err := codec.Marshal(myS)
if err != nil {
t.Fatalf("Unexpected error %q", err)
}
unmarshalled := s{}
err = codec.Unmarshal(marshalled, &unmarshalled)
if err != nil {
t.Fatalf("Unexpected error %q", err)
}
expectedUnmarshalled := s{SerializedField: "Serialize me"}
if !reflect.DeepEqual(unmarshalled, expectedUnmarshalled) {
t.Fatalf("Got %#v, expected %#v", unmarshalled, expectedUnmarshalled)
}
}
type simpleSliceStruct struct {
Arr []uint32 `serialize:"true"`
}