SVN: r25415 - trunk/quixote/test

Neil Schemenauer <nascheme-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]> Thu, 21 Oct 2004 18:03:22 -0400
Newsgroups gmane.comp.web.quixote.cvs
Message-ID <[email protected]>
Author: nascheme
Date: 2004-10-21 18:03:11 -0400 (Thu, 21 Oct 2004)
New Revision: 25415

Added:
   trunk/quixote/test/utest_request.py
Log:
Add some tests for the parse_cookies() function.


Added: trunk/quixote/test/utest_request.py
===================================================================
--- trunk/quixote/test/utest_request.py	2004-10-21 21:08:00 UTC (rev 25414)
+++ trunk/quixote/test/utest_request.py	2004-10-21 22:03:11 UTC (rev 25415)
@@ -0,0 +1,43 @@
+from sancho.utest import UTest
+from quixote.http_request import parse_cookies
+
+
+class ParseCookiesTest (UTest):
+
+    def check_basic(self):
+        assert parse_cookies('a') == {'a': ''}
+        assert parse_cookies('a = ') == {'a': ''}
+        assert parse_cookies('a = ""') == {'a': ''}
+        assert parse_cookies(r'a = "\""') == {'a': '"'}
+        assert parse_cookies('a, b; c') == {'a': '', 'b': '', 'c': ''}
+        assert parse_cookies('a, b=1') == {'a': '', 'b': '1'}
+        assert parse_cookies('a = ";, \t";') == {'a': ';, \t'}
+
+    def check_rfc2109_example(self):
+        s = ('$Version="1"; Customer="WILE_E_COYOTE"; $Path="/acme"; '
+             'Part_Number="Rocket_Launcher_0001"; $Path="/acme"')
+        result = {'Customer': 'WILE_E_COYOTE',
+                  'Part_Number': 'Rocket_Launcher_0001',
+                 }
+        assert parse_cookies(s) == result
+
+    def check_other(self):
+        s = 'PREF=ID=0a06b1:TM=108:LM=1069:C2COFF=1:S=ETXrcU'
+        result = {'PREF': 'ID=0a06b1:TM=108:LM=1069:C2COFF=1:S=ETXrcU'}
+        assert parse_cookies(s) == result
+        s = 'pageColor=White; pageWidth=990; fontSize=12; fontFace=1; E=E'
+        assert parse_cookies(s) == {'pageColor': 'White',
+                                    'pageWidth': '990',
+                                    'fontSize': '12',
+                                    'fontFace': '1',
+                                    'E': 'E'}
+        s = 'userid="joe"; QX_session="58a3ced39dcd0d"'
+        assert parse_cookies(s) == {'userid': 'joe',
+                                    'QX_session': '58a3ced39dcd0d'}
+
+    def check_invalid(self):
+        parse_cookies('a="123')
+        parse_cookies('a=123"')
+
+if __name__ == "__main__":
+    ParseCookiesTest()