(t *testing.T)
| 79 | } |
| 80 | |
| 81 | func TestErrorsArraysHandleRichErrors(t *testing.T) { |
| 82 | errs := []error{fmt.Errorf("egad")} |
| 83 | |
| 84 | enc := zapcore.NewMapObjectEncoder() |
| 85 | Errors("k", errs).AddTo(enc) |
| 86 | assert.Equal(t, 1, len(enc.Fields), "Expected only top-level field.") |
| 87 | |
| 88 | val := enc.Fields["k"] |
| 89 | arr, ok := val.([]interface{}) |
| 90 | require.True(t, ok, "Expected top-level field to be an array.") |
| 91 | require.Equal(t, 1, len(arr), "Expected only one error object in array.") |
| 92 | |
| 93 | serialized := arr[0] |
| 94 | errMap, ok := serialized.(map[string]interface{}) |
| 95 | require.True(t, ok, "Expected serialized error to be a map, got %T.", serialized) |
| 96 | assert.Equal(t, "egad", errMap["error"], "Unexpected standard error string.") |
| 97 | } |
| 98 | |
| 99 | func TestErrArrayBrokenEncoder(t *testing.T) { |
| 100 | t.Parallel() |
nothing calls this directly
no test coverage detected