summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--msgpack/fallback.py4
-rw-r--r--test/test_sequnpack.py9
2 files changed, 12 insertions, 1 deletions
diff --git a/msgpack/fallback.py b/msgpack/fallback.py
index 388a5ab..85a711b 100644
--- a/msgpack/fallback.py
+++ b/msgpack/fallback.py
@@ -357,7 +357,9 @@ class Unpacker(object):
return self._buffer[self._buff_i :]
def read_bytes(self, n):
- return self._read(n)
+ ret = self._read(n)
+ self._consume()
+ return ret
def _read(self, n):
# (int) -> bytearray
diff --git a/test/test_sequnpack.py b/test/test_sequnpack.py
index 9b69479..ad29de8 100644
--- a/test/test_sequnpack.py
+++ b/test/test_sequnpack.py
@@ -93,6 +93,15 @@ def test_readbytes():
assert unpacker.unpack() == ord(b"a")
assert unpacker.unpack() == ord(b"r")
+ # Issue 352
+ u = Unpacker()
+ u.feed(b"x")
+ assert bytes(u.read_bytes(1)) == b"x"
+ with raises(StopIteration):
+ next(u)
+ u.feed(b"\1")
+ assert next(u) == 1
+
def test_issue124():
unpacker = Unpacker()