summaryrefslogtreecommitdiff
path: root/python/test_sequnpack.py
diff options
context:
space:
mode:
authorNaoki INADA <inada-n@eagle>2009-06-26 14:10:20 +0900
committerNaoki INADA <inada-n@eagle>2009-06-26 14:10:20 +0900
commit3c3df3133c6f6320a03ebcaef546ab9c2c53154d (patch)
tree08154d02704ea528346fe00d09e61be8e3a1da3f /python/test_sequnpack.py
parent16a208243b8ef6eadd626876d5224c81e0bda74e (diff)
downloadmsgpack-python-3c3df3133c6f6320a03ebcaef546ab9c2c53154d.tar.gz
Implement streaming deserializer.
Diffstat (limited to 'python/test_sequnpack.py')
-rw-r--r--python/test_sequnpack.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/python/test_sequnpack.py b/python/test_sequnpack.py
new file mode 100644
index 0000000..789ccd2
--- /dev/null
+++ b/python/test_sequnpack.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+from __future__ import unicode_literals, print_function
+
+from msgpack import Unpacker
+
+def test_foobar():
+ unpacker = Unpacker(read_size=3)
+ unpacker.feed(b'foobar')
+ assert unpacker.unpack() == ord('f')
+ assert unpacker.unpack() == ord('o')
+ assert unpacker.unpack() == ord('o')
+ assert unpacker.unpack() == ord('b')
+ assert unpacker.unpack() == ord('a')
+ assert unpacker.unpack() == ord('r')
+ try:
+ o = unpacker.unpack()
+ print("Oops!", o)
+ assert 0
+ except StopIteration:
+ assert 1
+ else:
+ assert 0
+ unpacker.feed(b'foo')
+ unpacker.feed(b'bar')
+
+ k = 0
+ for o, e in zip(unpacker, b'foobarbaz'):
+ assert o == ord(e)
+ k += 1
+ assert k == len(b'foobar')
+
+if __name__ == '__main__':
+ test_foobar()
+