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

Function Test_Bind_Cookie

bind_test.go:1893–1968  ·  view source on GitHub ↗

go test -run Test_Bind_Cookie -v

(t *testing.T)

Source from the content-addressed store, hash-verified

1891
1892// go test -run Test_Bind_Cookie -v
1893func Test_Bind_Cookie(t *testing.T) {
1894 t.Parallel()
1895
1896 app := New(Config{
1897 EnableSplittingOnParsers: true,
1898 })
1899 c := app.AcquireCtx(&fasthttp.RequestCtx{})
1900
1901 type Cookie struct {
1902 Name string
1903 Hobby []string
1904 ID int
1905 }
1906 c.Request().SetBody([]byte(``))
1907 c.Request().Header.SetContentType("")
1908
1909 c.Request().Header.SetCookie("id", "1")
1910 c.Request().Header.SetCookie("Name", "John Doe")
1911 c.Request().Header.SetCookie("Hobby", "golang,fiber")
1912 q := new(Cookie)
1913 require.NoError(t, c.Bind().Cookie(q))
1914 require.Len(t, q.Hobby, 2)
1915
1916 c.Request().Header.DelCookie("hobby")
1917 c.Request().Header.SetCookie("Hobby", "golang,fiber,go")
1918 q = new(Cookie)
1919 require.NoError(t, c.Bind().Cookie(q))
1920 require.Len(t, q.Hobby, 3)
1921
1922 empty := new(Cookie)
1923 c.Request().Header.DelCookie("hobby")
1924 require.NoError(t, c.Bind().Query(empty))
1925 require.Empty(t, empty.Hobby)
1926
1927 type Cookie2 struct {
1928 Name string
1929 Hobby string
1930 FavouriteDrinks []string
1931 Empty []string
1932 Alloc []string
1933 No []int64
1934 ID int
1935 Bool bool
1936 }
1937
1938 c.Request().Header.SetCookie("id", "2")
1939 c.Request().Header.SetCookie("Name", "Jane Doe")
1940 c.Request().Header.DelCookie("hobby")
1941 c.Request().Header.SetCookie("Hobby", "go,fiber")
1942 c.Request().Header.SetCookie("favouriteDrinks", "milo,coke,pepsi")
1943 c.Request().Header.SetCookie("alloc", "")
1944 c.Request().Header.SetCookie("no", "1")
1945
1946 h2 := new(Cookie2)
1947 h2.Bool = true
1948 h2.Name = helloWorld
1949 require.NoError(t, c.Bind().Cookie(h2))
1950 require.Equal(t, "go,fiber", h2.Hobby)

Callers

nothing calls this directly

Calls 9

AcquireCtxMethod · 0.80
NewFunction · 0.70
RequestMethod · 0.65
CookieMethod · 0.65
BindMethod · 0.65
LenMethod · 0.65
QueryMethod · 0.65
ErrorMethod · 0.65
SetCookieMethod · 0.45

Tested by

no test coverage detected