summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorINADA Naoki <songofacandy@gmail.com>2010-11-03 03:15:12 +0900
committerINADA Naoki <songofacandy@gmail.com>2010-11-03 03:15:12 +0900
commit2c9fddf085fee3fe16f86f979e42ea87cfaaa084 (patch)
tree1f6dd8cd32028f1af09cee237136f3aac566201d
parenta09c85ff9c846384cf681fa955ce931010995055 (diff)
downloadmsgpack-python-2c9fddf085fee3fe16f86f979e42ea87cfaaa084.tar.gz
python: Port some tests from 2 to 3.
-rw-r--r--test3/test_buffer.py16
-rw-r--r--test3/test_obj.py13
2 files changed, 29 insertions, 0 deletions
diff --git a/test3/test_buffer.py b/test3/test_buffer.py
new file mode 100644
index 0000000..01310a0
--- /dev/null
+++ b/test3/test_buffer.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+from nose import main
+from nose.tools import *
+from msgpack import packb, unpackb
+
+def test_unpack_buffer():
+ from array import array
+ buf = array('b')
+ buf.fromstring(packb(('foo', 'bar')))
+ obj = unpackb(buf)
+ assert_equal((b'foo', b'bar'), obj)
+
+if __name__ == '__main__':
+ main()
diff --git a/test3/test_obj.py b/test3/test_obj.py
index 972d1ca..236988d 100644
--- a/test3/test_obj.py
+++ b/test3/test_obj.py
@@ -26,6 +26,19 @@ def test_decode_hook():
unpacked = unpacks(packed, object_hook=_decode_complex)
eq_(unpacked[1], 1+2j)
+@raises(TypeError)
+def test_bad_hook():
+ packed = packs([3, 1+2j], default=lambda o: o)
+ unpacked = unpacks(packed)
+
+def _arr_to_str(arr):
+ return ''.join(str(c) for c in arr)
+
+def test_array_hook():
+ packed = packs([1,2,3])
+ unpacked = unpacks(packed, list_hook=_arr_to_str)
+ eq_(unpacked, '123')
+
if __name__ == '__main__':
#main()
test_decode_hook()