summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/test_except.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test_except.py b/test/test_except.py
index ad02cb6..e142dd6 100644
--- a/test/test_except.py
+++ b/test/test_except.py
@@ -6,9 +6,28 @@ from msgpack import packb, unpackb
import datetime
+class DummyException(Exception):
+ pass
+
+
def test_raise_on_find_unsupported_value():
assert_raises(TypeError, packb, datetime.datetime.now())
+
+def test_raise_from_object_hook():
+ def hook(obj):
+ raise DummyException
+ assert_raises(DummyException, unpackb, packb({}), object_hook=hook)
+ assert_raises(DummyException, unpackb, packb({'fizz': 'buzz'}),
+ object_hook=hook)
+ assert_raises(DummyException, unpackb, packb({'fizz': 'buzz'}),
+ object_pairs_hook=hook)
+ assert_raises(DummyException, unpackb, packb({'fizz': {'buzz': 'spam'}}),
+ object_hook=hook)
+ assert_raises(DummyException, unpackb, packb({'fizz': {'buzz': 'spam'}}),
+ object_pairs_hook=hook)
+
+
if __name__ == '__main__':
from nose import main
main()