@@ -90,3 +90,37 @@ func TestWithNamesRaceRegression(t *testing.T) {
9090 }
9191 })
9292}
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