;
Ìâ"Ic               @   sœ  d  Z  d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m	 Z	 d d l
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  Gd „  d e ƒ Z! Gd „  d	 e ƒ Z" Gd
 „  d ƒ Z# d „  Z$ d „  Z% d „  Z& Gd „  d e ƒ Z' Gd „  d e ƒ Z( Gd „  d e ƒ Z) e* d „ Z+ e, d k o e+ d e- ƒ n d S(   u   Tests for http/cookiejar.py.i    N(   u   TestCase(   u   support(   u	   time2isozu	   http2timeu   time2netscapeu   parse_ns_headersu   join_header_wordsu   split_header_wordsu   Cookieu	   CookieJaru   DefaultCookiePolicyu   LWPCookieJaru   MozillaCookieJaru	   LoadErroru   lwp_cookie_stru   DEFAULT_HTTP_PORTu   escape_pathu   reachu   is_HDNu   domain_matchu   user_domain_matchu   request_pathu   request_portu   request_hostc             B   s2   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d S(   c             C   sÎ   d } d } |  j  t | ƒ d ƒ |  j  t | | ƒ d ƒ |  j  t | d | ƒ d ƒ |  j  t | d | ƒ d	 ƒ t ƒ  } t d
 ƒ } x: | | f D], } |  j t j d | ƒ d | | f ƒ qš Wd  S(   Nix+À<i   i  u   2002-04-19 14:36:40Zu   2002-04-20 14:36:40Zi   u   2002-04-21 14:36:40Zi   u   2002-04-22 14:36:40Zi ¡ u!   ^\d{4}-\d\d-\d\d \d\d:\d\d:\d\dZ$u   bad time2isoz format: %s %si€Q (   u   assertEqualsu	   time2isozu   assert_u   reu   search(   u   selfu   baseu   dayu   azu   bzu   text(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_time2isoz   s    	 c             C   sO   d „  } |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ |  j  | d ƒ d ƒ d  S(   Nc             S   s   t  j t |  ƒ ƒ d  d … S(   Ni   (   u   timeu   gmtimeu	   http2time(   u   text(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu
   parse_date    s    u   01 Jan 2001iÑ  i   i    g        u	   03-Feb-20iä  i   i   u	   03-Feb-98iÎ  (   iÑ  i   i   i    i    g        (   iä  i   i   i    i    g        (   iÎ  i   i   i    i    g        (   u   assertEquals(   u   selfu
   parse_date(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_http2time   s    	c       	      C   sð   d d d d d d d d d	 d
 d d d g } d } t  | ƒ } d } |  j | | d | | | f ƒ x„ | D]| } t | ƒ } t | j ƒ  ƒ } t | j ƒ  ƒ } |  j | | k o | k o
 | k n d | | | | | f ƒ ql Wd  S(   Nu   Thu, 03 Feb 1994 00:00:00 GMTu    Thursday, 03-Feb-94 00:00:00 GMTu"   Thursday, 03-Feb-1994 00:00:00 GMTu   03 Feb 1994 00:00:00 GMTu   03-Feb-94 00:00:00 GMTu   03-Feb-1994 00:00:00 GMTu   03-Feb-1994 00:00 GMTu   03-Feb-1994 00:00u	   03-Feb-94u   03-Feb-1994u   03 Feb 1994u     03   Feb   1994  0:00  u     03-Feb-1994  i€>P-u   1994-02-03 00:00:00Zu   %s  =>  '%s' (%s)u   '%s'  =>  %s, %s, %s (%s)(   u	   time2isozu   assertEqualsu	   http2timeu   loweru   upperu   assert_(	   u   selfu   testsu   test_tu   resultu   expectedu   su   tu   t2u   t3(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_http2time_formats+   s2    	 ,c          
   C   s_   xX d d d d d d d d d	 d
 g
 D]2 } |  j  t | ƒ d  k d | t | ƒ f ƒ q% Wd  S(   Nu    u   Garbageu   Mandag 16. September 1996u
   01-00-1980u
   01-13-1980u
   00-01-1980u
   32-01-1980u   01-01-1980 25:00:00u   01-01-1980 00:61:00u   01-01-1980 00:00:62u,   http2time(%s) is not None
http2time(test) %s(   u   assert_u	   http2timeu   None(   u   selfu   test(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_http2time_garbageP   s     N(   u   __name__u
   __module__u   test_time2isozu   test_http2timeu   test_http2time_formatsu   test_http2time_garbage(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   DateTimeTests   s   
			%u   DateTimeTestsc             B   s;   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sF   d	 d
 d g g } x- d d g D] } |  j  t | g ƒ | ƒ q Wd  S(   Nu   foou   baru   expiresl   d9W u   versionu   0u)   foo=bar; expires=01 Jan 2040 22:23:32 GMTu+   foo=bar; expires="01 Jan 2040 22:23:32 GMT"(   u   foou   bar(   u   expiresl   d9W (   u   versionu   0(   u   assertEqualsu   parse_ns_headers(   u   selfu   expectedu   hdr(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_parse_ns_headersd   s     c             C   s2   d } d d g g } |  j  t | g ƒ | ƒ d  S(   Nu    expires=01 Jan 2040 22:23:32 GMTu   expiresu   01 Jan 2040 22:23:32 GMTu   versionu   0(   u   expiresu   01 Jan 2040 22:23:32 GMT(   u   versionu   0(   u   assertEqualsu   parse_ns_headers(   u   selfu   hdru   expected(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu#   test_parse_ns_headers_special_namesm   s    c             C   sB   t  d d g g ƒ } |  j | d ƒ |  j t  g  g ƒ d ƒ d  S(   Nu   foou   baru   bazu   foo; bar=bazu    (   u   fooN(   u   baru   baz(   u   join_header_wordsu   Noneu   assertEquals(   u   selfu   joined(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_join_header_wordsu   s    c             C   s–  d d g g f d d g g f d d g g f d d g g f d d g g f d d g g f d	 d  d! g g f d d" d# g g f d d$ g g f d d% d& g g f d d' d( d) g g f d d* g d+ g d, g g f d d- d. g d/ g d0 g d1 g g f g } x– | D]Ž \ } } y t | g ƒ } WnL d d  l } d d  l } | j ƒ  } | j d  | ƒ d | j ƒ  } Yn X|  j | | d | | | f ƒ q Wd  S(2   Nu   foou   foo=baru   baru	      foo   u
      foo=   u    u      foo=u      foo=   ; u      foo=   ; bar= baz u   bazu   foo=bar bar=bazu   foo= bar=bazu   bar=bazu   foo=bar;bar=bazu   foo bar bazu   a, b, cu   au   bu   cu(   foo; bar=baz, spam=, foo="\,\;\"", bar= u   spamu   ,;"i    u    (error -- traceback follows)

%su:   
When parsing: '%s'
Expected:     '%s'
Got:          '%s'
(   u   fooN(   u   foou   bar(   u   fooN(   u   foou    (   u   foou    (   u   foou    (   u   foou    (   u   baru   baz(   u   foou   bar(   u   baru   baz(   u   foou   bar=baz(   u   foou   bar(   u   baru   baz(   u   fooN(   u   barN(   u   bazN(   u   aN(   u   bN(   u   cN(   u   fooN(   u   baru   baz(   u   spamu    (   u   foou   ,;"(   u   baru    (   u   Noneu   split_header_wordsu	   tracebacku   iou   StringIOu	   print_excu   getvalueu   assertEquals(   u   selfu   testsu   argu   expectu   resultu	   tracebacku   iou   f(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_split_header_words{   s4    	 c             C   s†   d d d d d d d d d  d! d" d# d$ g } xR | D]J \ } } t  | g ƒ } t | ƒ } |  j | | d | | | | f ƒ q4 Wd  S(%   Nu   foou   foo=baru	      foo   u   foo=u   foo=""u   foo=bar bar=bazu   foo=bar; bar=bazu   foo=bar;bar=bazu   foo bar bazu   foo; bar; bazu   foo="\"" bar="\\"u   foo="\""; bar="\\"u	   foo,,,baru   foo, baru   foo=bar,bar=bazu   foo=bar, bar=bazu   text/html; charset=iso-8859-1u   text/html; charset="iso-8859-1"u)   foo="bar"; port="80,81"; discard, bar=bazu'   foo=bar; port="80,81"; discard, bar=bazu   Basic realm="\"foo\\\\bar\""u   Basic; realm="\"foo\\\\bar\""uM   
When parsing: '%s'
Expected:     '%s'
Got:          '%s'
Input was:    '%s'
(   u   foou   foo(   u   foo=baru   foo=bar(   u	      foo   u   foo(   u   foo=u   foo=""(   u   foo=bar bar=bazu   foo=bar; bar=baz(   u   foo=bar;bar=bazu   foo=bar; bar=baz(   u   foo bar bazu   foo; bar; baz(   u   foo="\"" bar="\\"u   foo="\""; bar="\\"(   u	   foo,,,baru   foo, bar(   u   foo=bar,bar=bazu   foo=bar, bar=baz(   u   text/html; charset=iso-8859-1u   text/html; charset="iso-8859-1"(   u)   foo="bar"; port="80,81"; discard, bar=bazu'   foo=bar; port="80,81"; discard, bar=baz(   u   Basic realm="\"foo\\\\bar\""u   Basic; realm="\"foo\\\\bar\""(   u   split_header_wordsu   join_header_wordsu   assertEquals(   u   selfu   testsu   argu   expectu   inputu   res(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_roundtrip   s,       	 N(   u   __name__u
   __module__u   test_parse_ns_headersu#   test_parse_ns_headers_special_namesu   test_join_header_wordsu   test_split_header_wordsu   test_roundtrip(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   HeaderTestsc   s
   
					"u   HeaderTestsc             B   s&   |  Ee  Z g  d d  „ Z d „  Z d S(   c             C   s4   d d l  } | j d j | ƒ ƒ |  _ | |  _ d S(   uD   
        headers: list of RFC822-style 'Key: value' strings
        i    Nu   
(   u   emailu   message_from_stringu   joinu   _headersu   _url(   u   selfu   headersu   urlu   email(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   __init__À   s    c             C   s   |  j  S(   N(   u   _headers(   u   self(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   infoÇ   s    N(   u   __name__u
   __module__u   Noneu   __init__u   info(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   FakeResponse¿   s   
u   FakeResponsec             G   s   t  |  | | d ƒ S(   Nu   Set-Cookie2(   u	   _interact(   u	   cookiejaru   urlu   set_cookie_hdrs(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   interact_2965É   s    c             G   s   t  |  | | d ƒ S(   Nu
   Set-Cookie(   u	   _interact(   u	   cookiejaru   urlu   set_cookie_hdrs(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   interact_netscapeÌ   s    c       	      C   s‚   t  j j | ƒ } |  j | ƒ | j d d ƒ } g  } x% | D] } | j d | | f ƒ q> Wt | | ƒ } |  j | | ƒ | S(   uD   Perform a single request / response cycle, returning Cookie: header.u   Cookieu    u   %s: %s(   u   urllibu   requestu   Requestu   add_cookie_headeru
   get_headeru   appendu   FakeResponseu   extract_cookies(	   u	   cookiejaru   urlu   set_cookie_hdrsu   hdr_nameu   requ
   cookie_hdru   headersu   hdru   res(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu	   _interactÏ   s     c             B   s    |  Ee  Z d  „  Z d „  Z d S(   c             C   sÉ   t  j } t ƒ  } t | d d ƒ |  j | j d d d j d  ƒ z3 | j | d d ƒt ƒ  } | j
 | d d ƒWd  y t j | ƒ Wn t k
 o Yn XX|  j | j d d d j d  ƒ d  S(   Nu   http://www.acme.com/u   boou   www.acme.comu   /u   ignore_discardT(   u   supportu   TESTFNu   LWPCookieJaru   interact_netscapeu   assertEqualu   _cookiesu   valueu   Noneu   saveu   Trueu   loadu   osu   unlinku   OSError(   u   selfu   filenameu   c(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_lwp_valueless_cookieÝ   s    		"	  c             C   s  t  j } x{ t t f D]m } | ƒ  } y | j d d ƒ Wn: t k
 o. } z |  j | j t ƒ WYd  d  } ~ Xq X|  j d ƒ q WzV t	 | d ƒ } | j
 d ƒ x3 t t f D]% } | ƒ  } |  j t | j | ƒ q³ WWd  y t j | ƒ Wn t k
 o Yn XXd  S(   Nu   filenameuA   for this test to work, a file with this filename should not existu%   expected IOError for invalid filenameu   wu   oops
(   u   supportu   TESTFNu   LWPCookieJaru   MozillaCookieJaru   loadu   IOErroru   assertEqualu	   __class__u   failu   openu   writeu   assertRaisesu	   LoadErroru   osu   unlinku   OSError(   u   selfu   filenameu   cookiejar_classu   cu   excu   f(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_bad_magicì   s(    	 	' 	  N(   u   __name__u
   __module__u   test_lwp_valueless_cookieu   test_bad_magic(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   FileCookieJarTestsÜ   s   
	u   FileCookieJarTestsc             B   s  |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   s¡   t  ƒ  } x‘ d d d d d d d d d d d d  d! d" d# d$ g D]Y \ } } } t j j | ƒ } | j | | ƒ } | o |  j | ƒ q@ |  j | ƒ q@ Wd  S(%   Nu   http://foo.bar.com/u   blah.comu   rhubarb.blah.comu   rhubarb.foo.bar.comu   .foo.bar.comu   foo.bar.comu   .bar.comu   comu   http://foo.com/u   rhubarb.foo.comu   .foo.comu   foo.comu   http://foo/u   rhubarb.foou   .foou   foou	   foo.localu   .localF(   u   http://foo.bar.com/u   blah.comF(   u   http://foo.bar.com/u   rhubarb.blah.comF(   u   http://foo.bar.com/u   rhubarb.foo.bar.comFT(   u   http://foo.bar.com/u   .foo.bar.comT(   u   http://foo.bar.com/u   foo.bar.comT(   u   http://foo.bar.com/u   .bar.comT(   u   http://foo.bar.com/u   comT(   u   http://foo.com/u   rhubarb.foo.comF(   u   http://foo.com/u   .foo.comT(   u   http://foo.com/u   foo.comT(   u   http://foo.com/u   comT(   u   http://foo/u   rhubarb.fooF(   u   http://foo/u   .fooT(   u   http://foo/u   fooT(   u   http://foo/u	   foo.localT(   u   http://foo/u   .localT(   u   DefaultCookiePolicyu   Falseu   Trueu   urllibu   requestu   Requestu   domain_return_oku   assert_(   u   selfu   polu   urlu   domainu   oku   requestu   r(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_domain_return_ok4  s0    	  c             C   se  t  j } t | ƒ } t | d d ƒ t | d d ƒ | j d d d } |  j | j d  k ƒ |  j | j	 d ƒ | j d d d } |  j | j d  k ƒ |  j | j	 d ƒ |  j t
 | ƒ d ƒ t | ƒ } | j d	 d d
 d ƒ z& t | ƒ } | j d	 d d
 d ƒ Wd  t j | j ƒ X|  j t | ƒ t j d d | ƒ ƒ |  j t | d ƒ d ƒ d  S(   Nu   http://www.acme.com/u   eggsu   "spam"; path=/foo/u   www.acme.comu   /u   /foo/u   "spam"uJ   "spam"; path="/foo/"; domain="www.acme.com"; path_spec; discard; version=0u   ignore_expiresu   ignore_discardu   path_specified=%su   http://www.acme.com/foo/u   "spam"; eggsTu   path_specified=TrueFu   path_specified=False(   u   supportu   TESTFNu   MozillaCookieJaru   interact_netscapeu   _cookiesu   assert_u   valueu   Noneu   assertEqualsu   nameu   lwp_cookie_stru   repru   saveu   Trueu   revertu   osu   unlinku   filenameu   reu   subu   False(   u   selfu   filenameu   cu   cookieu   old_str(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_missing_valueR  s0    		
c             C   sú   xó d d d d d d g D]Ù \ } } } t d | d | ƒ } t | ƒ } t | d d ƒ y | j d d d	 } Wn' t k
 o |  j | d  k ƒ Yq X|  j	 | j
 | ƒ t | d d
 ƒ | o, | j d d d } |  j	 | j
 d ƒ q q Wd  S(   Ni    i   u   rfc2109_as_netscapeu   rfc2965u   http://www.example.com/u   ni=ni; Version=1u   www.example.comu   /u   niu   foo=bar; Version=1u   fooF(   NFi    T(   NTi   (   FFN(   FTi   (   TFi    (   TTi    (   u   Noneu   Falseu   Trueu   DefaultCookiePolicyu	   CookieJaru   interact_netscapeu   _cookiesu   KeyErroru   assert_u   assertEqualu   versionu   interact_2965(   u   selfu   rfc2109_as_netscapeu   rfc2965u   versionu   policyu   cu   cookieu
   cookie2965(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_rfc2109_handlingr  s.     		c             C   sÎ  t  ƒ  } t | d d ƒ t | d d ƒ t | d d ƒ t | d d ƒ t | d d ƒ | j d d	 d
 } |  j | j d ƒ |  j | j ƒ |  j | j t ƒ |  j | j	 ƒ |  j | j
 d ƒ o | j
 d ƒ ƒ | j d d	 d } |  j | j d ƒ |  j | j ƒ |  j | j d ƒ |  j | j	 ƒ | j d d	 d } |  j | j d  k ƒ |  j | j	 ƒ | j d d	 d } | j d d	 d } |  j | j d  k ƒ |  j | j d  k ƒ d  S(   Nu   http://www.acme.com/u0   spam=eggs; DoMain=.acme.com; port; blArgh="feep"u   ni=ni; port=80,8080u   http://www.acme.com:80/u   nini=niu   foo=bar; expires=u-   spam=eggs; expires="Foo Bar 25 33:22:11 3022"u	   .acme.comu   /u   spamu   blArghu   blarghu   www.acme.comu   niu   80,8080u   niniu   foo(   u	   CookieJaru   interact_netscapeu   _cookiesu   assertEqualsu   domainu   assert_u   domain_specifiedu   portu   DEFAULT_HTTP_PORTu   port_specifiedu   has_nonstandard_attru   Noneu   expires(   u   selfu   cu   cookieu   foou   spam(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_ns_parser‘  s4    		c             C   sd   t  ƒ  } t | d d ƒ t | d d ƒ | j d d } |  j d | k ƒ |  j d | k ƒ d  S(   Nu   http://www.acme.com/u   expires=eggsu   version=eggs; spam=eggsu   www.acme.comu   /u   expiresu   version(   u	   CookieJaru   interact_netscapeu   _cookiesu   assert_(   u   selfu   cu   cookies(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_ns_parser_special_names´  s    	c             C   s   t  ƒ  } t t j ƒ  d ƒ } t | d d | ƒ |  j t | ƒ d ƒ t t j ƒ  d ƒ } t | d d | ƒ t | d ƒ } |  j t | ƒ d ƒ |  j d | k o
 d | k ƒ t | d d | ƒ t | d d	 | ƒ |  j t | ƒ d
 ƒ t | d d | ƒ t | d d | ƒ t | d ƒ } |  j t | ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ | j ƒ  |  j t | ƒ d ƒ |  j d | k ƒ d  S(   Ni  u   http://www.acme.com/u   spam="bar"; expires=%si   u   foo="eggs"; expires=%su
   spam="bar"u   foou   eggs="bar"; expires=%su   bar="bar"; expires=%si   u!   eggs="bar"; expires=%s; max-age=0u    bar="bar"; max-age=0; expires=%su   http://www.rhubarb.net/u   whum="fizz"i   (   u	   CookieJaru   time2netscapeu   timeu   interact_netscapeu   assertEqualsu   lenu   assert_u   clear_session_cookies(   u   selfu   cu   futureu   nowu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_expires¿  s6    	 
c             C   s·  t  d d ƒ } t | ƒ } t | d d ƒ |  j d | j d k ƒ t | ƒ } t | d d ƒ |  j d | j d k ƒ t | ƒ } t | d d ƒ |  j d	 | j d k ƒ t | ƒ } t | d
 d ƒ |  j d | j d k ƒ t ƒ  } t | d d ƒ |  j d | j d k ƒ t ƒ  } t | d d ƒ |  j d | j d k ƒ t ƒ  } t | d d ƒ |  j d | j d k ƒ t ƒ  } t | d
 d ƒ |  j d | j d k ƒ d  S(   Nu   rfc2965u   http://www.acme.com/u   spam="bar"; Version="1"u   /u   www.acme.comu   http://www.acme.com/blahu   eggs="bar"; Version="1"u    http://www.acme.com/blah/rhubarbu   /blah/u!   http://www.acme.com/blah/rhubarb/u   /blah/rhubarb/u
   spam="bar"u
   eggs="bar"u   /blahu   /blah/rhubarbT(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_2965u   assert_u   _cookiesu   interact_netscape(   u   selfu   polu   c(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_default_pathå  s6    						c             C   s[   d d d d d d d d d d d d g } x* | D]" \ } } |  j  t | ƒ | ƒ q1 Wd  S(   Nu   /foo%2f/baru   /foo%2F/baru
   /foo%%/baru   /fo%19o/baru   /fo%7do/baru   /fo%7Do/baru	   /foo/bar&u	   /foo//baru	   ~/foo/baru	   /foo/baru   /foo%19/baru	   /}foo/baru   /%7Dfoo/baru
   /foo/barÃ¼u   /foo/bar%C3%BCu   /foo/barê¯u   /foo/bar%EA%AF%8D(   u   /foo%2f/baru   /foo%2F/bar(   u   /foo%2F/baru   /foo%2F/bar(   u
   /foo%%/baru
   /foo%%/bar(   u   /fo%19o/baru   /fo%19o/bar(   u   /fo%7do/baru   /fo%7Do/bar(   u	   /foo/bar&u	   /foo/bar&(   u	   /foo//baru	   /foo//bar(   u	   ~/foo/baru	   ~/foo/bar(   u	   /foo/baru   /foo%19/bar(   u	   /}foo/baru   /%7Dfoo/bar(   u
   /foo/barÃ¼u   /foo/bar%C3%BC(   u   /foo/barê¯u   /foo/bar%EA%AF%8D(   u   assertEqualsu   escape_path(   u   selfu   casesu   argu   result(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_escape_path  s    	 c             C   s|   t  j j d ƒ } |  j t | ƒ d ƒ t  j j d ƒ } |  j t | ƒ d ƒ t  j j d ƒ } |  j t | ƒ d ƒ d  S(   NuS   http://www.example.com/rheum/rhaponicum;foo=bar;sing=song?apples=pears&spam=eggs#niu=   /rheum/rhaponicum;foo=bar;sing=song?apples=pears&spam=eggs#niuA   http://www.example.com/rheum/rhaponicum?apples=pears&spam=eggs#niu+   /rheum/rhaponicum?apples=pears&spam=eggs#niu   http://www.example.comu   /(   u   urllibu   requestu   Requestu   assertEqualsu   request_path(   u   selfu   req(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_request_path&  s    				c             C   sn   t  j j d d i d d 6ƒ} |  j t | ƒ d ƒ t  j j d d i d d 6ƒ} |  j t | ƒ t ƒ d  S(   Nu   http://www.acme.com:1234/u   headersu   www.acme.com:4321u   Hostu   1234u   http://www.acme.com/(   u   urllibu   requestu   Requestu   assertEqualsu   request_portu   DEFAULT_HTTP_PORT(   u   selfu   req(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_request_port7  s    c             C   sØ   t  j j d d i d d 6ƒ} |  j t | ƒ d ƒ t  j j d d i d d 6ƒ} |  j t | ƒ d ƒ t  j j d	 d i d d 6ƒ} |  j t | ƒ d ƒ t  j j d
 d i d d 6ƒ} |  j t | ƒ d ƒ d  S(   Nu   http://1.1.1.1/u   headersu   www.acme.com:80u   Hostu   1.1.1.1u   http://www.acme.com/u   irrelevant.comu   www.acme.comu   /resource.htmlu&   http://www.acme.com:2345/resource.htmlu   www.acme.com:5432(   u   urllibu   requestu   Requestu   assertEqualsu   request_host(   u   selfu   req(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_request_host?  s    c             C   s¢   |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ |  j  t d ƒ ƒ d  S(	   Nu   foo.bar.comu   1foo2.3bar4.5comu   192.168.1.1u    u   .u   .foo.bar.comu   ..foou   foo.(   u   assert_u   is_HDN(   u   self(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_is_HDNT  s    c             C   s´   |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d ƒ d ƒ |  j  t d	 ƒ d	 ƒ d  S(
   Nu   www.acme.comu	   .acme.comu   acme.comu
   acme.localu   .localu   .comu   .u    u   192.168.0.1(   u   assertEqualsu   reach(   u   self(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu
   test_reach^  s    c             C   s¾  |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d	 d
 ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ |  j  t d d ƒ ƒ d  S(   Nu   192.168.1.1u   .168.1.1u   x.y.comu   x.Y.comu   .Y.comu   Y.comu	   a.b.c.comu   .c.comu   example.localu   .localu	   blah.blahu    u   .rhubarb.rhubarbu   acme.comu	   .acme.comu   rhubarb.acme.comu   www.rhubarb.acme.comu   y.comu   .y.comu   .comu   comu   mu   .mu   .(   u   assert_u   domain_matchu   user_domain_match(   u   self(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_domain_matchh  s>    c             C   s3   t  ƒ  } t | d d ƒ |  j t | ƒ d ƒ d  S(   Nu   http://www.nasty.com/u)   foo=bar; domain=friendly.org; Version="1"i    (   u	   CookieJaru   interact_2965u   assertEqualsu   len(   u   selfu   c(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_wrong_domainŒ  s    		c             C   sŸ   t  d d ƒ } t d | ƒ } t | d d ƒ t | d d ƒ |  j t | ƒ d ƒ xD d d d	 d
 g D]0 } t | d | d ƒ |  j t | ƒ d ƒ qg Wd  S(   Nu   strict_domainu   policyu   http://example.co.uk/u   no=problemou!   okey=dokey; Domain=.example.co.uki   u   .co.uku   .org.zau   .tx.usu   .name.usu   http://example.%s/u   spam=eggs; Domain=.co.ukT(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_netscapeu   assertEqualsu   len(   u   selfu   cpu   cju
   pseudo_tld(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_strict_domain–  s    	 c             C   sž  t  ƒ  } t | d d ƒ |  j t | ƒ d ƒ |  j | j d d d j d ƒ |  j t | d ƒ d ƒ |  j t | d ƒ d ƒ t d	 t j ƒ } | j | ƒ |  j t | d ƒ d
 ƒ t | d d ƒ t | d d ƒ |  j t | ƒ d ƒ |  j | j d d d j d ƒ |  j | j d d d j d ƒ |  j t | d ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ d  S(   Nu   http://foo.net/u   ns=bari   u   foo.netu   /u   nsu   baru   http://www.foo.net/u   strict_ns_domainu    u   http://foo.net/foo/u   spam1=eggs; domain=foo.netu   http://foo.net/foo/bar/u   spam2=eggs; domain=.foo.neti   u   .foo.netu   /foou   spam1u   eggsu   /foo/baru   spam2u   spam2=eggs; spam1=eggs; ns=baru   nini="ni"; domain=.netu   http://foo.co.uku   nasty=trick; domain=.co.uki   (	   u	   CookieJaru   interact_netscapeu   assertEqualsu   lenu   _cookiesu   valueu   DefaultCookiePolicyu   DomainStrictNonDomainu
   set_policy(   u   selfu   cu   pol(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_two_component_domain_ns¤  s4    	"		c             C   sž  t  d d ƒ } t | ƒ } t | d d ƒ |  j t | ƒ d ƒ |  j | j d d d j d ƒ |  j t | d ƒ d	 ƒ |  j t | d
 ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ |  j t | d ƒ d	 ƒ t | d d ƒ |  j | j d d d j d ƒ |  j t | ƒ d ƒ |  j t | d ƒ d	 ƒ |  j t | d ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ t | d d ƒ |  j t | ƒ d ƒ d  S(   Nu   rfc2965u   http://foo.net/u   foo=bar; Version="1"i   u   foo.netu   /u   foou   baru   $Version=1; foo=baru   http://www.foo.net/u    u   http://foo.net/foou1   spam=eggs; domain=foo.net; path=/foo; Version="1"u   http://www.foo.net/foo/u&   spam=eggs; domain=foo.net; Version="1"u   .foo.netu   /foo/u   spamu   eggsi   u   http://foo.net/foo/u(   $Version=1; spam=eggs; $Domain="foo.net"u#   ni="ni"; domain=".net"; Version="1"u   http://foo.co.uk/u'   nasty=trick; domain=.co.uk; Version="1"i   T(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_2965u   assertEqualsu   lenu   _cookiesu   value(   u   selfu   polu   c(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu!   test_two_component_domain_rfc2965Ô  s8    "				c             C   s„  t  d t d d g d d g ƒ ƒ } t j j d ƒ } d g } t | d ƒ } | j | | ƒ |  j t | ƒ d ƒ t j j d	 ƒ } t | d	 ƒ } | j | | ƒ |  j t | ƒ d
 ƒ t j j d ƒ } t | d ƒ } | j | | ƒ |  j t | ƒ d
 ƒ t j j d ƒ } t | d ƒ } | j	 | | ƒ } | j
 | d ƒ |  j t | ƒ d ƒ | j | ƒ |  j | j d ƒ ƒ d  S(   Nu   policyu   blocked_domainsu   acme.comu   allowed_domainsu   www.acme.comu   http://acme.com/u*   Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/i    u   http://www.acme.com/i   u   http://www.coyote.com/i   u   Cookie(   u	   CookieJaru   DefaultCookiePolicyu   urllibu   requestu   Requestu   FakeResponseu   extract_cookiesu   assertEqualsu   lenu   make_cookiesu
   set_cookieu   add_cookie_headeru   assert_u
   has_header(   u   selfu   cu   requ   headersu   resu   cookies(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_domain_allow   s.    		c             C   s  t  d d d d g ƒ } t d | ƒ } d g } t j j d ƒ } t | d ƒ } | j | | ƒ |  j t	 | ƒ d ƒ | j
 d g ƒ } | j | | ƒ |  j t	 | ƒ d	 ƒ | j ƒ  t j j d
 ƒ } t | d
 ƒ } | j | | ƒ |  j t	 | ƒ d	 ƒ t j j d
 ƒ } | j | ƒ |  j | j d ƒ o | j d ƒ ƒ | j ƒ  | j
 d g ƒ | j | | ƒ |  j t	 | ƒ d	 ƒ t j j d ƒ } t | d ƒ } | j | | ƒ } | j | d ƒ |  j t	 | ƒ d ƒ | j | ƒ |  j | j d ƒ ƒ d  S(   Nu   rfc2965u   blocked_domainsu	   .acme.comu   policyu*   Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/u   http://www.acme.com/i    u   acme.comi   u   http://www.roadrunner.net/u   Cookieu   Cookie2i   T(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   urllibu   requestu   Requestu   FakeResponseu   extract_cookiesu   assertEqualsu   lenu   set_blocked_domainsu   clearu   add_cookie_headeru   assert_u
   has_headeru   make_cookiesu
   set_cookie(   u   selfu   polu   cu   headersu   requ   resu   pu   cookies(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_domain_block  s>    	

c             C   sü   xõ d D]í } xä d D]Ü } t ƒ  } | o t d d ƒ } t } d } n t d d ƒ } t } d } | j | ƒ d } | | | d | | f ƒ | | | d | | f ƒ |  j | j d d	 d
 j	 d ƒ |  j | j d d	 d j	 d ƒ q Wq Wd  S(   Nu    u    u   rfc2965u   ; Version=1u   http://www.acme.com/u   foo1=bar%s%su   foo2=bar%s; secure%su   www.acme.comu   /u   foo1u#   non-secure cookie registered secureu   foo2u#   secure cookie registered non-secureTF(   TF(   u    u    (
   u   Trueu   Falseu	   CookieJaru   DefaultCookiePolicyu   interact_netscapeu   interact_2965u
   set_policyu   assert_u   _cookiesu   secure(   u   selfu   nsu
   whitespaceu   cu   polu   intu   vsu   url(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_secureG  s,      	
c             C   sK   t  d t d d ƒ ƒ } t | d d ƒ t | d ƒ } |  j | d ƒ d  S(   Nu   policyu   rfc2965u   http://www.acme.com/u   foo=\b"a"r; Version=1u   $Version=1; foo=\\b\"a\"rT(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   assertEquals(   u   selfu   cu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_quote_cookie_value^  s    c             C   sz   d } t  t d d ƒ ƒ } t | | d ƒ t j j | ƒ } |  j t | ƒ d ƒ | j	 | ƒ |  j
 | j d ƒ ƒ d  S(   Nu   http://www.acme.comu   rfc2965u   foo=bar; Version=1i   u   CookieT(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   urllibu   requestu   Requestu   assertEqualsu   lenu   add_cookie_headeru   assert_u
   has_header(   u   selfu   urlu   cu   req(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_missing_final_slashd  s    c             C   sè   t  d d ƒ } t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ t | ƒ } d } t | | d	 ƒ t | | ƒ } |  j d
 | k d ƒ d  S(   Nu   rfc2965u   http://foo.bar.com/u   spam=eggs; Version=1u   Domainu*   absent domain returned with domain presentu%   spam=eggs; Version=1; Domain=.bar.comu   $Domain=".bar.com"u   domain not returnedu$   spam=eggs; Version=1; Domain=bar.comu   $Domain="bar.com"T(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_2965u   assert_(   u   selfu   polu   cu   urlu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_domain_mirrorn  s"    c             C   s¡   t  d d	 ƒ } t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ d  S(
   Nu   rfc2965u   http://foo.bar.com/u   spam=eggs; Version=1u   Pathu&   absent path returned with path presentu   spam=eggs; Version=1; Path=/u	   $Path="/"u   path not returnedT(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_2965u   assert_(   u   selfu   polu   cu   urlu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_path_mirror…  s    c             C   s5  t  d d ƒ } t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ t | ƒ } d } t | | d ƒ t | | ƒ } |  j t j d | ƒ d ƒ t | ƒ } d } t | | d	 ƒ t | | ƒ } |  j d
 | k d ƒ t | ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ d  S(   Nu   rfc2965u   http://foo.bar.com/u   spam=eggs; Version=1u   Portu&   absent port returned with port presentu   spam=eggs; Version=1; Portu   \$Port([^=]|$)u-   port with no value not returned with no valueu   spam=eggs; Version=1; Port="80"u
   $Port="80"u5   port with single value not returned with single valueu$   spam=eggs; Version=1; Port="80,8080"u   $Port="80,8080"u;   port with multiple values not returned with multiple valuesT(   u   DefaultCookiePolicyu   Trueu	   CookieJaru   interact_2965u   assert_u   reu   search(   u   selfu   polu   cu   urlu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_port_mirror•  s2    c             C   sT   t  t d d ƒ ƒ } d } t | | d ƒ t | | ƒ } |  j d | k d ƒ d  S(   Nu   rfc2965u   http://foo.bar.com/uf   spam=eggs; Version=1; Comment="does anybody read these?"; CommentURL="http://foo.bar.net/comment.html"u   Commentu:   Comment or CommentURL cookie-attributes returned to serverT(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   assert_(   u   selfu   cu   urlu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_no_return_commentµ  s    	c             C   sg  t  t d d ƒ ƒ } t | d d ƒ t | d d ƒ t | d d ƒ t | d d ƒ t | d d	 ƒ d
 d
 d
 d d
 g } d d d d d g } d d d d d g } d d d d d g } x§ t d ƒ D]™ } d } xŠ | D]‚ } |  j t | t ƒ ƒ |  j	 | j
 | | ƒ |  j	 | j | | ƒ |  j	 | j | | ƒ |  j	 | j | | ƒ | d
 } qÙ WqÆ Wd  S(   Nu   rfc2965u   http://blah.spam.org/ue   foo=eggs; Version=1; Comment="does anybody read these?"; CommentURL="http://foo.bar.net/comment.html"u   http://www.acme.com/blah/u   spam=bar; secureu   foo=bar; secure; Version=1u   foo=bar; path=/; Version=1u   http://www.sol.nous   bang=wallop; version=1; domain=".sol.no"; port="90,100, 80,8080"; max-age=100; Comment = "Just kidding! (\"|\\\\) "i   i    u   bangu   foou   spamu   .sol.nou   blah.spam.orgu   www.acme.comu   /u   /blahu   /blah/i   T(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   interact_netscapeu   rangeu   assert_u
   isinstanceu   Cookieu   assertEqualsu   versionu   nameu   domainu   path(   u   selfu   csu   versionsu   namesu   domainsu   pathsu   iu   c(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_Cookie_iteratorÀ  s2    				  c             C   sŒ   |  j  t d g ƒ d d d d g g ƒ |  j  t d	 g ƒ d d d g g ƒ |  j  t d g ƒ d d g g ƒ |  j  t d g ƒ g  ƒ d  S(   Nu   foo=bar; path=/; domainu   foou   baru   pathu   /u   domainu   versionu   0u)   foo=bar; expires=Foo Bar 12 33:22:11 2000u   expiresu    (   u   foou   bar(   u   pathu   /(   u   domainN(   u   versionu   0(   u   foou   bar(   u   expiresN(   u   versionu   0(   u   fooN(   u   versionu   0(   u   assertEqualsu   parse_ns_headersu   None(   u   self(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_parse_ns_headersà  s    c             C   s˜   d „  } xH d g d g d g d g g D]( } | | ƒ } |  j  t | ƒ d ƒ q( Wd g } | | ƒ } | j d d	 d
 } |  j | j d  k ƒ d  S(   Nc             S   s>   t  ƒ  } t j j d ƒ } t |  d ƒ } | j | | ƒ | S(   Nu   http://www.example.com/(   u	   CookieJaru   urllibu   requestu   Requestu   FakeResponseu   extract_cookies(   u   headersu   cu   requ   r(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   cookiejar_from_cookie_headersö  s
    	u   Set-Cookie: u   Set-Cookie2: u-   Set-Cookie2: a=foo; path=/; Version=1; domainu   Set-Cookie: b=foo; max-age=oopsi    u3   Set-Cookie: c=foo; expires=Foo Bar 12 33:22:11 2000u   www.example.comu   /u   c(   u   assertEqualsu   lenu   _cookiesu   assert_u   expiresu   None(   u   selfu   cookiejar_from_cookie_headersu   headersu   cu   cookie(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_bad_cookie_headerô  s    	
 	N(    u   __name__u
   __module__u   test_domain_return_oku   test_missing_valueu   test_rfc2109_handlingu   test_ns_parseru   test_ns_parser_special_namesu   test_expiresu   test_default_pathu   test_escape_pathu   test_request_pathu   test_request_portu   test_request_hostu   test_is_HDNu
   test_reachu   test_domain_matchu   test_wrong_domainu   test_strict_domainu   test_two_component_domain_nsu!   test_two_component_domain_rfc2965u   test_domain_allowu   test_domain_blocku   test_secureu   test_quote_cookie_valueu   test_missing_final_slashu   test_domain_mirroru   test_path_mirroru   test_port_mirroru   test_no_return_commentu   test_Cookie_iteratoru   test_parse_ns_headersu   test_bad_cookie_header(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   CookieTests  s<   
/		 		#		&	(					
	
	$	
		0	,		(			
			 		 	u   CookieTestsc             B   sz   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d S(   c             C   s2  t  j ƒ  d d } g  } t t d d ƒ ƒ } t j j d d i d d 6ƒ} | j d | ƒ t	 | d	 ƒ } | j
 | | ƒ t j j d	 ƒ } | j | ƒ |  j | j d
 ƒ d ƒ |  j | j d ƒ d ƒ | j d ƒ t	 | d	 ƒ } | j
 | | ƒ t j j d ƒ } | j | ƒ | j d
 ƒ } |  j d | k o
 d | k ƒ | j d ƒ t	 | d ƒ } | j
 | | ƒ t j j d	 ƒ } | j | ƒ | j d
 ƒ } |  j d | k o d | k o
 d | k ƒ t j j d ƒ } | j | ƒ | j d
 ƒ } |  j d | k o d | k o | j d ƒ ƒ d  S(   Ni    i   u   rfc2965u   http://www.acme.com:80/u   headersu   www.acme.com:80u   HostuV   Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/ ; expires=Wednesday, 09-Nov-%d 23:12:40 GMTu   http://www.acme.com/u   Cookieu   CUSTOMER=WILE_E_COYOTEu   Cookie2u   $Version="1"u4   Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/u   http://www.acme.com/foo/baru    PART_NUMBER=ROCKET_LAUNCHER_0001u%   Set-Cookie: SHIPPING=FEDEX; path=/foou   http://www.acme.comu   SHIPPING=FEDEXu   http://www.acme.com/foo/u   SHIPPING=FEDEX;T(   u   timeu	   localtimeu	   CookieJaru   DefaultCookiePolicyu   Trueu   urllibu   requestu   Requestu   appendu   FakeResponseu   extract_cookiesu   add_cookie_headeru   assertEqualu
   get_headeru   assert_u
   startswith(   u   selfu   year_plus_oneu   headersu   cu   requ   resu   h(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_netscape_example_1  sJ    %c             C   sö   t  ƒ  } g  } t j j d ƒ } | j d ƒ t | d ƒ } | j | | ƒ t j j d ƒ } | j | ƒ |  j | j	 d ƒ d ƒ | j d ƒ t | d ƒ } | j | | ƒ t j j d ƒ } | j | ƒ |  j
 t j d | j	 d ƒ ƒ ƒ d  S(   Nu   http://www.acme.com/u4   Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/u   Cookieu    PART_NUMBER=ROCKET_LAUNCHER_0001u6   Set-Cookie: PART_NUMBER=RIDING_ROCKET_0023; path=/ammou   http://www.acme.com/ammouB   PART_NUMBER=RIDING_ROCKET_0023;\s*PART_NUMBER=ROCKET_LAUNCHER_0001(   u	   CookieJaru   urllibu   requestu   Requestu   appendu   FakeResponseu   extract_cookiesu   add_cookie_headeru   assertEqualsu
   get_headeru   assert_u   reu   search(   u   selfu   cu   headersu   requ   res(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_netscape_example_2o  s$    	c             C   sö   t  t d d ƒ ƒ } t | d d ƒ } |  j | ƒ t | d d ƒ } |  j t j d | ƒ ƒ t | d d ƒ } |  j t j d	 | ƒ ƒ |  j t j d
 | ƒ ƒ |  j t j d | ƒ ƒ t | d ƒ } |  j t j d | ƒ o
 d | k ƒ d  S(   Nu   rfc2965u   http://www.acme.com/acme/loginu3   Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"u!   http://www.acme.com/acme/pickitemu=   Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"u=   ^\$Version="?1"?; Customer="?WILE_E_COYOTE"?; \$Path="/acme"$u!   http://www.acme.com/acme/shippingu+   Shipping="FedEx"; Version="1"; Path="/acme"u   ^\$Version="?1"?;u7   Part_Number="?Rocket_Launcher_0001"?;\s*\$Path="\/acme"u-   Customer="?WILE_E_COYOTE"?;\s*\$Path="\/acme"u    http://www.acme.com/acme/processu%   Shipping="?FedEx"?;\s*\$Path="\/acme"u   WILE_E_COYOTET(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   assert_u   reu   search(   u   selfu   cu   cookie(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_ietf_example_1¢  s*    			
		

c             C   sƒ   t  t d d
 ƒ ƒ } t | d d d ƒ t | d ƒ } |  j t j d | ƒ ƒ t | d ƒ } |  j d | k o
 d	 | k ƒ d  S(   Nu   rfc2965u&   http://www.acme.com/acme/ammo/specificu=   Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"u@   Part_Number="Riding_Rocket_0023"; Version="1"; Path="/acme/ammo"u!   http://www.acme.com/acme/ammo/...u(   Riding_Rocket_0023.*Rocket_Launcher_0001u   http://www.acme.com/acme/parts/u   Rocket_Launcher_0001u   Riding_Rocket_0023T(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   assert_u   reu   search(   u   selfu   cu   cookie(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_ietf_example_2  s    c             C   sh  t  d d ƒ } t d | ƒ } d } t | d d ƒ } |  j | ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d	 ƒ } |  j t | ƒ d ƒ t | d d
 ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t | d d ƒ } |  j t | ƒ d ƒ t j } zE | j	 | d d ƒt
 | ƒ } t d | ƒ } | j | d d ƒWd  y t j | ƒ Wn t k
 o Yn XX|  j | t
 | ƒ ƒ d  S(   Nu   rfc2965u   policyu   max-age=3600u   http://www.acme.comu!   foo=bar; domain=".com"; version=1u'   ping=pong; domain="acme.com"; version=1i   u   http://www.a.acme.comu'   whiz=bang; domain="acme.com"; version=1u,   wow=flutter; domain=".a.acme.com"; version=1i   u   http://125.125.125.125u*   zzzz=ping; domain="125.125.125"; version=1u   http://www.sol.nou6   blah=rhubarb; domain=".sol.no"; path="/foo"; version=1u   http://www.sol.no/foo/baru3   bing=bong; domain=".sol.no"; path="/foo"; version=1i   u5   whiz=ffft; domain=".sol.no"; port="90,100"; version=1us   bang=wallop; version=1; domain=".sol.no"; port="90,100, 80,8080"; max-age=100; Comment = "Just kidding! (\"|\\\\) "i   u9   foo9=bar; version=1; domain=".sol.no"; port; max-age=100;i   u   http://www.sol.no/<oo/u"   foo8=bar; version=1; path="/%3coo"i   u   ignore_discardT(   u   DefaultCookiePolicyu   Trueu   LWPCookieJaru   interact_2965u   assert_u   assertEqualsu   lenu   supportu   TESTFNu   saveu   repru   loadu   osu   unlinku   OSError(   u   selfu   polu   cu   max_ageu   cookieu   filenameu   old(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_rejectionJ  s`    																							  c             C   sŸ   t  t d d
 ƒ ƒ } t | d d ƒ t | d d ƒ } t j d t j ƒ } |  j d | k o | j | ƒ ƒ t | d ƒ } |  j | ƒ t | d	 ƒ } d  S(   Nu   rfc2965u7   http://www.acme.com/foo%2f%25/%3c%3c%0Anew%C3%A5/%C3%A5u   foo  =   bar; version    =   1u/   http://www.acme.com/foo%2f%25/<<%0anewÃ¥/Ã¦Ã¸Ã¥u    bar=baz; path="/foo/"; version=1u   ^\$version=\"?1\"?u   foo=baru-   http://www.acme.com/foo/%25/<<%0anewÃ¥/Ã¦Ã¸Ã¥u   http://www.acme.com/Ã¼T(	   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   reu   compileu   Iu   assert_u   search(   u   selfu   cu   cookieu
   version_re(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_url_encoding¥  s    		#c                s@  t  j ƒ  d d } t j ‰  t ˆ  d t d d ƒ ƒ} t | d d ƒ t | d d ƒ t | d d ƒ d	 | f } t | d
 d | ƒ t | d
 d | ƒ t | d
 d | ƒ ‡  f d †  } | | d ƒ } |  j	 t
 | ƒ d ƒ |  j d t | ƒ k ƒ | | d ƒ } |  j	 t
 | ƒ d ƒ |  j d t | ƒ k ƒ d  S(   Ni    i   u   policyu   rfc2965u   http://www.acme.com/u    foo1=bar; max-age=100; Version=1u4   foo2=bar; port="80"; max-age=100; Discard; Version=1u   foo3=bar; secure; Version=1u   expires=09-Nov-%d 23:12:40 GMTu   http://www.foo.com/u   fooa=bar; %su   foob=bar; Domain=.foo.com; %su    fooc=bar; Domain=www.foo.com; %sc                sl   z< |  j  d | ƒ t ˆ  t d d ƒ ƒ } | j d | ƒ Wd  y t j ˆ  ƒ Wn t k
 o Yn XX| S(   Nu   ignore_discardu   rfc2965T(   u   saveu   MozillaCookieJaru   DefaultCookiePolicyu   Trueu   loadu   osu   unlinku   OSError(   u   cju   ignore_discardu   new_c(   u   filename(    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   save_and_restoreÐ  s      i   u   name='foo1', value='bar'i   TF(   u   timeu	   localtimeu   supportu   TESTFNu   MozillaCookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   interact_netscapeu   assertEqualsu   lenu   assert_u   repru   False(   u   selfu   year_plus_oneu   cu   expiresu   save_and_restoreu   new_c(    (   u   filenameu5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_mozillaº  s.    							c             C   sÎ   t  ƒ  } g  } t j j d ƒ } | j d ƒ t | d ƒ } | j | | ƒ | j d ƒ t | d ƒ } | j | | ƒ t j j d ƒ } | j | ƒ |  j d | j	 d ƒ k o d | j	 d ƒ k ƒ d  S(   Nu   http://foo.bar.acme.com/foou4   Set-Cookie: Customer=WILE_E_COYOTE; domain=.acme.comu   http://www.acme.com/foou4   Set-Cookie: PART_NUMBER=3,4; domain=foo.bar.acme.comu   PART_NUMBER=3,4u   Cookieu   Customer=WILE_E_COYOTE(
   u	   CookieJaru   urllibu   requestu   Requestu   appendu   FakeResponseu   extract_cookiesu   add_cookie_headeru   assert_u
   get_header(   u   selfu   cu   headersu   requ   res(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_netscape_miscã  s    	c             C   s“   t  t d d	 ƒ ƒ } t | d d ƒ t | d d ƒ } |  j d | k ƒ t | d d ƒ t | d ƒ } |  j d | k o t | ƒ d k ƒ d  S(
   Nu   rfc2965u   http://example/u#   foo1=bar; PORT; Discard; Version=1;u$   foo2=bar; domain=".local"; Version=1u   foo1=baru   foo3=bar; Version=1u   foo2=bari   T(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   interact_2965u   assert_u   len(   u   selfu   cu   cookie(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_intranet_domains_2965û  s    			c             C   sœ   t  t d d ƒ ƒ } t | d d ƒ t | d d ƒ } |  j t | ƒ d ƒ |  j d | k ƒ t | d ƒ } |  j d | k ƒ |  j t | ƒ d ƒ d  S(   Nu   rfc2965u   http://example/u   foo1=baru   foo2=bar; domain=.locali   u   foo2=barF(   u	   CookieJaru   DefaultCookiePolicyu   Falseu   interact_netscapeu   assertEqualsu   lenu   assert_(   u   selfu   cu   cookie(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_intranet_domains_ns  s    		c             C   sÿ   t  t d d	 ƒ ƒ } g  } t j j d ƒ } | j d ƒ t | d ƒ } | j | | ƒ t j j d ƒ } | j	 | ƒ |  j
 | j d ƒ d ƒ |  j
 | j d ƒ d ƒ t j j d ƒ } | j	 | ƒ |  j
 | j d ƒ d ƒ |  j
 | j d ƒ d ƒ d  S(
   Nu   rfc2965u   http://www.ants.com/u,   Set-Cookie: JSESSIONID=ABCDERANDOM123; Path=u   Cookieu   JSESSIONID=ABCDERANDOM123u   Cookie2u   $Version="1"u   http://www.ants.com:8080T(   u	   CookieJaru   DefaultCookiePolicyu   Trueu   urllibu   requestu   Requestu   appendu   FakeResponseu   extract_cookiesu   add_cookie_headeru   assertEqualsu
   get_header(   u   selfu   cu   headersu   requ   res(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_empty_path  s     c       	      C   sk  t  j ƒ  d d } t j j d ƒ } g  } | j d ƒ | j d | ƒ | j d | ƒ | j d ƒ | j d ƒ t | d ƒ } t ƒ  } | j | | ƒ i d d	 6d d
 6d d 6d d 6} x- | D]% } d | j	 } | | d | | <qÆ W| j
 ƒ  x- | D]% } d | j	 } | | d | | <q W|  j | d
 | d k p | d	 d k p | d d k ƒ d  S(   Ni    i   u"   http://www.perlmeister.com/scriptsu$   Set-Cookie: s1=session;Path=/scriptsuW   Set-Cookie: p1=perm; Domain=.perlmeister.com;Path=/;expires=Fri, 02-Feb-%d 23:24:20 GMTu>   Set-Cookie: p2=perm;Path=/;expires=Fri, 02-Feb-%d 23:24:20 GMTu<   Set-Cookie: s2=session;Path=/scripts;Domain=.perlmeister.comu2   Set-Cookie2: s3=session;Version=1;Discard;Path="/"u   session_afteru
   perm_afteru   session_beforeu   perm_beforeu	   %s_beforeu   %s_after(   u   timeu	   localtimeu   urllibu   requestu   Requestu   appendu   FakeResponseu	   CookieJaru   extract_cookiesu   valueu   clear_session_cookiesu   assert_(	   u   selfu   year_plus_oneu   requ   headersu   resu   cu   counteru   cookieu   key(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   test_session_cookies3  s<    			

 
 N(   u   __name__u
   __module__u   test_netscape_example_1u   test_netscape_example_2u   test_ietf_example_1u   test_ietf_example_2u   test_rejectionu   test_url_encodingu   test_mozillau   test_netscape_miscu   test_intranet_domains_2965u   test_intranet_domains_nsu   test_empty_pathu   test_session_cookies(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   LWPCookieTests  s   
	[	3	r	6	[		)				u   LWPCookieTestsc             C   s   t  j t t t t t ƒ d  S(   N(   u   supportu   run_unittestu   DateTimeTestsu   HeaderTestsu   CookieTestsu   FileCookieJarTestsu   LWPCookieTests(   u   verbose(    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu	   test_main_  s    u   __main__u   verbose(.   u   __doc__u   reu   osu   timeu   urllib.requestu   urllibu   unittestu   TestCaseu   testu   supportu   http.cookiejaru	   time2isozu	   http2timeu   time2netscapeu   parse_ns_headersu   join_header_wordsu   split_header_wordsu   Cookieu	   CookieJaru   DefaultCookiePolicyu   LWPCookieJaru   MozillaCookieJaru	   LoadErroru   lwp_cookie_stru   DEFAULT_HTTP_PORTu   escape_pathu   reachu   is_HDNu   domain_matchu   user_domain_matchu   request_pathu   request_portu   request_hostu   DateTimeTestsu   HeaderTestsu   FakeResponseu   interact_2965u   interact_netscapeu	   _interactu   FileCookieJarTestsu   CookieTestsu   LWPCookieTestsu   Noneu	   test_mainu   __name__u   True(    (    (    u5   /mit/python/lib/python3.0/test/test_http_cookiejar.pyu   <module>   s*   0ŽT\
			)ÿ ÿ ÿ ÿ ÿ P	