summaryrefslogtreecommitdiff
path: root/test/test_sequnpack.py
diff options
context:
space:
mode:
authorAntonio Cuni <anto.cuni@gmail.com>2013-10-19 01:49:03 +0200
committerAntonio Cuni <anto.cuni@gmail.com>2013-10-19 01:49:03 +0200
commitff858387d37d37ec4472f6b6ac7010d8f2b0744f (patch)
tree575f528e68130b8bcaac184a6d5cb2af278e2386 /test/test_sequnpack.py
parenta7485eccb2e5fcebbd76612a658f2e18bdebe745 (diff)
downloadmsgpack-python-ff858387d37d37ec4472f6b6ac7010d8f2b0744f.tar.gz
implement unpack_one also for the cython version, and add a test for it
Diffstat (limited to 'test/test_sequnpack.py')
-rw-r--r--test/test_sequnpack.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/test_sequnpack.py b/test/test_sequnpack.py
index 9db14ca..abc447a 100644
--- a/test/test_sequnpack.py
+++ b/test/test_sequnpack.py
@@ -1,9 +1,10 @@
#!/usr/bin/env python
# coding: utf-8
+import py
import six
from msgpack import Unpacker, BufferFull
-from msgpack.exceptions import OutOfData
+from msgpack.exceptions import OutOfData, ExtraData, UnpackValueError
from pytest import raises
@@ -85,3 +86,15 @@ def test_readbytes():
assert unpacker.unpack() == ord(b'a')
assert unpacker.unpack() == ord(b'r')
+def test_unpack_one():
+ unpacker = Unpacker()
+ unpacker.feed('\xda\x00\x03abc')
+ assert unpacker.unpack_one() == 'abc'
+ #
+ unpacker = Unpacker()
+ unpacker.feed('\xda\x00\x03abcd')
+ py.test.raises(ExtraData, "unpacker.unpack_one()")
+ #
+ unpacker = Unpacker()
+ unpacker.feed('\xda\x00\x03ab')
+ py.test.raises(UnpackValueError, "unpacker.unpack_one()")