MCPcopy
hub / github.com/uber-go/zap / TestErrorsArraysHandleRichErrors

Function TestErrorsArraysHandleRichErrors

error_test.go:81–97  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

79}
80
81func 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
99func TestErrArrayBrokenEncoder(t *testing.T) {
100 t.Parallel()

Callers

nothing calls this directly

Calls 4

NewMapObjectEncoderFunction · 0.92
ErrorsFunction · 0.85
AddToMethod · 0.80
ErrorfMethod · 0.65

Tested by

no test coverage detected