Skip to content

Commit e5462ff

Browse files
committed
Add test for max_buffer_size.
1 parent 7b11670 commit e5462ff

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

test/test_sequnpack.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#!/usr/bin/env python
22
# coding: utf-8
33

4-
from msgpack import Unpacker
4+
from msgpack import Unpacker, BufferFull
5+
import nose
56

67
def test_foobar():
78
unpacker = Unpacker(read_size=3)
@@ -27,6 +28,19 @@ def test_foobar():
2728
k += 1
2829
assert k == len(b'foobar')
2930

30-
if __name__ == '__main__':
31-
test_foobar()
3231

32+
def test_maxbuffersize():
33+
nose.tools.assert_raises(ValueError, Unpacker, read_size=5, max_buffer_size=3)
34+
unpacker = Unpacker(read_size=3, max_buffer_size=3)
35+
unpacker.feed(b'fo')
36+
nose.tools.assert_raises(BufferFull, unpacker.feed, b'ob')
37+
unpacker.feed(b'o')
38+
assert ord('f') == next(unpacker)
39+
unpacker.feed(b'b')
40+
assert ord('o') == next(unpacker)
41+
assert ord('o') == next(unpacker)
42+
assert ord('b') == next(unpacker)
43+
44+
45+
if __name__ == '__main__':
46+
nose.main()

0 commit comments

Comments
 (0)