(t *testing.T)
| 4321 | } |
| 4322 | |
| 4323 | func Test_Ctx_ValueFromContext_Config(t *testing.T) { |
| 4324 | t.Parallel() |
| 4325 | |
| 4326 | t.Run("fiber ctx disabled reads locals", func(t *testing.T) { |
| 4327 | t.Parallel() |
| 4328 | |
| 4329 | app := New() |
| 4330 | raw := &fasthttp.RequestCtx{} |
| 4331 | c := app.AcquireCtx(raw) |
| 4332 | defer app.ReleaseCtx(c) |
| 4333 | |
| 4334 | c.Locals(contextHelperTestKey{}, "locals") |
| 4335 | c.SetContext(context.WithValue(context.Background(), contextHelperTestKey{}, "context")) |
| 4336 | |
| 4337 | value, ok := ValueFromContext[string](c, contextHelperTestKey{}) |
| 4338 | require.True(t, ok) |
| 4339 | require.Equal(t, "locals", value) |
| 4340 | }) |
| 4341 | |
| 4342 | t.Run("fiber ctx enabled still reads locals", func(t *testing.T) { |
| 4343 | t.Parallel() |
| 4344 | |
| 4345 | app := New(Config{PassLocalsToContext: true}) |
| 4346 | raw := &fasthttp.RequestCtx{} |
| 4347 | c := app.AcquireCtx(raw) |
| 4348 | defer app.ReleaseCtx(c) |
| 4349 | |
| 4350 | c.Locals(contextHelperTestKey{}, "locals") |
| 4351 | c.SetContext(context.WithValue(context.Background(), contextHelperTestKey{}, "context")) |
| 4352 | |
| 4353 | value, ok := ValueFromContext[string](c, contextHelperTestKey{}) |
| 4354 | require.True(t, ok) |
| 4355 | require.Equal(t, "locals", value) |
| 4356 | }) |
| 4357 | |
| 4358 | t.Run("fiber custom ctx enabled still reads locals", func(t *testing.T) { |
| 4359 | t.Parallel() |
| 4360 | |
| 4361 | app := NewWithCustomCtx(func(app *App) CustomCtx { |
| 4362 | return &customCtx{DefaultCtx: *NewDefaultCtx(app)} |
| 4363 | }, Config{PassLocalsToContext: true}) |
| 4364 | raw := &fasthttp.RequestCtx{} |
| 4365 | c := app.AcquireCtx(raw) |
| 4366 | defer app.ReleaseCtx(c) |
| 4367 | |
| 4368 | c.Locals(contextHelperTestKey{}, "locals") |
| 4369 | c.SetContext(context.WithValue(context.Background(), contextHelperTestKey{}, "context")) |
| 4370 | |
| 4371 | value, ok := ValueFromContext[string](c, contextHelperTestKey{}) |
| 4372 | require.True(t, ok) |
| 4373 | require.Equal(t, "locals", value) |
| 4374 | }) |
| 4375 | |
| 4376 | t.Run("fasthttp request ctx", func(t *testing.T) { |
| 4377 | t.Parallel() |
| 4378 | |
| 4379 | raw := &fasthttp.RequestCtx{} |
| 4380 | raw.SetUserValue(contextHelperTestKey{}, "value") |
nothing calls this directly
no test coverage detected