Skip to content

Commit

Permalink
Add testcases for more nil values in metadata AddStruct
Browse files Browse the repository at this point in the history
  • Loading branch information
DariaKunoichi committed Mar 18, 2024
1 parent 8bb1c94 commit ffd7e82
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions v2/metadata_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ func (s _testStringer) String() string {
return "something"
}

type _testError struct{}

func (s _testError) Error() string {
return "errorstr"
}

type _testStruct struct {
Name *_testStringer
}

var account = _account{}
var notifier = New(Configuration{})

Expand Down Expand Up @@ -100,6 +110,53 @@ func TestMetadataAddPointer(t *testing.T) {
}
}

func TestMetadataAddNil(t *testing.T) {
md := MetaData{}
md.AddStruct("map", map[string]interface{}{
"data": _testStruct{Name: nil},
})

var nilMap map[string]interface{}
md.AddStruct("nilmap", nilMap)

var nilError _testError
md.AddStruct("error", nilError)

var nilErrorPtr *_testError
md.AddStruct("errorNilPtr", nilErrorPtr)

var timeVar time.Time
md.AddStruct("timeUnset", timeVar)

var duration time.Duration
md.AddStruct("durationUnset", duration)

var marshalNilPtr *_textMarshaller
md.AddStruct("marshalNilPtr", marshalNilPtr)

var marshalFullPtr = &_textMarshaller{}
md.AddStruct("marshalFullPtr", marshalFullPtr)

if !reflect.DeepEqual(md, MetaData{
"map": {
"data": map[string]interface{}{
"Name": "<nil>",
},
},
"nilmap": map[string]interface{}{},
"Extra data": {
"error": "errorstr",
"errorNilPtr": "<nil>",
"timeUnset": "0001-01-01T00:00:00Z",
"durationUnset": "0s",
"marshalFullPtr": "marshalled text",
"marshalNilPtr": "<nil>",
},
}) {
t.Errorf("metadata.AddStruct didn't work: %#v", md)
}
}

func TestMetaDataUpdate(t *testing.T) {

m := MetaData{
Expand Down

0 comments on commit ffd7e82

Please sign in to comment.