| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  | # Simple test suite for Cookie.py | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-07-23 19:04:11 +00:00
										 |  |  | from test.test_support import verify, verbose, run_doctest | 
					
						
							| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  | import Cookie | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-29 16:45:06 +00:00
										 |  |  | import warnings | 
					
						
							|  |  |  | warnings.filterwarnings("ignore", | 
					
						
							|  |  |  |                         ".* class is insecure.*", | 
					
						
							|  |  |  |                         DeprecationWarning) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  | # Currently this only tests SimpleCookie | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cases = [ | 
					
						
							|  |  |  |     ('chips=ahoy; vienna=finger', {'chips':'ahoy', 'vienna':'finger'}), | 
					
						
							| 
									
										
										
										
											2005-08-25 07:32:42 +00:00
										 |  |  |     ('keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"', | 
					
						
							| 
									
										
										
										
											2000-10-23 17:22:08 +00:00
										 |  |  |      {'keebler' : 'E=mc2; L="Loves"; fudge=\012;'}), | 
					
						
							| 
									
										
										
										
											2001-02-21 01:17:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # Check illegal cookies that have an '=' char in an unquoted value | 
					
						
							| 
									
										
										
										
											2005-08-25 07:32:42 +00:00
										 |  |  |     ('keebler=E=mc2', {'keebler' : 'E=mc2'}) | 
					
						
							| 
									
										
										
										
											2000-10-23 17:22:08 +00:00
										 |  |  |     ] | 
					
						
							| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | for data, dict in cases: | 
					
						
							|  |  |  |     C = Cookie.SimpleCookie() ; C.load(data) | 
					
						
							| 
									
										
										
										
											2000-08-24 11:56:19 +00:00
										 |  |  |     print repr(C) | 
					
						
							| 
									
										
										
										
											2005-08-25 07:32:42 +00:00
										 |  |  |     print C.output(sep='\n') | 
					
						
							| 
									
										
										
										
											2004-01-04 11:14:51 +00:00
										 |  |  |     for k, v in sorted(dict.iteritems()): | 
					
						
							| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  |         print ' ', k, repr( C[k].value ), repr(v) | 
					
						
							| 
									
										
										
										
											2001-01-17 19:11:13 +00:00
										 |  |  |         verify(C[k].value == v) | 
					
						
							| 
									
										
										
										
											2000-08-24 11:56:19 +00:00
										 |  |  |         print C[k] | 
					
						
							| 
									
										
										
										
											2000-08-19 15:21:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | C = Cookie.SimpleCookie() | 
					
						
							|  |  |  | C.load('Customer="WILE_E_COYOTE"; Version=1; Path=/acme') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-01-17 19:11:13 +00:00
										 |  |  | verify(C['Customer'].value == 'WILE_E_COYOTE') | 
					
						
							|  |  |  | verify(C['Customer']['version'] == '1') | 
					
						
							|  |  |  | verify(C['Customer']['path'] == '/acme') | 
					
						
							| 
									
										
										
										
											2000-08-19 15:57:33 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print C.output(['path']) | 
					
						
							|  |  |  | print C.js_output() | 
					
						
							|  |  |  | print C.js_output(['path']) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-08-24 11:56:19 +00:00
										 |  |  | # Try cookie with quoted meta-data | 
					
						
							|  |  |  | C = Cookie.SimpleCookie() | 
					
						
							|  |  |  | C.load('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"') | 
					
						
							| 
									
										
										
										
											2001-01-17 19:11:13 +00:00
										 |  |  | verify(C['Customer'].value == 'WILE_E_COYOTE') | 
					
						
							|  |  |  | verify(C['Customer']['version'] == '1') | 
					
						
							|  |  |  | verify(C['Customer']['path'] == '/acme') | 
					
						
							| 
									
										
										
										
											2001-04-06 21:20:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print "If anything blows up after this line, it's from Cookie's doctest." | 
					
						
							| 
									
										
										
										
											2001-09-09 06:12:01 +00:00
										 |  |  | run_doctest(Cookie) |