| # Simple test suite for Cookie.py |
| |
| from test.test_support import verify, verbose, run_doctest |
| import Cookie |
| |
| import warnings |
| warnings.filterwarnings("ignore", |
| ".* class is insecure.*", |
| DeprecationWarning) |
| |
| # Currently this only tests SimpleCookie |
| |
| cases = [ |
| ('chips=ahoy; vienna=finger', {'chips':'ahoy', 'vienna':'finger'}), |
| ('keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"', |
| {'keebler' : 'E=mc2; L="Loves"; fudge=\012;'}), |
| |
| # Check illegal cookies that have an '=' char in an unquoted value |
| ('keebler=E=mc2', {'keebler' : 'E=mc2'}) |
| ] |
| |
| for data, dict in cases: |
| C = Cookie.SimpleCookie() ; C.load(data) |
| print repr(C) |
| print C.output(sep='\n') |
| for k, v in sorted(dict.iteritems()): |
| print ' ', k, repr( C[k].value ), repr(v) |
| verify(C[k].value == v) |
| print C[k] |
| |
| C = Cookie.SimpleCookie() |
| C.load('Customer="WILE_E_COYOTE"; Version=1; Path=/acme') |
| |
| verify(C['Customer'].value == 'WILE_E_COYOTE') |
| verify(C['Customer']['version'] == '1') |
| verify(C['Customer']['path'] == '/acme') |
| |
| print C.output(['path']) |
| print C.js_output() |
| print C.js_output(['path']) |
| |
| # Try cookie with quoted meta-data |
| C = Cookie.SimpleCookie() |
| C.load('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"') |
| verify(C['Customer'].value == 'WILE_E_COYOTE') |
| verify(C['Customer']['version'] == '1') |
| verify(C['Customer']['path'] == '/acme') |
| |
| print "If anything blows up after this line, it's from Cookie's doctest." |
| run_doctest(Cookie) |