diff options
author | INADA Naoki <inada-n@klab.com> | 2012-09-24 03:05:39 +0900 |
---|---|---|
committer | INADA Naoki <inada-n@klab.com> | 2012-09-24 03:05:39 +0900 |
commit | e38103264176d3f8e715d206e2d9d4155eb5b121 (patch) | |
tree | 81b2ed40642a5657e9aeef29adcf665e3daae4e1 /test/test_obj.py | |
parent | 927d29131dc8d2a9f606cf7c881606d47ace557b (diff) | |
parent | 77942514db0c5a80e9f3f9bcb1e1939ecc8705e6 (diff) | |
download | msgpack-python-e38103264176d3f8e715d206e2d9d4155eb5b121.tar.gz |
Support object_pairs_hook
Merge remote-tracking branch 'jnothman/object_pairs_hook' into 0.2-maint
Conflicts:
msgpack/_msgpack.pyx
test/test_pack.py
test/test_sequnpack.py
Diffstat (limited to 'test/test_obj.py')
-rw-r--r-- | test/test_obj.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/test_obj.py b/test/test_obj.py index d809093..12a149f 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)) + 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) |