MCPcopy
hub / github.com/pallets/werkzeug / test_range_wrapper

Function test_range_wrapper

tests/test_wsgi.py:259–308  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

257
258
259def test_range_wrapper():
260 response = Response(b"Hello World")
261 range_wrapper = _RangeWrapper(response.response, 6, 4)
262 assert next(range_wrapper) == b"Worl"
263
264 response = Response(b"Hello World")
265 range_wrapper = _RangeWrapper(response.response, 1, 0)
266 with pytest.raises(StopIteration):
267 next(range_wrapper)
268
269 response = Response(b"Hello World")
270 range_wrapper = _RangeWrapper(response.response, 6, 100)
271 assert next(range_wrapper) == b"World"
272
273 response = Response(x for x in (b"He", b"ll", b"o ", b"Wo", b"rl", b"d"))
274 range_wrapper = _RangeWrapper(response.response, 6, 4)
275 assert not range_wrapper.seekable
276 assert next(range_wrapper) == b"Wo"
277 assert next(range_wrapper) == b"rl"
278
279 response = Response(x for x in (b"He", b"ll", b"o W", b"o", b"rld"))
280 range_wrapper = _RangeWrapper(response.response, 6, 4)
281 assert next(range_wrapper) == b"W"
282 assert next(range_wrapper) == b"o"
283 assert next(range_wrapper) == b"rl"
284 with pytest.raises(StopIteration):
285 next(range_wrapper)
286
287 response = Response(x for x in (b"Hello", b" World"))
288 range_wrapper = _RangeWrapper(response.response, 1, 1)
289 assert next(range_wrapper) == b"e"
290 with pytest.raises(StopIteration):
291 next(range_wrapper)
292
293 resources = os.path.join(os.path.dirname(__file__), "res")
294 env = create_environ()
295 with open(os.path.join(resources, "test.txt"), "rb") as f:
296 response = Response(wrap_file(env, f))
297 range_wrapper = _RangeWrapper(response.response, 1, 2)
298 assert range_wrapper.seekable
299 assert next(range_wrapper) == b"OU"
300 with pytest.raises(StopIteration):
301 next(range_wrapper)
302
303 with open(os.path.join(resources, "test.txt"), "rb") as f:
304 response = Response(wrap_file(env, f))
305 range_wrapper = _RangeWrapper(response.response, 2)
306 assert next(range_wrapper) == b"UND\n"
307 with pytest.raises(StopIteration):
308 next(range_wrapper)
309
310
311def test_closing_iterator():

Callers

nothing calls this directly

Calls 4

ResponseClass · 0.90
_RangeWrapperClass · 0.90
create_environFunction · 0.90
wrap_fileFunction · 0.90

Tested by

no test coverage detected