@@ -90,3 +90,37 @@ func TestWithNamesRaceRegression(t *testing.T) {
90
90
}
91
91
})
92
92
}
93
+
94
+ func TestFieldsFromContext (t * testing.T ) {
95
+ for _ , tt := range []struct {
96
+ ctx context.Context //nolint:containedctx
97
+ fields []Field
98
+ }{
99
+ {
100
+ ctx : context .Background (),
101
+ fields : nil ,
102
+ },
103
+ {
104
+ ctx : WithFields (context .Background (), String ("a" , "1" ), String ("b" , "1" )),
105
+ fields : []Field {String ("a" , "1" ), String ("b" , "1" )},
106
+ },
107
+ {
108
+ ctx : WithFields (
109
+ WithFields (context .Background (), String ("a" , "1" ), String ("b" , "1" )),
110
+ String ("a" , "1" ), String ("b" , "1" ),
111
+ ),
112
+ fields : []Field {String ("a" , "1" ), String ("b" , "1" ), String ("a" , "1" ), String ("b" , "1" )},
113
+ },
114
+ {
115
+ ctx : WithFields (
116
+ WithFields (context .Background (), String ("a" , "1" ), String ("b" , "1" )),
117
+ String ("a" , "3" ),
118
+ ),
119
+ fields : []Field {String ("a" , "1" ), String ("b" , "1" ), String ("a" , "3" )},
120
+ },
121
+ } {
122
+ t .Run ("" , func (t * testing.T ) {
123
+ require .Equal (t , tt .fields , FieldsFromContext (tt .ctx ))
124
+ })
125
+ }
126
+ }
0 commit comments