mirror of
				https://github.com/msgpack/msgpack-python.git
				synced 2025-11-04 03:20:56 +00:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			837 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			837 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								#!/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()
							 | 
						||
| 
								 | 
							
								
							 |