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

Function Test_Ctx_Range

ctx_test.go:5113–5146  ·  view source on GitHub ↗

go test -run Test_Ctx_Range

(t *testing.T)

Source from the content-addressed store, hash-verified

5111
5112// go test -run Test_Ctx_Range
5113func Test_Ctx_Range(t *testing.T) {
5114 t.Parallel()
5115 app := New()
5116 c := app.AcquireCtx(&fasthttp.RequestCtx{})
5117
5118 testRange := func(header string, ranges ...RangeSet) {
5119 c.Request().Header.Set(HeaderRange, header)
5120 result, err := c.Range(1000)
5121 if len(ranges) == 0 {
5122 require.Error(t, err)
5123 } else {
5124 require.Equal(t, "bytes", result.Type)
5125 require.NoError(t, err)
5126 }
5127 require.Len(t, ranges, len(result.Ranges))
5128 for i := range ranges {
5129 require.Equal(t, ranges[i], result.Ranges[i])
5130 }
5131 }
5132
5133 testRange("bytes=500")
5134 testRange("bytes=")
5135 testRange("bytes=500=")
5136 testRange("bytes=500-300")
5137 testRange("bytes=a-700", RangeSet{Start: 300, End: 999})
5138 testRange("bytes=500-b", RangeSet{Start: 500, End: 999})
5139 testRange("bytes=500-1000", RangeSet{Start: 500, End: 999})
5140 testRange("bytes=500-700", RangeSet{Start: 500, End: 700})
5141 testRange("bytes=0-0,2-1000", RangeSet{Start: 0, End: 0}, RangeSet{Start: 2, End: 999})
5142 testRange("bytes=0-99,450-549,-100", RangeSet{Start: 0, End: 99}, RangeSet{Start: 450, End: 549}, RangeSet{Start: 900, End: 999})
5143 testRange("bytes=500-700,601-999", RangeSet{Start: 500, End: 700}, RangeSet{Start: 601, End: 999})
5144 testRange("bytes= 0-1", RangeSet{Start: 0, End: 1})
5145 testRange("seconds=0-1")
5146}
5147
5148func Test_Ctx_Range_LargeFile(t *testing.T) {
5149 t.Parallel()

Callers

nothing calls this directly

Calls 7

AcquireCtxMethod · 0.80
NewFunction · 0.70
SetMethod · 0.65
RequestMethod · 0.65
RangeMethod · 0.65
ErrorMethod · 0.65
LenMethod · 0.65

Tested by

no test coverage detected