MCPcopy
hub / github.com/gofiber/fiber / Test_Bind_Query_Map

Function Test_Bind_Query_Map

bind_test.go:476–514  ·  view source on GitHub ↗

go test -run Test_Bind_Query_Map -v

(t *testing.T)

Source from the content-addressed store, hash-verified

474
475// go test -run Test_Bind_Query_Map -v
476func Test_Bind_Query_Map(t *testing.T) {
477 t.Parallel()
478
479 app := New(Config{
480 EnableSplittingOnParsers: true,
481 })
482 c := app.AcquireCtx(&fasthttp.RequestCtx{})
483
484 c.Request().SetBody([]byte(``))
485 c.Request().Header.SetContentType("")
486 c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball&hobby=football")
487 q := make(map[string][]string)
488 require.NoError(t, c.Bind().Query(&q))
489 require.Len(t, q["hobby"], 2)
490
491 c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball,football")
492 q = make(map[string][]string)
493 require.NoError(t, c.Bind().Query(&q))
494 require.Len(t, q["hobby"], 2)
495
496 c.Request().URI().SetQueryString("id=1&name=tom&hobby=soccer&hobby=basketball,football")
497 q = make(map[string][]string)
498 require.NoError(t, c.Bind().Query(&q))
499 require.Len(t, q["hobby"], 3)
500
501 c.Request().URI().SetQueryString("id=1&name=tom&hobby=soccer")
502 qq := make(map[string]string)
503 require.NoError(t, c.Bind().Query(&qq))
504 require.Equal(t, "1", qq["id"])
505
506 empty := make(map[string][]string)
507 c.Request().URI().SetQueryString("")
508 require.NoError(t, c.Bind().Query(&empty))
509 require.Empty(t, empty["hobby"])
510
511 em := make(map[string][]int)
512 c.Request().URI().SetQueryString("")
513 require.ErrorIs(t, c.Bind().Query(&em), binder.ErrMapNotConvertible)
514}
515
516// go test -run Test_Bind_Query_WithSetParserDecoder -v
517func Test_Bind_Query_WithSetParserDecoder(t *testing.T) {

Callers

nothing calls this directly

Calls 7

AcquireCtxMethod · 0.80
URIMethod · 0.80
NewFunction · 0.70
RequestMethod · 0.65
QueryMethod · 0.65
BindMethod · 0.65
LenMethod · 0.65

Tested by

no test coverage detected