symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_cookie.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 # Simple test suite for Cookie.py
       
     2 
       
     3 from test.test_support import run_unittest, run_doctest
       
     4 import unittest
       
     5 import Cookie
       
     6 
       
     7 import warnings
       
     8 warnings.filterwarnings("ignore",
       
     9                         ".* class is insecure.*",
       
    10                         DeprecationWarning)
       
    11 
       
    12 class CookieTests(unittest.TestCase):
       
    13     # Currently this only tests SimpleCookie
       
    14     def test_basic(self):
       
    15         cases = [
       
    16             { 'data': 'chips=ahoy; vienna=finger',
       
    17               'dict': {'chips':'ahoy', 'vienna':'finger'},
       
    18               'repr': "<SimpleCookie: chips='ahoy' vienna='finger'>",
       
    19               'output': 'Set-Cookie: chips=ahoy\nSet-Cookie: vienna=finger',
       
    20             },
       
    21 
       
    22             { 'data': 'keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"',
       
    23               'dict': {'keebler' : 'E=mc2; L="Loves"; fudge=\012;'},
       
    24               'repr': '''<SimpleCookie: keebler='E=mc2; L="Loves"; fudge=\\n;'>''',
       
    25               'output': 'Set-Cookie: keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"',
       
    26             },
       
    27 
       
    28             # Check illegal cookies that have an '=' char in an unquoted value
       
    29             { 'data': 'keebler=E=mc2',
       
    30               'dict': {'keebler' : 'E=mc2'},
       
    31               'repr': "<SimpleCookie: keebler='E=mc2'>",
       
    32               'output': 'Set-Cookie: keebler=E=mc2',
       
    33             }
       
    34         ]
       
    35 
       
    36         for case in cases:
       
    37             C = Cookie.SimpleCookie()
       
    38             C.load(case['data'])
       
    39             self.assertEqual(repr(C), case['repr'])
       
    40             self.assertEqual(C.output(sep='\n'), case['output'])
       
    41             for k, v in sorted(case['dict'].iteritems()):
       
    42                 self.assertEqual(C[k].value, v)
       
    43 
       
    44     def test_load(self):
       
    45         C = Cookie.SimpleCookie()
       
    46         C.load('Customer="WILE_E_COYOTE"; Version=1; Path=/acme')
       
    47 
       
    48         self.assertEqual(C['Customer'].value, 'WILE_E_COYOTE')
       
    49         self.assertEqual(C['Customer']['version'], '1')
       
    50         self.assertEqual(C['Customer']['path'], '/acme')
       
    51 
       
    52         self.assertEqual(C.output(['path']),
       
    53             'Set-Cookie: Customer="WILE_E_COYOTE"; Path=/acme')
       
    54         self.assertEqual(C.js_output(), """
       
    55         <script type="text/javascript">
       
    56         <!-- begin hiding
       
    57         document.cookie = "Customer="WILE_E_COYOTE"; Path=/acme; Version=1";
       
    58         // end hiding -->
       
    59         </script>
       
    60         """)
       
    61         self.assertEqual(C.js_output(['path']), """
       
    62         <script type="text/javascript">
       
    63         <!-- begin hiding
       
    64         document.cookie = "Customer="WILE_E_COYOTE"; Path=/acme";
       
    65         // end hiding -->
       
    66         </script>
       
    67         """)
       
    68 
       
    69     def test_quoted_meta(self):
       
    70         # Try cookie with quoted meta-data
       
    71         C = Cookie.SimpleCookie()
       
    72         C.load('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"')
       
    73         self.assertEqual(C['Customer'].value, 'WILE_E_COYOTE')
       
    74         self.assertEqual(C['Customer']['version'], '1')
       
    75         self.assertEqual(C['Customer']['path'], '/acme')
       
    76 
       
    77 def test_main():
       
    78     run_unittest(CookieTests)
       
    79     run_doctest(Cookie)
       
    80 
       
    81 if __name__ == '__main__':
       
    82     test_main()