}
func (e *encoder) encode(v interface{}) (err error) {
+ if v == nil {
+ return
+ }
defer func() {
if e := recover(); e != nil {
if _, ok := e.(runtime.Error); ok {
}
func (e *encoder) reflect_value(v reflect.Value) {
- if !v.IsValid() {
- return
- }
if e.reflect_marshaler(v) {
return
func TestRandomEncode(t *testing.T) {
for _, test := range random_encode_tests {
data, err := Marshal(test.value)
- assert.NoError(t, err)
+ assert.NoError(t, err, "%s", test)
assert.EqualValues(t, test.expected, string(data))
}
}