Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_http_cookiejar.cpython-33.pyo

�
��fc@s�dZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z Gdd�dej!�Z"Gdd�dej!�Z#Gdd	�d	�Z$d
d�Z%dd
�Z&dd�Z'Gdd�dej!�Z(Gdd�dej!�Z)Gdd�dej!�Z*e+dd�Z,e-dkr�e,de.�ndS(uTests for http/cookiejar.py.iN(u	time2isozu	http2timeuiso2timeu
time2netscapeuparse_ns_headersujoin_header_wordsusplit_header_wordsuCookieu	CookieJaruDefaultCookiePolicyuLWPCookieJaruMozillaCookieJaru	LoadErrorulwp_cookie_struDEFAULT_HTTP_PORTuescape_pathureachuis_HDNudomain_matchuuser_domain_matchurequest_pathurequest_porturequest_hostcBsh|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS(u
DateTimeTestscCs�d}d
}|jt|�d�|jt||�d�|jt|d|�d�|jt|d|�d	�t�}td
�}x1||fD]#}|j|dd||f�q�WdS(Nix+�<iiu2002-04-19 14:36:40Zu2002-04-20 14:36:40Ziu2002-04-21 14:36:40Ziu2002-04-22 14:36:40Zi �u!^\d{4}-\d\d-\d\d \d\d:\d\d:\d\dZ$ubad time2isoz format: %s %si�Q(uassertEqualu	time2isozuassertRegex(uselfubaseudayuazubzutext((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_time2isozs	uDateTimeTests.test_time2isozcCsRdd�}|j|d�d�|j|d�d�|j|d�d�dS(NcSstjt|��dd�S(Ni(utimeugmtimeu	http2time(utext((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
parse_date#su0DateTimeTests.test_http2time.<locals>.parse_dateu01 Jan 2001i�iigu	03-Feb-20i�iiu	03-Feb-98i�(i�iiiig(i�iiiig(i�iiiig(uassertEqual(uselfu
parse_date((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_http2time"suDateTimeTests.test_http2timecCs�ddddddddd	d
ddd
dg}d}t|�}d}|j||d|||f�xq|D]i}|jt|�||�|jt|j��||j��|jt|j��||j��qoWdS(NuThu, 03 Feb 1994 00:00:00 GMTu Thursday, 03-Feb-94 00:00:00 GMTu"Thursday, 03-Feb-1994 00:00:00 GMTu03 Feb 1994 00:00:00 GMTu03-Feb-94 00:00:00 GMTu03-Feb-1994 00:00:00 GMTu03-Feb-1994 00:00 GMTu03-Feb-1994 00:00u02-Feb-1994 24:00u	03-Feb-94u03-Feb-1994u03 Feb 1994u  03   Feb   1994  0:00  u  03-Feb-1994  i�>P-u1994-02-03 00:00:00Zu%s  =>  '%s' (%s)(u	time2isozuassertEqualu	http2timeuloweruupper(uselfutestsutest_turesultuexpectedus((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_http2time_formats.s.	
%u$DateTimeTests.test_http2time_formatsc
CsYxRddddddddd	d
g
D],}|jt|�d|t|�f�q%WdS(NuuGarbageuMandag 16. September 1996u
01-00-1980u
01-13-1980u
00-01-1980u
32-01-1980u01-01-1980 25:00:00u01-01-1980 00:61:00u01-01-1980 00:00:62u,http2time(%s) is not None
http2time(test) %s(uassertIsNoneu	http2time(uselfutest((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_http2time_garbageRs
u$DateTimeTests.test_http2time_garbagecCsRdd�}|j|d�d�|j|d
�d
�|j|d�d�dS(NcSstjt|��dd�S(Ni(utimeugmtimeuiso2time(utext((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
parse_datedsu/DateTimeTests.test_iso2time.<locals>.parse_dateu19940203T141529Zi�iiiiiu1994-02-03 07:15:29 -0700u1994-02-03 19:45:29 +0530(i�iiiii(i�iiiii(i�iiiii(uassertEqual(uselfu
parse_date((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
test_iso2timecsuDateTimeTests.test_iso2timec
Cs�ddddddddd	d
g
}d}xq|D]i}|jt|�||�|jt|j��||j��|jt|j��||j��q1WdS(Nu1994-02-03 00:00:00 -0000u1994-02-03 00:00:00 +0000u1994-02-03 00:00:00u
1994-02-03u1994-02-03T00:00:00u19940203u1994-02-02 24:00:00u19940203T000000Zu
  1994-02-03 u  1994-02-03T00:00:00  i�>P-(uassertEqualuiso2timeuloweruupper(uselfutestsutest_tus((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_iso2time_formatsss	
%u#DateTimeTests.test_iso2time_formatscCs_xXddddddddd	d
ddgD],}|jt|�d
|t|�f�q+WdS(NuuGarbageu Thursday, 03-Feb-94 00:00:00 GMTu
1980-00-01u
1980-13-01u
1980-01-00u
1980-01-32u1980-01-01 25:00:00u1980-01-01 00:61:00u01-01-1980 00:00:62u01-01-1980T00:00:62u)19800101T250000Z1980-01-01 00:00:00 -2500u*iso2time(%s) is not None
iso2time(test) %s(uassertIsNoneuiso2time(uselfutest((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_iso2time_garbage�s 
u#DateTimeTests.test_iso2time_garbageN(
u__name__u
__module__u__qualname__utest_time2isozutest_http2timeutest_http2time_formatsutest_http2time_garbageu
test_iso2timeutest_iso2time_formatsutest_iso2time_garbage(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
DateTimeTestss$u
DateTimeTestscBs\|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S(uHeaderTestscCsFd	d
dgg}x-ddgD]}|jt|g�|�qWdS(Nufooubaruexpiresld9Wuversionu0u)foo=bar; expires=01 Jan 2040 22:23:32 GMTu+foo=bar; expires="01 Jan 2040 22:23:32 GMT"(ufooubar(uexpiresld9W(uversionu0(uassertEqualuparse_ns_headers(uselfuexpecteduhdr((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_parse_ns_headers�s

u!HeaderTests.test_parse_ns_headerscCsCddgg}x-ddgD]}|jt|g�|�qWdS(	Nufooubaruversionu1ufoo=bar; version="1"ufoo=bar; Version="1"(ufooubar(uversionu1(uassertEqualuparse_ns_headers(uselfuexpecteduhdr((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_parse_ns_headers_version�s

u)HeaderTests.test_parse_ns_headers_versioncCs2d}ddgg}|jt|g�|�dS(Nu expires=01 Jan 2040 22:23:32 GMTuexpiresu01 Jan 2040 22:23:32 GMTuversionu0(uexpiresu01 Jan 2040 22:23:32 GMT(uversionu0(uassertEqualuparse_ns_headers(uselfuhdruexpected((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu#test_parse_ns_headers_special_names�su/HeaderTests.test_parse_ns_headers_special_namescCsBtddgg�}|j|d�|jtgg�d�dS(Nufooubarubazufoo; bar=bazu(ufooN(ubarubaz(ujoin_header_wordsuNoneuassertEqual(uselfujoined((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_join_header_words�su"HeaderTests.test_join_header_wordscCs�ddggfddggfddggfddggfddggfddggfd	d d!ggfdd"d#ggfdd$ggfdd%d&ggfdd'd(d)ggfdd*gd+gd,ggfdd-d.gd/gd0gd1ggfg
}x�|D]�\}}yt|g�}WnLddl}ddl}|j�}|jd|�d|j�}YnX|j||d|||f�qWdS(2Nufooufoo=barubaru	   foo   u
   foo=   uu   foo=u   foo=   ; u   foo=   ; bar= baz ubazufoo=bar bar=bazufoo= bar=bazubar=bazufoo=bar;bar=bazufoo bar bazua, b, cuaubucu(foo; bar=baz, spam=, foo="\,\;\"", bar= uspamu,;"iu (error -- traceback follows)

%su:
When parsing: '%s'
Expected:     '%s'
Got:          '%s'
(ufooN(ufooubar(ufooN(ufoou(ufoou(ufoou(ufoou(ubarubaz(ufooubar(ubarubaz(ufooubar=baz(ufooubar(ubarubaz(ufooN(ubarN(ubazN(uaN(ubN(ucN(ufooN(ubarubaz(uspamu(ufoou,;"(ubaru(uNoneusplit_header_wordsu	tracebackuiouStringIOu	print_excugetvalueuassertEqual(uselfutestsuarguexpecturesultu	tracebackuiouf((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_split_header_words�s2	u#HeaderTests.test_split_header_wordscCs�ddddddddd d!d"d#d$g
}xR|D]J\}}t|g�}t|�}|j||d||||f�q4WdS(%Nufooufoo=baru	   foo   ufoo=ufoo=""ufoo=bar bar=bazufoo=bar; bar=bazufoo=bar;bar=bazufoo bar bazu
foo; bar; bazufoo="\"" bar="\\"ufoo="\""; bar="\\"u	foo,,,barufoo, barufoo=bar,bar=bazufoo=bar, bar=bazutext/html; charset=iso-8859-1utext/html; charset="iso-8859-1"u)foo="bar"; port="80,81"; discard, bar=bazu'foo=bar; port="80,81"; discard, bar=bazuBasic realm="\"foo\\\\bar\""uBasic; realm="\"foo\\\\bar\""uM
When parsing: '%s'
Expected:     '%s'
Got:          '%s'
Input was:    '%s'
(ufooufoo(ufoo=barufoo=bar(u	   foo   ufoo(ufoo=ufoo=""(ufoo=bar bar=bazufoo=bar; bar=baz(ufoo=bar;bar=bazufoo=bar; bar=baz(ufoo bar bazu
foo; bar; baz(ufoo="\"" bar="\\"ufoo="\""; bar="\\"(u	foo,,,barufoo, bar(ufoo=bar,bar=bazufoo=bar, bar=baz(utext/html; charset=iso-8859-1utext/html; charset="iso-8859-1"(u)foo="bar"; port="80,81"; discard, bar=bazu'foo=bar; port="80,81"; discard, bar=baz(uBasic realm="\"foo\\\\bar\""uBasic; realm="\"foo\\\\bar\""(usplit_header_wordsujoin_header_wordsuassertEqual(uselfutestsuarguexpectuinputures((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_roundtrip�s*	uHeaderTests.test_roundtripN(	u__name__u
__module__u__qualname__utest_parse_ns_headersutest_parse_ns_headers_versionu#test_parse_ns_headers_special_namesutest_join_header_wordsutest_split_header_wordsutest_roundtrip(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuHeaderTests�s	
"uHeaderTestscBs2|EeZdZgddd�Zdd�ZdS(uFakeResponsecCs4ddl}|jdj|��|_||_dS(uD
        headers: list of RFC822-style 'Key: value' strings
        iNu
(uemailumessage_from_stringujoinu_headersu_url(uselfuheadersuurluemail((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu__init__suFakeResponse.__init__cCs|jS(N(u_headers(uself((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuinfosuFakeResponse.infoN(u__name__u
__module__u__qualname__uNoneu__init__uinfo(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuFakeResponsesuFakeResponsecGst|||d�S(NuSet-Cookie2(u	_interact(u	cookiejaruurluset_cookie_hdrs((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
interact_2965su
interact_2965cGst|||d�S(Nu
Set-Cookie(u	_interact(u	cookiejaruurluset_cookie_hdrs((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuinteract_netscapesuinteract_netscapec	Cs�tjj|�}|j|�|jdd�}g}x%|D]}|jd||f�q>Wt||�}|j||�|S(uDPerform a single request / response cycle, returning Cookie: header.uCookieuu%s: %s(uurlliburequestuRequestuadd_cookie_headeru
get_headeruappenduFakeResponseuextract_cookies(	u	cookiejaruurluset_cookie_hdrsuhdr_nameurequ
cookie_hdruheadersuhdrures((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu	_interacts

u	_interactcBs,|EeZdZdd�Zdd�ZdS(uFileCookieJarTestscCs�tjj}t�}t|dd�|j|jdddjd�z3|j	|dd�t�}|j|dd�Wdytj
|�Wntk
r�YnXX|j|jdddjd�dS(Nuhttp://www.acme.com/uboouwww.acme.comu/uignore_discardT(utestusupportuTESTFNuLWPCookieJaruinteract_netscapeuassertEqualu_cookiesuvalueuNoneusaveuTrueuloaduosuunlinkuOSError(uselfufilenameuc((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_lwp_valueless_cookie$s	"	
u,FileCookieJarTests.test_lwp_valueless_cookiecCstjj}xyttfD]k}|�}y|jdd�Wn8tk
rv}z|j|jt	�WYdd}~XqX|j
d�qWz_t|d��J}|jd�x3ttfD]%}|�}|j
t	|j|�q�WWdQXWdytj|�Wntk
rYnXXdS(NufilenameuAfor this test to work, a file with this filename should not existu%expected OSError for invalid filenameuwuoops
(utestusupportuTESTFNuLWPCookieJaruMozillaCookieJaruloaduOSErroruassertIsNotu	__class__u	LoadErrorufailuopenuwriteuassertRaisesuosuunlink(uselfufilenameucookiejar_classucuexcuf((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_bad_magic3s$	&
	$
u!FileCookieJarTests.test_bad_magicN(u__name__u
__module__u__qualname__utest_lwp_valueless_cookieutest_bad_magic(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuFileCookieJarTests#suFileCookieJarTestscBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?S(@uCookieTestscCs�t�}x�dddddddddddd d!d"d#d$gD]V\}}}tjj|�}|j||�}|r�|j|�q@|j|�q@WdS(%Nuhttp://foo.bar.com/ublah.comurhubarb.blah.comurhubarb.foo.bar.comu.foo.bar.comufoo.bar.comu.bar.comucomuhttp://foo.com/urhubarb.foo.comu.foo.comufoo.comuhttp://foo/urhubarb.foou.fooufoou	foo.localu.localF(uhttp://foo.bar.com/ublah.comF(uhttp://foo.bar.com/urhubarb.blah.comF(uhttp://foo.bar.com/urhubarb.foo.bar.comFT(uhttp://foo.bar.com/u.foo.bar.comT(uhttp://foo.bar.com/ufoo.bar.comT(uhttp://foo.bar.com/u.bar.comT(uhttp://foo.bar.com/ucomT(uhttp://foo.com/urhubarb.foo.comF(uhttp://foo.com/u.foo.comT(uhttp://foo.com/ufoo.comT(uhttp://foo.com/ucomT(uhttp://foo/urhubarb.fooF(uhttp://foo/u.fooT(uhttp://foo/ufooT(uhttp://foo/u	foo.localT(uhttp://foo/u.localT(	uDefaultCookiePolicyuFalseuTrueuurlliburequestuRequestudomain_return_oku
assertTrueuassertFalse(uselfupoluurludomainuokurequestur((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_domain_return_ok|s.	u!CookieTests.test_domain_return_okcCs\tjj}t|�}t|dd�t|dd�|jddd}|j|j�|j|j	d�|jddd}|j|j�|j|j	d�|jt
|�d�t|�}|jd	dd
d�z&t|�}|jd	dd
d�Wdtj|j�X|jt|�tjdd|��|jt|d�d
�dS(Nuhttp://www.acme.com/ueggsu"spam"; path=/foo/uwww.acme.comu/u/foo/u"spam"uJ"spam"; path="/foo/"; domain="www.acme.com"; path_spec; discard; version=0uignore_expiresuignore_discardupath_specified=%suhttp://www.acme.com/foo/u"spam"; eggsTupath_specified=TrueFupath_specified=False(utestusupportuTESTFNuMozillaCookieJaruinteract_netscapeu_cookiesuassertIsNoneuvalueuassertEqualunameulwp_cookie_strureprusaveuTrueurevertuosuunlinkufilenameureusubuFalse(uselfufilenameucucookieuold_str((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_missing_value�s0	
uCookieTests.test_missing_valuec
Cs�x�d
dddddgD]�\}}}td|d|�}t|�}t|dd�y|jddd	}Wntk
r�|j|�YqX|j	|j
|�t|dd
�|r|jddd}|j	|j
d�qqWdS(Niiurfc2109_as_netscapeurfc2965uhttp://www.example.com/uni=ni; Version=1uwww.example.comu/uniufoo=bar; Version=1ufooF(NFiT(NTi(FFN(FTi(TFi(TTi(uNoneuFalseuTrueuDefaultCookiePolicyu	CookieJaruinteract_netscapeu_cookiesuKeyErroruassertIsNoneuassertEqualuversionu
interact_2965(uselfurfc2109_as_netscapeurfc2965uversionupolicyucucookieu
cookie2965((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_rfc2109_handling�s,	
	u!CookieTests.test_rfc2109_handlingcCs�t�}t|dd�t|dd�t|dd�t|dd�t|dd�|jdd	d
}|j|jd�|j|j�|j|jt�|j	|j
�|j|jd��|j	|jd��|jd
d	d}|j|jd
�|j	|j�|j|jd�|j|j
�|jd
d	d}|j|j�|j	|j
�|jd
d	d}|jd
d	d}|j|j
�|j|j
�dS(Nuhttp://www.acme.com/u0spam=eggs; DoMain=.acme.com; port; blArgh="feep"uni=ni; port=80,8080uhttp://www.acme.com:80/unini=niufoo=bar; expires=u-spam=eggs; expires="Foo Bar 25 33:22:11 3022"u	.acme.comu/uspamublArghublarghuwww.acme.comuniu80,8080uniniufoo(u	CookieJaruinteract_netscapeu_cookiesuassertEqualudomainu
assertTrueudomain_specifieduportuDEFAULT_HTTP_PORTuassertFalseuport_specifieduhas_nonstandard_attruassertIsNoneuexpires(uselfucucookieufoouspam((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_ns_parser�s4		uCookieTests.test_ns_parsercCs^t�}t|dd�t|dd�|jdd}|jd|�|jd|�dS(Nuhttp://www.acme.com/uexpires=eggsuversion=eggs; spam=eggsuwww.acme.comu/uexpiresuversion(u	CookieJaruinteract_netscapeu_cookiesuassertIn(uselfucucookies((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_ns_parser_special_names�s	u(CookieTests.test_ns_parser_special_namescCs�t�}ttj�d�}t|dd|�|jt|�d�ttj�d�}t|dd|�t|d�}|jt|�d�|jd|�|jd|�t|dd|�t|dd	|�|jt|�d
�t|dd|�t|dd|�t|d�}|jt|�d�t|d
d�|jt|�d�|j�|jt|�d�|jd|�dS(Niuhttp://www.acme.com/uspam="bar"; expires=%siufoo="eggs"; expires=%su
spam="bar"ufooueggs="bar"; expires=%subar="bar"; expires=%siu!eggs="bar"; expires=%s; max-age=0u bar="bar"; max-age=0; expires=%suhttp://www.rhubarb.net/uwhum="fizz"i(	u	CookieJaru
time2netscapeutimeuinteract_netscapeuassertEqualulenuassertInuassertNotInuclear_session_cookies(uselfucufutureunowuh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_expiress8	
uCookieTests.test_expirescCs�tdd�}t|�}t|dd�|jd|jd�t|�}t|dd�|jd|jd�t|�}t|dd�|jd	|jd�t|�}t|d
d�|jd|jd�t�}t|dd�|jd|jd�t�}t|dd
�|jd|jd�t�}t|dd
�|jd|jd�t�}t|d
d
�|jd|jd�dS(Nurfc2965uhttp://www.acme.com/uspam="bar"; Version="1"u/uwww.acme.comuhttp://www.acme.com/blahueggs="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(uDefaultCookiePolicyuTrueu	CookieJaru
interact_2965uassertInu_cookiesuinteract_netscape(uselfupoluc((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_default_path.s6						uCookieTests.test_default_pathcCsYt�}d}d}t|||�|jd|jd�|jt||�|�dS(Nuhttp://example.com/?spam/eggsu
eggs="bar"u/uexample.com(u	CookieJaruinteract_netscapeuassertInu_cookiesuassertEqual(uselfucjuuriuvalue((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_default_path_with_queryVs	u(CookieTests.test_default_path_with_queryc
Cs[ddddddddddddg}x*|D]"\}}|jt|�|�q1WdS(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(uassertEqualuescape_path(uselfucasesuarguresult((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_escape_path`s	uCookieTests.test_escape_pathcCs|tjjd�}|jt|�d�tjjd�}|jt|�d�tjjd�}|jt|�d�dS(NuThttp://www.example.com/rheum/rhaponticum;foo=bar;sing=song?apples=pears&spam=eggs#niu$/rheum/rhaponticum;foo=bar;sing=songuBhttp://www.example.com/rheum/rhaponticum?apples=pears&spam=eggs#niu/rheum/rhaponticumuhttp://www.example.comu/(uurlliburequestuRequestuassertEqualurequest_path(uselfureq((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_request_pathys				uCookieTests.test_request_pathcCsntjjddidd6�}|jt|�d�tjjddidd6�}|jt|�t�dS(Nuhttp://www.acme.com:1234/uheadersuwww.acme.com:4321uHostu1234uhttp://www.acme.com/(uurlliburequestuRequestuassertEqualurequest_portuDEFAULT_HTTP_PORT(uselfureq((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_request_port�suCookieTests.test_request_portcCs�tjjddidd6�}|jt|�d�tjjddidd6�}|jt|�d�tjjd	did
d6�}|jt|�d�dS(Nuhttp://1.1.1.1/uheadersuwww.acme.com:80uHostu1.1.1.1uhttp://www.acme.com/uirrelevant.comuwww.acme.comu&http://www.acme.com:2345/resource.htmluwww.acme.com:5432(uurlliburequestuRequestuassertEqualurequest_host(uselfureq((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_request_host�suCookieTests.test_request_hostcCs�|jtd��|jtd��|jtd��|jtd��|jtd��|jtd��|jtd��|jtd��dS(	Nufoo.bar.comu1foo2.3bar4.5comu192.168.1.1uu.u.foo.bar.comu..fooufoo.(u
assertTrueuis_HDNuassertFalse(uself((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_is_HDN�suCookieTests.test_is_HDNcCs�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd�d�|jtd	�d	�dS(
Nuwww.acme.comu	.acme.comuacme.comu
acme.localu.localu.comu.uu192.168.0.1(uassertEqualureach(uself((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu
test_reach�suCookieTests.test_reachcCs�|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtd	d
��|jtdd��|jtdd
��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��|jtdd��dS(Nu192.168.1.1u.168.1.1ux.y.comux.Y.comu.Y.comuY.comu	a.b.c.comu.c.comu
example.localu.localu	blah.blahuu.rhubarb.rhubarbuacme.comu	.acme.comurhubarb.acme.comuwww.rhubarb.acme.comuy.comu.y.comu.comucomumu.mu.(u
assertTrueudomain_matchuassertFalseuuser_domain_match(uself((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_domain_match�s>uCookieTests.test_domain_matchcCs3t�}t|dd�|jt|�d�dS(Nuhttp://www.nasty.com/u)foo=bar; domain=friendly.org; Version="1"i(u	CookieJaru
interact_2965uassertEqualulen(uselfuc((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_wrong_domain�s		uCookieTests.test_wrong_domaincCs�tdd
�}td|�}t|dd�t|dd�|jt|�d�xDddd	d
gD]0}t|d|d�|jt|�d�qgWdS(Nu
strict_domainupolicyuhttp://example.co.uk/uno=problemou!okey=dokey; Domain=.example.co.ukiu.co.uku.org.zau.tx.usu.name.usuhttp://example.%s/uspam=eggs; Domain=.co.ukT(uDefaultCookiePolicyuTrueu	CookieJaruinteract_netscapeuassertEqualulen(uselfucpucju
pseudo_tld((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_strict_domain�s	
uCookieTests.test_strict_domaincCs�t�}t|dd�|jt|�d�|j|jdddjd�|jt|d�d�|jt|d�d�td	tj�}|j|�|jt|d�d
�t|dd�t|d
d�|jt|�d�|j|jdddjd�|j|jdddjd�|jt|d
�d�t|dd�|jt|�d�t|dd�|jt|�d�dS(Nuhttp://foo.net/uns=bariufoo.netu/unsubaruhttp://www.foo.net/ustrict_ns_domainuuhttp://foo.net/foo/uspam1=eggs; domain=foo.netuhttp://foo.net/foo/bar/uspam2=eggs; domain=.foo.netiu.foo.netu/foouspam1ueggsu/foo/baruspam2uspam2=eggs; spam1=eggs; ns=barunini="ni"; domain=.netuhttp://foo.co.ukunasty=trick; domain=.co.uki(	u	CookieJaruinteract_netscapeuassertEqualulenu_cookiesuvalueuDefaultCookiePolicyuDomainStrictNonDomainu
set_policy(uselfucupol((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_two_component_domain_ns�s4	"
		u(CookieTests.test_two_component_domain_nscCs�tdd�}t|�}t|dd�|jt|�d�|j|jdddjd�|jt|d�d	�|jt|d
�d�t|dd
�|jt|�d�|jt|d�d	�t|dd�|j|jdddjd�|jt|�d�|jt|d�d	�|jt|d�d�t|dd�|jt|�d�t|dd�|jt|�d�dS(Nurfc2965uhttp://foo.net/ufoo=bar; Version="1"iufoo.netu/ufooubaru$Version=1; foo=baruhttp://www.foo.net/uuhttp://foo.net/foou1spam=eggs; domain=foo.net; path=/foo; Version="1"uhttp://www.foo.net/foo/u&spam=eggs; domain=foo.net; Version="1"u.foo.netu/foo/uspamueggsiuhttp://foo.net/foo/u($Version=1; spam=eggs; $Domain="foo.net"u#ni="ni"; domain=".net"; Version="1"uhttp://foo.co.uk/u'nasty=trick; domain=.co.uk; Version="1"iT(uDefaultCookiePolicyuTrueu	CookieJaru
interact_2965uassertEqualulenu_cookiesuvalue(uselfupoluc((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu!test_two_component_domain_rfc2965!s8"				u-CookieTests.test_two_component_domain_rfc2965cCs�tdtddgddg��}tjjd�}dg}t|d�}|j||�|jt|�d�tjjd	�}t|d	�}|j||�|jt|�d
�tjjd�}t|d�}|j||�|jt|�d
�tjjd�}t|d�}|j	||�}|j
|d�|jt|�d�|j|�|j|j
d
��dS(Nupolicyublocked_domainsuacme.comuallowed_domainsuwww.acme.comuhttp://acme.com/u*Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/iuhttp://www.acme.com/iuhttp://www.coyote.com/iuCookie(u	CookieJaruDefaultCookiePolicyuurlliburequestuRequestuFakeResponseuextract_cookiesuassertEqualulenumake_cookiesu
set_cookieuadd_cookie_headeruassertFalseu
has_header(uselfucurequheadersuresucookies((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_domain_allowMs.		
uCookieTests.test_domain_allowcCstddddg�}td|�}dg}tjjd�}t|d�}|j||�|jt	|�d�|j
dg�}|j||�|jt	|�d	�|j�tjjd
�}t|d
�}|j||�|jt	|�d	�tjjd
�}|j|�|j
|jd��|j
|jd��|j�|j
dg�|j||�|jt	|�d	�tjjd�}t|d�}|j||�}|j|d�|jt	|�d
�|j|�|j|jd��dS(Nurfc2965ublocked_domainsu	.acme.comupolicyu*Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/uhttp://www.acme.com/iuacme.comiuhttp://www.roadrunner.net/uCookieuCookie2iT(uDefaultCookiePolicyuTrueu	CookieJaruurlliburequestuRequestuFakeResponseuextract_cookiesuassertEqualulenuset_blocked_domainsuclearuadd_cookie_headeru
assertTrueu
has_headerumake_cookiesu
set_cookieuassertFalse(uselfupolucuheadersurequresupucookies((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_domain_blockls>	



uCookieTests.test_domain_blockcCs�x�dD]�}x�dD]�}t�}|rGtdd�}t}d}ntdd�}t}d}|j|�d}|||d||f�|||d||f�|j|jdd	d
j	d�|j
|jdd	dj	d
�qWqWdS(Nu uurfc2965u; Version=1uhttp://www.acme.com/ufoo1=bar%s%sufoo2=bar%s; secure%suwww.acme.comu/ufoo1u#non-secure cookie registered secureufoo2u#secure cookie registered non-secureTF(TF(u u(uTrueuFalseu	CookieJaruDefaultCookiePolicyuinteract_netscapeu
interact_2965u
set_policyuassertFalseu_cookiesusecureu
assertTrue(uselfunsu
whitespaceucupoluintuvsuurl((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_secure�s(

		
uCookieTests.test_securecCsKtdtdd��}t|dd�t|d�}|j|d�dS(Nupolicyurfc2965uhttp://www.acme.com/ufoo=\b"a"r; Version=1u$Version=1; foo=\\b\"a\"rT(u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uassertEqual(uselfucuh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_quote_cookie_value�su#CookieTests.test_quote_cookie_valuecCszd}ttdd��}t||d�tjj|�}|jt|�d�|j	|�|j
|jd��dS(Nuhttp://www.acme.comurfc2965ufoo=bar; Version=1iuCookieT(u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uurlliburequestuRequestuassertEqualulenuadd_cookie_headeru
assertTrueu
has_header(uselfuurlucureq((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_missing_final_slash�s
u$CookieTests.test_missing_final_slashcCs�tdd�}t|�}d}t||d�t||�}|jd|d�t|�}d}t||d�t||�}|jd|d�t|�}d}t||d	�t||�}|jd
|d�dS(Nurfc2965uhttp://foo.bar.com/uspam=eggs; Version=1uDomainu*absent domain returned with domain presentu%spam=eggs; Version=1; Domain=.bar.comu$Domain=".bar.com"udomain not returnedu$spam=eggs; Version=1; Domain=bar.comu$Domain="bar.com"T(uDefaultCookiePolicyuTrueu	CookieJaru
interact_2965uassertNotInuassertIn(uselfupolucuurluh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_domain_mirror�s"uCookieTests.test_domain_mirrorcCs�tdd	�}t|�}d}t||d�t||�}|jd|d�t|�}d}t||d�t||�}|jd|d�dS(
Nurfc2965uhttp://foo.bar.com/uspam=eggs; Version=1uPathu&absent path returned with path presentuspam=eggs; Version=1; Path=/u	$Path="/"upath not returnedT(uDefaultCookiePolicyuTrueu	CookieJaru
interact_2965uassertNotInuassertIn(uselfupolucuurluh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_path_mirror�suCookieTests.test_path_mirrorcCs#tdd�}t|�}d}t||d�t||�}|jd|d�t|�}d}t||d�t||�}|j|dd�t|�}d}t||d	�t||�}|jd
|d�t|�}d}t||d�t||�}|jd
|d�dS(Nurfc2965uhttp://foo.bar.com/uspam=eggs; Version=1uPortu&absent port returned with port presentuspam=eggs; Version=1; Portu\$Port([^=]|$)u-port with no value not returned with no valueuspam=eggs; Version=1; Port="80"u
$Port="80"u5port 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(uDefaultCookiePolicyuTrueu	CookieJaru
interact_2965uassertNotInuassertRegexuassertIn(uselfupolucuurluh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_port_mirror�s0uCookieTests.test_port_mirrorcCsQttdd��}d}t||d�t||�}|jd|d�dS(Nurfc2965uhttp://foo.bar.com/ufspam=eggs; Version=1; Comment="does anybody read these?"; CommentURL="http://foo.bar.net/comment.html"uCommentu:Comment or CommentURL cookie-attributes returned to serverT(u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uassertNotIn(uselfucuurluh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_no_return_commentsu"CookieTests.test_no_return_commentcCsattdd��}t|dd�t|dd�t|dd�t|dd�t|dd	�d
d
d
dd
g}dd
d
dd
g}dddddg}dddddg}x�td�D]�}d}x�|D]|}|j|t�|j|j	||�|j|j
||�|j|j||�|j|j||�|d
}q�Wq�WdS(Nurfc2965uhttp://blah.spam.org/uefoo=eggs; Version=1; Comment="does anybody read these?"; CommentURL="http://foo.bar.net/comment.html"uhttp://www.acme.com/blah/uspam=bar; secureufoo=bar; secure; Version=1ufoo=bar; path=/; Version=1uhttp://www.sol.nousbang=wallop; version=1; domain=".sol.no"; port="90,100, 80,8080"; max-age=100; Comment = "Just kidding! (\"|\\\\) "iiubangufoouspamu.sol.nou
blah.spam.orguwww.acme.comu/u/blahu/blah/iT(
u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uinteract_netscapeurangeuassertIsInstanceuCookieuassertEqualuversionunameudomainupath(uselfucsuversionsunamesudomainsupathsuiuc((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_Cookie_iterator
s.				
u CookieTests.test_Cookie_iteratorcCs�|jtdg�dd
ddgg�|jtd	g�dddgg�|jtdg�ddgg�|jtdg�g�dS(Nufoo=bar; path=/; domainufooubarupathu/udomainuversionu0u)foo=bar; expires=Foo Bar 12 33:22:11 2000uexpiresu(ufooubar(upathu/(udomainN(uversionu0(ufooubar(uexpiresN(uversionu0(ufooN(uversionu0(uassertEqualuparse_ns_headersuNone(uself((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_parse_ns_headers*su!CookieTests.test_parse_ns_headerscCs�dd�}xNdgdgdgdgdggD](}||�}|jt|�d�q1Wd	g}||�}|jd
dd}|j|j�dS(
NcSs>t�}tjjd�}t|d�}|j||�|S(Nuhttp://www.example.com/(u	CookieJaruurlliburequestuRequestuFakeResponseuextract_cookies(uheadersucurequr((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyucookiejar_from_cookie_headers@s
	uICookieTests.test_bad_cookie_header.<locals>.cookiejar_from_cookie_headersuSet-Cookie: u
Set-Cookie2: u-Set-Cookie2: a=foo; path=/; Version=1; domainuSet-Cookie: b=foo; max-age=oopsuSet-Cookie: b=foo; version=spamiu3Set-Cookie: c=foo; expires=Foo Bar 12 33:22:11 2000uwww.example.comu/uc(uassertEqualulenu_cookiesuassertIsNoneuexpires(uselfucookiejar_from_cookie_headersuheadersucucookie((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_bad_cookie_header>s	u"CookieTests.test_bad_cookie_headerN("u__name__u
__module__u__qualname__utest_domain_return_okutest_missing_valueutest_rfc2109_handlingutest_ns_parserutest_ns_parser_special_namesutest_expiresutest_default_pathutest_default_path_with_queryutest_escape_pathutest_request_pathutest_request_portutest_request_hostutest_is_HDNu
test_reachutest_domain_matchutest_wrong_domainutest_strict_domainutest_two_component_domain_nsu!test_two_component_domain_rfc2965utest_domain_allowutest_domain_blockutest_secureutest_quote_cookie_valueutest_missing_final_slashutest_domain_mirrorutest_path_mirrorutest_port_mirrorutest_no_return_commentutest_Cookie_iteratorutest_parse_ns_headersutest_bad_cookie_header(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuCookieTestsMs>/ #'(


$
0,(

 uCookieTestscBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS(uLWPCookieTestscCs;tj�dd}g}ttdd��}tjjddidd6�}|jd|�t	|d	�}|j
||�tjjd	�}|j|�|j|j
d
�d�|j|j
d�d
�|jd�t	|d	�}|j
||�tjjd�}|j|�|j
d
�}|jd|�|jd|�|jd�t	|d�}|j
||�tjjd	�}|j|�|j
d
�}|jd|�|jd|�|jd|�tjjd�}|j|�|j
d
�}|jd|�|jd|�|j|jd��dS(Niiurfc2965uhttp://www.acme.com:80/uheadersuwww.acme.com:80uHostuVSet-Cookie: CUSTOMER=WILE_E_COYOTE; path=/ ; expires=Wednesday, 09-Nov-%d 23:12:40 GMTuhttp://www.acme.com/uCookieuCUSTOMER=WILE_E_COYOTEuCookie2u$Version="1"u4Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/uhttp://www.acme.com/foo/baru PART_NUMBER=ROCKET_LAUNCHER_0001u%Set-Cookie: SHIPPING=FEDEX; path=/foouhttp://www.acme.comuSHIPPING=FEDEXuhttp://www.acme.com/foo/uSHIPPING=FEDEX;T(utimeu	localtimeu	CookieJaruDefaultCookiePolicyuTrueuurlliburequestuRequestuappenduFakeResponseuextract_cookiesuadd_cookie_headeruassertEqualu
get_headeruassertInuassertNotInu
assertTrueu
startswith(uselfu
year_plus_oneuheadersucurequresuh((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_netscape_example_1`sJ%





u&LWPCookieTests.test_netscape_example_1cCs�t�}g}tjjd�}|jd�t|d�}|j||�tjjd�}|j|�|j|j	d�d�|jd�t|d�}|j||�tjjd�}|j|�|j
|j	d�d�dS(Nuhttp://www.acme.com/u4Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/uCookieu PART_NUMBER=ROCKET_LAUNCHER_0001u6Set-Cookie: PART_NUMBER=RIDING_ROCKET_0023; path=/ammouhttp://www.acme.com/ammouBPART_NUMBER=RIDING_ROCKET_0023;\s*PART_NUMBER=ROCKET_LAUNCHER_0001(u	CookieJaruurlliburequestuRequestuappenduFakeResponseuextract_cookiesuadd_cookie_headeruassertEqualu
get_headeruassertRegex(uselfucuheadersurequres((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_netscape_example_2�s$	


u&LWPCookieTests.test_netscape_example_2cCs�ttdd��}t|dd�}|j|�t|dd�}|j|d�t|dd�}|j|d	�|j|d
�|j|d�t|d�}|j|d
�|jd|�dS(Nurfc2965uhttp://www.acme.com/acme/loginu3Customer="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"?;u7Part_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	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uassertFalseuassertRegexuassertIn(uselfucucookie((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_ietf_example_1�s"	
					u"LWPCookieTests.test_ietf_example_1cCszttdd
��}t|ddd�t|d�}|j|d�t|d�}|jd|�|jd	|�dS(Nurfc2965u&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_0001uhttp://www.acme.com/acme/parts/uRocket_Launcher_0001uRiding_Rocket_0023T(u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uassertRegexuassertInuassertNotIn(uselfucucookie((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_ietf_example_2^s
u"LWPCookieTests.test_ietf_example_2cCshtdd�}td|�}d}t|dd�}|j|�t|dd�}|jt|�d�t|dd	�}|jt|�d�t|dd
�}|jt|�d�t|dd
�}|jt|�d�t|dd�}|jt|�d�t|dd�}|jt|�d�t|dd�}|jt|�d�t|dd�}|jt|�d�t|dd�}|jt|�d�t|dd�}|jt|�d�tjj	}zE|j
|dd�t|�}td|�}|j|dd�Wdyt
j|�Wntk
rLYnXX|j|t|��dS(Nurfc2965upolicyumax-age=3600uhttp://www.acme.comu!foo=bar; domain=".com"; version=1u'ping=pong; domain="acme.com"; version=1iuhttp://www.a.acme.comu'whiz=bang; domain="acme.com"; version=1u,wow=flutter; domain=".a.acme.com"; version=1iuhttp://125.125.125.125u*zzzz=ping; domain="125.125.125"; version=1uhttp://www.sol.nou6blah=rhubarb; domain=".sol.no"; path="/foo"; version=1uhttp://www.sol.no/foo/baru3bing=bong; domain=".sol.no"; path="/foo"; version=1iu5whiz=ffft; domain=".sol.no"; port="90,100"; version=1usbang=wallop; version=1; domain=".sol.no"; port="90,100, 80,8080"; max-age=100; Comment = "Just kidding! (\"|\\\\) "iu9foo9=bar; version=1; domain=".sol.no"; port; max-age=100;iuhttp://www.sol.no/<oo/u"foo8=bar; version=1; path="/%3coo"iuignore_discardT(uDefaultCookiePolicyuTrueuLWPCookieJaru
interact_2965uassertFalseuassertEqualulenutestusupportuTESTFNusaveurepruloaduosuunlinkuOSError(uselfupolucumax_ageucookieufilenameuold((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_rejection�s`		
																				
uLWPCookieTests.test_rejectioncCs�ttdd
��}t|dd�t|dd�}tjdtj�}|jd|�|j||�t|d�}|j	|�t|d	�}dS(Nurfc2965u7http://www.acme.com/foo%2f%25/%3c%3c%0Anew%C3%A5/%C3%A5ufoo  =   bar; version    =   1u/http://www.acme.com/foo%2f%25/<<%0anewå/æøåu bar=baz; path="/foo/"; version=1u^\$version=\"?1\"?ufoo=baru-http://www.acme.com/foo/%25/<<%0anewå/æøåuhttp://www.acme.com/üT(
u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965ureucompileuIuassertInuassertRegexuassertFalse(uselfucucookieu
version_re((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_url_encoding�s		
u LWPCookieTests.test_url_encodingcs@tj�dd}tjj�t�dtdd��}t|dd�t|dd�t|dd�d	|f}t	|d
d|�t	|d
d|�t	|d
d
|��fdd�}||d�}|j
t|�d�|jdt
|��||d�}|j
t|�d�|jdt
|��dS(Niiupolicyurfc2965uhttp://www.acme.com/u foo1=bar; max-age=100; Version=1u4foo2=bar; port="80"; max-age=100; Discard; Version=1ufoo3=bar; secure; Version=1uexpires=09-Nov-%d 23:12:40 GMTuhttp://www.foo.com/ufooa=bar; %sufoob=bar; Domain=.foo.com; %su fooc=bar; Domain=www.foo.com; %scsjz<|jd|�t�tdd��}|jd|�Wdytj��Wntk
rdYnXX|S(Nuignore_discardurfc2965T(usaveuMozillaCookieJaruDefaultCookiePolicyuTrueuloaduosuunlinkuOSError(ucjuignore_discardunew_c(ufilename(u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyusave_and_restores
u5LWPCookieTests.test_mozilla.<locals>.save_and_restoreiuname='foo1', value='bar'iTF(utimeu	localtimeutestusupportuTESTFNuMozillaCookieJaruDefaultCookiePolicyuTrueu
interact_2965uinteract_netscapeuassertEqualulenuassertInurepruFalse(uselfu
year_plus_oneucuexpiresusave_and_restoreunew_c((ufilenameu=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_mozillas.			
			uLWPCookieTests.test_mozillacCs�t�}g}tjjd�}|jd�t|d�}|j||�|jd�t|d�}|j||�tjjd�}|j|�|jd|j	d��|jd|j	d��dS(Nuhttp://foo.bar.acme.com/foou4Set-Cookie: Customer=WILE_E_COYOTE; domain=.acme.comuhttp://www.acme.com/foou4Set-Cookie: PART_NUMBER=3,4; domain=foo.bar.acme.comuPART_NUMBER=3,4uCookieuCustomer=WILE_E_COYOTE(
u	CookieJaruurlliburequestuRequestuappenduFakeResponseuextract_cookiesuadd_cookie_headeruassertInu
get_header(uselfucuheadersurequres((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_netscape_misc-s	


u!LWPCookieTests.test_netscape_misccCs�ttdd	��}t|dd�t|dd�}|jd|�t|dd�t|d�}|jd|�|jt|�d�dS(
Nurfc2965uhttp://example/u#foo1=bar; PORT; Discard; Version=1;u$foo2=bar; domain=".local"; Version=1ufoo1=barufoo3=bar; Version=1ufoo2=bariT(u	CookieJaruDefaultCookiePolicyuTrueu
interact_2965uassertInuassertEqualulen(uselfucucookie((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_intranet_domains_2965Ds			u)LWPCookieTests.test_intranet_domains_2965cCs�ttdd��}t|dd�t|dd�}|jt|�d�|jd|�t|d�}|jd|�|jt|�d�dS(Nurfc2965uhttp://example/ufoo1=barufoo2=bar; domain=.localiufoo2=barF(u	CookieJaruDefaultCookiePolicyuFalseuinteract_netscapeuassertEqualulenuassertIn(uselfucucookie((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_intranet_domains_nsRs		u'LWPCookieTests.test_intranet_domains_nscCs�ttdd	��}g}tjjd�}|jd�t|d�}|j||�tjjd�}|j	|�|j
|jd�d�|j
|jd�d�tjjd�}|j	|�|j
|jd�d�|j
|jd�d�dS(
Nurfc2965uhttp://www.ants.com/u,Set-Cookie: JSESSIONID=ABCDERANDOM123; Path=uCookieuJSESSIONID=ABCDERANDOM123uCookie2u$Version="1"uhttp://www.ants.com:8080T(u	CookieJaruDefaultCookiePolicyuTrueuurlliburequestuRequestuappenduFakeResponseuextract_cookiesuadd_cookie_headeruassertEqualu
get_header(uselfucuheadersurequres((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_empty_path^s 


uLWPCookieTests.test_empty_pathc	Csmtj�dd}tjjd�}g}|jd�|jd|�|jd|�|jd�|jd�t|d�}t�}|j||�idd	6dd
6dd6dd6}x-|D]%}d
|j	}||d||<q�W|j
�x-|D]%}d|j	}||d||<qW|j|d
|d�|j|d	d�|j|dd�dS(Niiu"http://www.perlmeister.com/scriptsu$Set-Cookie: s1=session;Path=/scriptsuWSet-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.comu2Set-Cookie2: s3=session;Version=1;Discard;Path="/"u
session_afteru
perm_afterusession_beforeuperm_beforeu	%s_beforeu%s_after(
utimeu	localtimeuurlliburequestuRequestuappenduFakeResponseu	CookieJaruextract_cookiesuvalueuclear_session_cookiesuassertEqualuassertNotEqual(	uselfu
year_plus_oneurequheadersuresucucounterucookieukey((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyutest_session_cookies}s6
		

	






u#LWPCookieTests.test_session_cookiesN(u__name__u
__module__u__qualname__utest_netscape_example_1utest_netscape_example_2utest_ietf_example_1utest_ietf_example_2utest_rejectionutest_url_encodingutest_mozillautest_netscape_miscutest_intranet_domains_2965utest_intranet_domains_nsutest_empty_pathutest_session_cookies(u
__locals__((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyuLWPCookieTests]s[3p5[)uLWPCookieTestscCs tjjttttt�dS(N(utestusupporturun_unittestu
DateTimeTestsuHeaderTestsuCookieTestsuFileCookieJarTestsuLWPCookieTests(uverbose((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu	test_main�s	u	test_mainu__main__uverbose(/u__doc__uosureutest.supportutestutimeuunittestuurllib.requestuurllibuhttp.cookiejaru	time2isozu	http2timeuiso2timeu
time2netscapeuparse_ns_headersujoin_header_wordsusplit_header_wordsuCookieu	CookieJaruDefaultCookiePolicyuLWPCookieJaruMozillaCookieJaru	LoadErrorulwp_cookie_struDEFAULT_HTTP_PORTuescape_pathureachuis_HDNudomain_matchuuser_domain_matchurequest_pathurequest_porturequest_hostuTestCaseu
DateTimeTestsuHeaderTestsuFakeResponseu
interact_2965uinteract_netscapeu	_interactuFileCookieJarTestsuCookieTestsuLWPCookieTestsuNoneu	test_mainu__name__uTrue(((u=/opt/alt/python33/lib64/python3.3/test/test_http_cookiejar.pyu<module>s0��g

*�����M