Test_Bind_Query() — fiber Function Reference
Architecture documentation for the Test_Bind_Query() function in bind_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 77853faa_5818_a5e4_b3dd_9907f3706c2f["Test_Bind_Query()"] 55065b01_f5dc_4e53_5a74_5ecc7aca8f52["bind_test.go"] 77853faa_5818_a5e4_b3dd_9907f3706c2f -->|defined in| 55065b01_f5dc_4e53_5a74_5ecc7aca8f52 style 77853faa_5818_a5e4_b3dd_9907f3706c2f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
bind_test.go lines 52–129
func Test_Bind_Query(t *testing.T) {
t.Parallel()
app := New(Config{
EnableSplittingOnParsers: true,
})
c := app.AcquireCtx(&fasthttp.RequestCtx{})
type Query struct {
Name string
Hobby []string
ID int
}
c.Request().SetBody([]byte(``))
c.Request().Header.SetContentType("")
c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball&hobby=football")
q := new(Query)
require.NoError(t, c.Bind().Query(q))
require.Len(t, q.Hobby, 2)
c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball,football")
q = new(Query)
require.NoError(t, c.Bind().Query(q))
require.Len(t, q.Hobby, 2)
c.Request().URI().SetQueryString("id=1&name=tom&hobby=soccer&hobby=basketball,football")
q = new(Query)
require.NoError(t, c.Bind().Query(q))
require.Len(t, q.Hobby, 3)
empty := new(Query)
c.Request().URI().SetQueryString("")
require.NoError(t, c.Bind().Query(empty))
require.Empty(t, empty.Hobby)
type Query2 struct {
Name string
Hobby string
Default string `query:"default,default:hello"`
FavouriteDrinks []string
Empty []string
Alloc []string
Defaults []string `query:"defaults,default:hello|world"`
No []int64
ID int
Bool bool
}
c.Request().URI().SetQueryString("id=1&name=tom&hobby=basketball,football&favouriteDrinks=milo,coke,pepsi&alloc=&no=1")
q2 := new(Query2)
q2.Bool = true
q2.Name = helloWorld
require.NoError(t, c.Bind().Query(q2))
require.Equal(t, "basketball,football", q2.Hobby)
require.True(t, q2.Bool)
require.Equal(t, "tom", q2.Name) // check value get overwritten
require.Equal(t, []string{"milo", "coke", "pepsi"}, q2.FavouriteDrinks)
var nilSlice []string
require.Equal(t, nilSlice, q2.Empty)
require.Equal(t, []string{""}, q2.Alloc)
require.Equal(t, []int64{1}, q2.No)
require.Equal(t, "hello", q2.Default)
require.Equal(t, []string{"hello", "world"}, q2.Defaults)
type RequiredQuery struct {
Name string `query:"name,required"`
}
rq := new(RequiredQuery)
c.Request().URI().SetQueryString("")
require.Equal(t, "bind: name is empty", c.Bind().Query(rq).Error())
type ArrayQuery struct {
Data []string
}
aq := new(ArrayQuery)
c.Request().URI().SetQueryString("data[]=john&data[]=doe")
require.NoError(t, c.Bind().Query(aq))
require.Len(t, aq.Data, 2)
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Bind_Query() do?
Test_Bind_Query() is a function in the fiber codebase, defined in bind_test.go.
Where is Test_Bind_Query() defined?
Test_Bind_Query() is defined in bind_test.go at line 52.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free