summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorINADA Naoki <songofacandy@gmail.com>2013-10-17 09:37:20 +0900
committerINADA Naoki <songofacandy@gmail.com>2013-10-17 09:37:20 +0900
commitf162bf6f79d7a50e10530e42630b063af3bb8eb1 (patch)
tree334715bfec8d099d407701ff14d2acf884049fc4
parent85eaff344b74092ccf076ba2465e9bdb1537409b (diff)
downloadmsgpack-python-f162bf6f79d7a50e10530e42630b063af3bb8eb1.tar.gz
Add tests for str8 and bin types.
-rw-r--r--test/test_newspec.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/test_newspec.py b/test/test_newspec.py
new file mode 100644
index 0000000..8bc2cfe
--- /dev/null
+++ b/test/test_newspec.py
@@ -0,0 +1,69 @@
+# coding: utf-8
+
+from msgpack import packb, unpackb
+
+
+def test_str8():
+ header = b'\xd9'
+ data = b'x' * 32
+ b = packb(data.decode(), use_bin_type=True)
+ assert len(b) == len(data) + 2
+ assert b[0:2] == header + b'\x20'
+ assert b[2:] == data
+ assert unpackb(b) == data
+
+ data = b'x' * 255
+ b = packb(data.decode(), use_bin_type=True)
+ assert len(b) == len(data) + 2
+ assert b[0:2] == header + b'\xff'
+ assert b[2:] == data
+ assert unpackb(b) == data
+
+
+def test_bin8():
+ header = b'\xc4'
+ data = b''
+ b = packb(data, use_bin_type=True)
+ assert len(b) == len(data) + 2
+ assert b[0:2] == header + b'\x00'
+ assert b[2:] == data
+ assert unpackb(b) == data
+
+ data = b'x' * 255
+ b = packb(data, use_bin_type=True)
+ assert len(b) == len(data) + 2
+ assert b[0:2] == header + b'\xff'
+ assert b[2:] == data
+ assert unpackb(b) == data
+
+
+def test_bin16():
+ header = b'\xc5'
+ data = b'x' * 256
+ b = packb(data, use_bin_type=True)
+ assert len(b) == len(data) + 3
+ assert b[0:1] == header
+ assert b[1:3] == b'\x01\x00'
+ assert b[3:] == data
+ assert unpackb(b) == data
+
+ data = b'x' * 65535
+ b = packb(data, use_bin_type=True)
+ assert len(b) == len(data) + 3
+ assert b[0:1] == header
+ assert b[1:3] == b'\xff\xff'
+ assert b[3:] == data
+ assert unpackb(b) == data
+
+
+def test_bin32():
+ header = b'\xc6'
+ data = b'x' * 65536
+ b = packb(data, use_bin_type=True)
+ assert len(b) == len(data) + 5
+ assert b[0:1] == header
+ assert b[1:5] == b'\x00\x01\x00\x00'
+ assert b[5:] == data
+ assert unpackb(b) == data
+
+