From 86e66cf075ce7e867dc926d203297099c3589e8a Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 9 Apr 2020 00:32:32 +0100 Subject: [PATCH] vms: Add TestSerializeOfNoSerializeField --- vms/components/codec/codec_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/vms/components/codec/codec_test.go b/vms/components/codec/codec_test.go index 1910903..6fdfeba 100644 --- a/vms/components/codec/codec_test.go +++ b/vms/components/codec/codec_test.go @@ -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"` }