diff options
author | Marc Abramowitz <marc@marc-abramowitz.com> | 2016-03-07 18:22:25 -0800 |
---|---|---|
committer | Marc Abramowitz <marc@marc-abramowitz.com> | 2016-03-07 18:22:25 -0800 |
commit | 4028f9fa2ed70ef81c172a07e203706faa6e50a8 (patch) | |
tree | 31254bec95276dc674654fd83d11835c54d3d19f /tests | |
parent | 6a69c665a6e52423e639b1d81a326dc05831b4c4 (diff) | |
download | paste-git-4028f9fa2ed70ef81c172a07e203706faa6e50a8.tar.gz |
Add tests for `add_close` class
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_wsgilib.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/test_wsgilib.py b/tests/test_wsgilib.py new file mode 100644 index 0000000..f9366fc --- /dev/null +++ b/tests/test_wsgilib.py @@ -0,0 +1,50 @@ +from paste.wsgilib import add_close + + +def app_iterable_func_bytes(): + yield b'a' + yield b'b' + yield b'c' + + +def app_iterable_func_unicode(): + yield b'a'.decode('ascii') + yield b'b'.decode('ascii') + yield b'c'.decode('ascii') + + +def close_func(): + global close_func_called + close_func_called = True + + +def test_add_close_bytes(): + global close_func_called + + close_func_called = False + lst = [] + app_iterable = app_iterable_func_bytes() + + obj = add_close(app_iterable, close_func) + for x in obj: + lst.append(x) + obj.close() + + assert lst == [b'a', b'b', b'c'] + assert close_func_called + + +def test_add_close_unicode(): + global close_func_called + + close_func_called = False + lst = [] + app_iterable = app_iterable_func_unicode() + + obj = add_close(app_iterable, close_func) + for x in obj: + lst.append(x) + obj.close() + + assert lst == ['a', 'b', 'c'] + assert close_func_called |