summaryrefslogtreecommitdiff
path: root/test/test_obj.py
diff options
context:
space:
mode:
authorINADA Naoki <inada-n@klab.com>2012-09-24 03:10:37 +0900
committerINADA Naoki <inada-n@klab.com>2012-09-24 03:10:37 +0900
commit1526316a0803c233a6752aff1bab6e951447d12a (patch)
tree1705ccd3828c981791b2a0ce1debfbcc9f598a82 /test/test_obj.py
parentd13f10c02e06b0f3c138b1726cfa8b1a31529d64 (diff)
parent477d3b152f5d36a48a8083b3720def2dd1f5d1a7 (diff)
downloadmsgpack-python-1526316a0803c233a6752aff1bab6e951447d12a.tar.gz
Merge branch '0.2-maint'
Conflicts: msgpack/_msgpack.pyx
Diffstat (limited to 'test/test_obj.py')
-rw-r--r--test/test_obj.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/test_obj.py b/test/test_obj.py
index d809093..881e627 100644
--- a/test/test_obj.py
+++ b/test/test_obj.py
@@ -26,6 +26,16 @@ def test_decode_hook():
unpacked = unpackb(packed, object_hook=_decode_complex, use_list=1)
eq_(unpacked[1], 1+2j)
+def test_decode_pairs_hook():
+ packed = packb([3, {1: 2, 3: 4}])
+ prod_sum = 1 * 2 + 3 * 4
+ unpacked = unpackb(packed, object_pairs_hook=lambda l: sum(k * v for k, v in l), use_list=1)
+ eq_(unpacked[1], prod_sum)
+
+@raises(ValueError)
+def test_only_one_obj_hook():
+ unpackb(b'', object_hook=lambda x: x, object_pairs_hook=lambda x: x)
+
@raises(ValueError)
def test_bad_hook():
packed = packb([3, 1+2j], default=lambda o: o)