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

Function Test_Ctx_Is

ctx_test.go:3958–4000  ·  view source on GitHub ↗

go test -run Test_Ctx_Is

(t *testing.T)

Source from the content-addressed store, hash-verified

3956
3957// go test -run Test_Ctx_Is
3958func Test_Ctx_Is(t *testing.T) {
3959 t.Parallel()
3960 app := New()
3961 c := app.AcquireCtx(&fasthttp.RequestCtx{})
3962
3963 c.Request().Header.Set(HeaderContentType, MIMETextHTML+"; boundary=something")
3964 require.True(t, c.Is(".html"))
3965 require.True(t, c.Is("html"))
3966 require.False(t, c.Is("json"))
3967 require.False(t, c.Is(".json"))
3968 require.False(t, c.Is(""))
3969 require.False(t, c.Is(".foooo"))
3970
3971 c.Request().Header.Set(HeaderContentType, MIMEApplicationJSONCharsetUTF8)
3972 require.False(t, c.Is("html"))
3973 require.True(t, c.Is("json"))
3974 require.True(t, c.Is(".json"))
3975
3976 c.Request().Header.Set(HeaderContentType, " application/json;charset=UTF-8")
3977 require.False(t, c.Is("html"))
3978 require.True(t, c.Is("json"))
3979 require.True(t, c.Is(".json"))
3980
3981 c.Request().Header.Set(HeaderContentType, MIMEApplicationXMLCharsetUTF8)
3982 require.False(t, c.Is("html"))
3983 require.True(t, c.Is("xml"))
3984 require.True(t, c.Is(".xml"))
3985
3986 c.Request().Header.Set(HeaderContentType, MIMETextPlain)
3987 require.False(t, c.Is("html"))
3988 require.True(t, c.Is("txt"))
3989 require.True(t, c.Is(".txt"))
3990
3991 // case-insensitive and trimmed
3992 c.Request().Header.Set(HeaderContentType, "APPLICATION/JSON; charset=utf-8")
3993 require.True(t, c.Is("json"))
3994 require.True(t, c.Is(".json"))
3995
3996 // mismatched subtype should not match
3997 c.Request().Header.Set(HeaderContentType, "application/json+xml")
3998 require.False(t, c.Is("json"))
3999 require.False(t, c.Is(".json"))
4000}
4001
4002// go test -v -run=^$ -bench=Benchmark_Ctx_Is -benchmem -count=4
4003func Benchmark_Ctx_Is(b *testing.B) {

Callers

nothing calls this directly

Calls 5

AcquireCtxMethod · 0.80
NewFunction · 0.70
SetMethod · 0.65
RequestMethod · 0.65
IsMethod · 0.65

Tested by

no test coverage detected