summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Abramowitz <marc@marc-abramowitz.com>2016-03-07 18:22:25 -0800
committerMarc Abramowitz <marc@marc-abramowitz.com>2016-03-07 18:22:25 -0800
commit4028f9fa2ed70ef81c172a07e203706faa6e50a8 (patch)
tree31254bec95276dc674654fd83d11835c54d3d19f
parent6a69c665a6e52423e639b1d81a326dc05831b4c4 (diff)
downloadpaste-git-4028f9fa2ed70ef81c172a07e203706faa6e50a8.tar.gz
Add tests for `add_close` class
-rw-r--r--tests/test_wsgilib.py50
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