Skip to content

Commit f6c5984

Browse files
committed
veqryn/marshal-json: add nested metadata tests
1 parent b1ce8cb commit f6c5984

File tree

1 file changed

+53
-16
lines changed

1 file changed

+53
-16
lines changed

v2/metadata_test.go

+53-16
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,6 @@ func TestMetadataAddPointer(t *testing.T) {
113113

114114
func TestMetadataAddNil(t *testing.T) {
115115
md := MetaData{}
116-
md.AddStruct("map", map[string]interface{}{
117-
"data": _testStruct{Name: nil},
118-
})
119116

120117
var nilMap map[string]interface{}
121118
md.AddStruct("nilmap", nilMap)
@@ -144,34 +141,74 @@ func TestMetadataAddNil(t *testing.T) {
144141
var nullJsonMarshaller json.RawMessage
145142
md.AddStruct("nullJsonMarshaller", nullJsonMarshaller)
146143

147-
var fullJsonMarshaller = &json.RawMessage{}
148-
md.AddStruct("fullJsonMarshaller", fullJsonMarshaller)
144+
var nullJsonMarshallerPtr *json.RawMessage
145+
md.AddStruct("nullJsonMarshallerPtr", nullJsonMarshallerPtr)
146+
147+
var emptyJsonMarshaller = &json.RawMessage{}
148+
md.AddStruct("emptyJsonMarshaller", emptyJsonMarshaller)
149149

150150
var nilBytes []byte
151151
md.AddStruct("nilBytes", nilBytes)
152152

153+
var nilBytesPtr *[]byte
154+
md.AddStruct("nilBytesPtr", nilBytesPtr)
155+
153156
var emptyBytes = []byte{}
154157
md.AddStruct("emptyBytes", emptyBytes)
155158

159+
md.AddStruct("map", map[string]interface{}{
160+
"data": _testStruct{Name: nil},
161+
"nilmap": nilMap,
162+
"nilSlice": nilSlice,
163+
"error": nilError,
164+
"errorNilPtr": nilErrorPtr,
165+
"timeUnset": timeVar,
166+
"durationUnset": duration,
167+
"marshalNilPtr": marshalNilPtr,
168+
"marshalFullPtr": marshalFullPtr,
169+
"nullJsonMarshaller": nullJsonMarshaller,
170+
"nullJsonMarshallerPtr": nullJsonMarshallerPtr,
171+
"emptyJsonMarshaller": emptyJsonMarshaller,
172+
"nilBytes": nilBytes,
173+
"nilBytesPtr": nilBytesPtr,
174+
"emptyBytes": emptyBytes,
175+
})
176+
156177
if !reflect.DeepEqual(md, MetaData{
157178
"map": {
158179
"data": map[string]interface{}{
159180
"Name": "<nil>",
160181
},
182+
"nilmap": map[string]interface{}{},
183+
"nilSlice": []interface{}{},
184+
"error": "errorstr",
185+
"errorNilPtr": "<nil>",
186+
"timeUnset": "0001-01-01T00:00:00Z",
187+
"durationUnset": "0s",
188+
"marshalFullPtr": "marshalled text",
189+
"marshalNilPtr": "<nil>",
190+
"nullJsonMarshaller": "null",
191+
"nullJsonMarshallerPtr": "<nil>",
192+
"emptyJsonMarshaller": "",
193+
"nilBytes": "",
194+
"nilBytesPtr": "<nil>",
195+
"emptyBytes": "",
161196
},
162197
"nilmap": map[string]interface{}{},
163198
"Extra data": {
164-
"nilSlice": []interface{}{},
165-
"error": "errorstr",
166-
"errorNilPtr": "<nil>",
167-
"timeUnset": "0001-01-01T00:00:00Z",
168-
"durationUnset": "0s",
169-
"marshalFullPtr": "marshalled text",
170-
"marshalNilPtr": "<nil>",
171-
"nullJsonMarshaller": "null",
172-
"fullJsonMarshaller": "",
173-
"nilBytes": "",
174-
"emptyBytes": "",
199+
"nilSlice": []interface{}{},
200+
"error": "errorstr",
201+
"errorNilPtr": "<nil>",
202+
"timeUnset": "0001-01-01T00:00:00Z",
203+
"durationUnset": "0s",
204+
"marshalFullPtr": "marshalled text",
205+
"marshalNilPtr": "<nil>",
206+
"nullJsonMarshaller": "null",
207+
"nullJsonMarshallerPtr": "<nil>",
208+
"emptyJsonMarshaller": "",
209+
"nilBytes": "",
210+
"nilBytesPtr": "<nil>",
211+
"emptyBytes": "",
175212
},
176213
}) {
177214
t.Errorf("metadata.AddStruct didn't work: %#v", md)

0 commit comments

Comments
 (0)