| 
									
										
										
										
											2010-03-31 17:29:07 +09:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | # coding: utf-8 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-29 11:24:25 +09:00
										 |  |  | from pytest import raises | 
					
						
							| 
									
										
										
										
											2012-07-04 14:58:36 +09:00
										 |  |  | from msgpack import packb, unpackb | 
					
						
							| 
									
										
										
										
											2010-03-31 17:29:07 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | import datetime | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-29 01:39:59 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-22 12:12:32 +09:00
										 |  |  | class DummyException(Exception): | 
					
						
							|  |  |  |     pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-31 17:29:07 +09:00
										 |  |  | def test_raise_on_find_unsupported_value(): | 
					
						
							| 
									
										
										
										
											2012-12-29 11:24:25 +09:00
										 |  |  |     with raises(TypeError): | 
					
						
							|  |  |  |         packb(datetime.datetime.now()) | 
					
						
							| 
									
										
										
										
											2010-03-31 17:29:07 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-22 12:12:32 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_raise_from_object_hook(): | 
					
						
							|  |  |  |     def hook(obj): | 
					
						
							|  |  |  |         raise DummyException | 
					
						
							| 
									
										
										
										
											2012-12-29 11:24:25 +09:00
										 |  |  |     raises(DummyException, unpackb, packb({}), object_hook=hook) | 
					
						
							|  |  |  |     raises(DummyException, unpackb, packb({'fizz': 'buzz'}), object_hook=hook) | 
					
						
							|  |  |  |     raises(DummyException, unpackb, packb({'fizz': 'buzz'}), object_pairs_hook=hook) | 
					
						
							|  |  |  |     raises(DummyException, unpackb, packb({'fizz': {'buzz': 'spam'}}), object_hook=hook) | 
					
						
							|  |  |  |     raises(DummyException, unpackb, packb({'fizz': {'buzz': 'spam'}}), object_pairs_hook=hook) | 
					
						
							| 
									
										
										
										
											2012-12-29 01:39:59 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-29 11:24:25 +09:00
										 |  |  | def test_invalidvalue(): | 
					
						
							|  |  |  |     with raises(ValueError): | 
					
						
							|  |  |  |         unpackb(b'\xd9\x97#DL_') |