diff options
author | Naoki INADA <inada-n@eagle> | 2009-06-26 14:10:20 +0900 |
---|---|---|
committer | Naoki INADA <inada-n@eagle> | 2009-06-26 14:10:20 +0900 |
commit | 3c3df3133c6f6320a03ebcaef546ab9c2c53154d (patch) | |
tree | 08154d02704ea528346fe00d09e61be8e3a1da3f /python/test_sequnpack.py | |
parent | 16a208243b8ef6eadd626876d5224c81e0bda74e (diff) | |
download | msgpack-python-3c3df3133c6f6320a03ebcaef546ab9c2c53154d.tar.gz |
Implement streaming deserializer.
Diffstat (limited to 'python/test_sequnpack.py')
-rw-r--r-- | python/test_sequnpack.py | 36 |
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() + |