WGSSKrSSKrSSKrSSKJr SSKrSSKJr SSKJ r "SS\R\ 5r "SS\R5r S r \S :Xa\R"5 gg) N)cookies)support)ExtraAssertionsc\rSrSrSrSrSr\R"S5S5r Sr Sr S r S r S rS rS rSrSrSrSrSrSrSrSrg) CookieTests c SSSS.SSS.SS S 0S S S.S S S0SSS.SSS0SSS.SSSSSS.SSRS5S./nUHn[R"5nURUS5 UR [ U5US 5 UR UR SS!9US"5 [US#R55H#upEUR X4RU5 M% M g)$Nzchips=ahoy; vienna=fingerahoyfinger)chipsviennaz,z0Set-Cookie: chips=ahoy Set-Cookie: vienna=finger)datadictreproutputz)keebler="E=mc2; L=\"Loves\"; fudge=\012;"keeblerzE=mc2; L="Loves"; fudge= ;z5z5Set-Cookie: keebler="E=mc2; L=\"Loves\"; fudge=\012;"z keebler=E=mc2zE=mc2zzSet-Cookie: keebler=E=mc2zkey:term=value:termzkey:termz value:termz%zSet-Cookie: key:term=value:termza=b; c=[; d=r; f=hb[rh)acdfz' )zSet-Cookie: a=bzSet-Cookie: c=[zSet-Cookie: d=rzSet-Cookie: f=hrr)seprr) joinr SimpleCookieload assertEqualrrsorteditemsvalue)selfcasescaseCkvs =/opt/alt/python313/lib64/python3.13/test/test_http_cookies.py test_basicCookieTests.test_basics+0$x8CJ L D"ABQQ S %'*62 4, <0<8:- cs<A))% 7& PD$$&A FF4<   T!Wd6l 3   QXX$X/h @tF|1134  Q/5 cSSS.SSS.SSS.SS S.S S S.S S S./nUHnURUSS9 [R"5nURUS5 USR S5SnUR XC5 UR X4RS5US5 SSS5 M g!,(df  M=f)Nz3key=value; expires=Saturday, 01-Jan-83 00:00:00 GMTz Saturday, 01-Jan-83 00:00:00 GMT)rrz1key=value; expires=Friday, 19-Nov-82 16:59:30 GMTzFriday, 19-Nov-82 16:59:30 GMTz1key=value; expires=Sunday, 06-Nov-94 08:49:37 GMTzSunday, 06-Nov-94 08:49:37 GMTz4key=value; expires=Wednesday, 09-Nov-94 08:49:37 GMTz!Wednesday, 09-Nov-94 08:49:37 GMTz1key=value; expires=Friday, 11-Nov-94 08:49:37 GMTzFriday, 11-Nov-94 08:49:37 GMTz1key=value; expires=Monday, 14-Nov-94 08:49:37 GMTzMonday, 14-Nov-94 08:49:37 GMTr)r=rexpiresr)subTestrrrsplitassertInr get)r$ test_casesr&r' cookie_names r* test_obsolete_rfc850_date_format,CookieTests.test_obsolete_rfc850_date_format?s N<  L: L:  O=  L:  L: 5 @D4<0((*tF|$#6l005a8  k-  !3!3I!>XO1000s A8B77 C c/SQnUHdup#URU5 [R"5nURU5 UR USR U5 SSS5 Mf g!,(df  Mx=f)N))za="b=\""b=")za="b=\\"b=\)za="b=\="zb==)za="b=\n"zb=n)z a="b=\042"r:)z a="b=\134"r;)z a="b=\377"ub=ÿ)z a="b=\400"zb=400)z a="b=\42"zb=42)z a="b=\\042"zb=\042)z a="b=\\134"zb=\134)z a="b=\\\""b=\")z a="b=\\\042"r<)z a="b=\134\""r<)za="b=\134\042"r<r)r1rrrr r#)r$r%encodeddecodedr's r* test_unquoteCookieTests.test_unquotemsd "!& Gg&((*w  3w7'&!&&&s AA00 A? cpucSnSHnURU5 SX!--S-n[R"5nURU5 USRnUR USSS5 UR USSS 5 UR [ U5US-5 SSS5 M g!,(df  M=f) Ni@B)z\\z\134za="b=z;"rr;z\;)r1rrrr#r len)r$nr=rr'r#s r*test_unquote_largeCookieTests.test_unquote_larges %Gg&*T1((*t #   rF3  rsU3  UQU3'&&&&s BB.. B= c[R"5nURS5 URUSRS5 URUSSS5 URUSSS5 URUR S/5S5 URUR 5S 5 URUR S/5S 5 g) Nz/Customer="WILE_E_COYOTE"; Version=1; Path=/acmeCustomer WILE_E_COYOTEversion1path/acme0Set-Cookie: Customer="WILE_E_COYOTE"; Path=/acme rrrr r#r js_outputr$r's r* test_loadCookieTests.test_loads  " @A :,,o> :y137 :v.8 6(+ > @ )   fX.1  r-c|[R"5nSUS'URURS/5S5 g)Nzsome,funky;stuffvalz(Set-Cookie: val="some\054funky\073stuff"rrr rrUs r*test_extended_encode CookieTests.test_extended_encodes9  "%% 5'* 8 :r-c[R"S5nSUSS'URUR5S5 [R"5nUR S5 UR USSS5 [R"5nUR S5 UR USSS 5 [R"S5nS USS 'UR UR5S 5 g) NCustomer="WILE_E_COYOTE"rrJr0GMTz3Customer="W"; expires=Wed, 01 Jan 2010 00:00:00 GMTzWed, 01 Jan 2010 00:00:00 GMTz1Customer="W"; expires=Wed, 01 Jan 98 00:00:00 GMTzWed, 01 Jan 98 00:00:00 GMT max-agez0Set-Cookie: Customer="WILE_E_COYOTE"; Max-Age=10)rrassertEndsWithrrr rUs r*test_special_attrsCookieTests.test_special_attrss  !; <#$* i  AHHJ.  " DE :y18 :  " BC :y16 8  !; <#%* i  K Mr-c[R"S5nSUSS'SUSS'URUR5S5 g)Nr^TrJsecurehttponlyz6Set-Cookie: Customer="WILE_E_COYOTE"; HttpOnly; SecurerZrUs r*test_set_secure_httponly_attrs*CookieTests.test_set_secure_httponly_attrssI  !; <"&* h$(* j!  D Fr-ct/SQnUHnURUS9 [R"S5nX#SS'URUR 5SU-5 [R"5nUR SU-5 URUSSU5 SSS5 M g!,(df  M=f)N)StrictLaxstrictlax)rYr^rJsamesitez1Set-Cookie: Customer="WILE_E_COYOTE"; SameSite=%sz%Customer="WILL_E_COYOTE"; SameSite=%s)r1rrr rr)r$samesite_valuesrYr's r*test_samesite_attrsCookieTests.test_samesite_attrss<"C#&(()CD,/* j)  G#MO((*>DE  :z!:C@'&#&&s BB(( B7 c[R"5nURS5 URUSS5 URUSS5 g)Nzeggs=scrambled; Path=/baconeggsrgrf)rrr assertFalserUs r*)test_secure_httponly_false_if_not_present5CookieTests.test_secure_httponly_false_if_not_presentsK  " ,- 6:./ 68,-r-c[R"5nURS5 URUSS5 URUSS5 g)Nz-eggs=scrambled; httponly; secure; Path=/baconrtrgrf)rrr assertTruerUs r*$test_secure_httponly_true_if_present0CookieTests.test_secure_httponly_true_if_presentsG  " >? & *-. & (+,r-c [R"5nURS5 URUSS5 URUSS5 UR USSS5 UR USSS5 g)Nz5eggs=scrambled; httponly=foo; secure=bar; Path=/baconrtrgrffoobar)rrrryr rUs r*'test_secure_httponly_true_if_have_value3CookieTests.test_secure_httponly_true_if_have_values}  " FG & *-. & (+, 6:.6 68,e4r-c[R"5nURS5 URUR 5S5 g)Nz=eggs = scrambled ; secure ; path = bar ; foo=foo zASet-Cookie: eggs=scrambled; Path=bar; Secure Set-Cookie: foo=foo)rrrr rrUs r*test_extra_spacesCookieTests.test_extra_spacess7  " NO  Q Sr-c[R"5nURS5 URUSRS5 URUSSS5 URUSSS5 URUR S/5S5 URUR 5S 5 URUR S/5S 5 g) Nz3Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"rJrKrLrMrNrOrPrQrRrSrUs r*test_quoted_metaCookieTests.test_quoted_metas  " DE :,,o> :y137 :v.8 6(+K M )   fX.1  r-c[R"5nSHOnURU5 UR[ U505 URUR 5S5 MQ g)N) z]foo=xz[foo=xz blah]foo=xz blah[foo=xzSet-Cookie: foo=barzSet-Cookie: fooz foo=bar; bazz baz; foo=barzsecure;foo=barzVersion=1;foo=bar)rrrr rr)r$r'ss r*test_invalid_cookies CookieTests.test_invalid_cookiessS  "9A FF1I   T!Wb )   QXXZ , 9r-c SnSU-n[R"5nURU5 URUR 5U5 [ [ RS-5HcnURUS9 [ R"[ R"X4S95nURUR 5U5 SSS5 Me g!,(df  Mw=f)Nz/Customer="WILE_E_COYOTE"; Path=/acme; Version=1zSet-Cookie: %sproto)protocol) rrrr rrangepickleHIGHEST_PROTOCOLr1loadsdumps)r$rawdataexpected_outputr'rC1s r* test_pickleCookieTests.test_pickle!sC*W4  " w _5622Q67EE*\\&,,q"AB  o>+*8**s  r-N)__name__ __module__ __qualname____firstlineno__r+r7r?rrequires_resourcerGrVr[rcrhrqrvrzrrrrrrr__static_attributes__rr-r*rr s}/0b,P\80 u% 4& 4 2:M.F A. - 5S  2 - ?  r-rcZ\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrg) MorselTestsi?zTests for the Morsel object.c[R"5nURUR5 URUR5 URUR 5 UR UR5[RRR55 UR5Hup#UR USU5 M gNr) rMorsel assertIsNonekeyr# coded_valuer keys _reservedr")r$morselrrYs r* test_defaultsMorselTests.test_defaultsBs! &**% &,,' &,,- (@(@(E(E(GH HC   S"c *'r-c[R"5nURH*nURUR U55 SU-X'M, URHnUR XSU-5 M SR 5H2nUR[RURUSU-5 M4 g)N%s_valuezthe holy hand grenade) rrrry isReservedKeyr r2rr __setitem__)r$Mis r*test_reserved_keysMorselTests.test_reserved_keysKs NN A OOAOOA. />ADA   QT:> 2)..0A   g11mmQ Q @1r-c [R"5nURH6nUR[RUR USU-SU-5 M8 SR 5HnSUS'UR USU-SU-5 URURU5 URURSU-5 URURSU-5 URUR5SU<SSU-<S 35 S U<SSU-<S 3nURUR5U5 M S H6nUR[RUR USU-SU-5 M8 g) Nrz(thou cast _the- !holy! ^hand| +*grenade~z/foorNz%s_valz %s_coded_valz Set-Cookie: r/z ; Path=/fooz^ )zfoo barzfoo@bar) rrrrrsetr2r rr#rrrT)r$rrexpected_js_outputs r* test_setterMorselTests.test_setterZsQ NN A   g11eeQ Q Q H<AACAAfI EE!X\>A#5 6   QUUA &   QWWhl 3   Q]]NQ,> ?    23^a5GH J.1$ "&    Q[[],> ?%D&(A   g11eeQ Q Q H(r-cr[R"5nUR[5 SUlSSS5 UR[5 SUlSSS5 UR[5 SUlSSS5 g!,(df  NY=f!,(df  NE=f!,(df  g=fr)rrrAttributeErrorrr#rr$rs r*test_set_propertiesMorselTests.test_set_propertiesysw!   ~ .FJ/   ~ .FL/   ~ .!#F / . / . . . . .s#BB5B( B B%( B6c&SnSSSSS.n[R"5nURU5 UR"U6 [R"5nURU5 UR"U6 UR X4:H5 UR X4:g5 SnUHxnUR U5 [R"5nURU5 UR"U6 UR X4:H5 UR X4:g5 SSS5 Mz [R"5nURU5 UR"U6 SUS 'UR X4:H5 UR X4:g5 UR [R"5S :H5 UR [R"5S :g5 UR [R"5S :H5 UR [R"5S :g5 [[R"5R55nUR [R"5U:H5 UR [R"5U:g5 [R"5nUR"U6 URU5 UR U[U5:H5 UR U[U5:g5 g!,(df  GMr=f) N)rr#"value"/r} example.com)rNrdomainrL))rr#mismatch)rrr)rr#rr~rrr) rrupdaterryrur1listr"r) r$ base_caseattribsmorsel_amorsel_br%case_br"rs r*test_eqMorselTests.test_eqsL/ #   >>#  i >>#  i  ,- -.  Ff%">>+( f%  !56 45 &%>>#  i # -. ,- )Q./ (A-. )R/0 (B./W^^%++-. )U23 (E12! I g $v,./ 4</09&%s 2AL L c[R"5nURSSS5 URSSS.5 UR 5nUR U[R5 UR X5 URX5 [R"U5nUR U[R5 UR X5 URX5 g)Nr}r~bazrrLr)rrrrcopyassertIsInstance assertIsNotr )r$rrs r* test_copyMorselTests.test_copys>># UE5)  ==? h7 , ,99X& h7 , ,r-cj[R"5nSUS'URUSS5 SUS'URUSS5 SUS'URUSS5 UR[R5 S US 'SSS5 UR S U5 g!,(df  N!=f) Nrr0rVersionrLrDOMAINrr#invalid)rrr rr assertNotInrs r* test_setitemMorselTests.test_setitems!y  *A.y  *A.(x )=9   w22 3 'F9 4 F+4 3s B$$ B2cZ[R"5nURSSS.5 URUR SS5S5 URUSS5 URUR SS5S5 URUS S5 URUR S S5S5 URUS S5 UR [R 5 UR S S5 SSS5 URS U5 g!,(df  N!=f) Nrr)rrLr0r#rrrrLrrr)rrrr setdefaultrrrrs r*test_setdefaultMorselTests.test_setdefaults! #  **9g>C  *B/ **9a8!<  *A. **8W=}M )=9   w22 3   i 14 F+4 3s .D D*cSSSS.n[R"5nURU5 URUSS5 URUSS5 URUSS5 [R"5nUR[ UR 555 URUSS5 URUSS5 URUSS5 [R"5nURSUR 555 URUSS5 URUSS5 URUSS5 UR [R5 URS S 05 SSS5 URS U5 UR [UR5 UR [URS 5 g!,(df  Nb=f) Nrrr)r0rrr0rLrc3,# UH upX4v M g7fNr).0r(r)s r* *MorselTests.test_update..s9qfsrr#r) rrrr rr"rrr TypeError)r$rrs r* test_updateMorselTests.test_updatesAG! g  *A.  *A. )=9! d7==?+,  *A.  *A. )=9! 999  *A.  *A. )=9   w22 3 MM9g. /4 F+ )V]]3 )V]]A6 4 3s G11 G?c[R"5nURSSS5 URSSS.5 [ [ R S-5HnURUS9 [ R"[ R"X55nURU[R5 URX15 UR[U5[U55 SSS5 M g!,(df  M=f)Nr}r~rrrrr) rrrrrrrr1rrrr r)r$rrrs r*rMorselTests.test_pickles>># UE5)  622Q67EE*!<< X(EF%%h?  4  XH > +*8**s +BC88 D c [R"5nUR[U5S5 UR[ U5S5 UR SSS5 UR[U5S5 UR[ U5S5 UR SS S S S S S .5 UR[U5S5 UR[ U5S5 SUS'S US'UR[U5S5 UR[ U5S5 [R"5nUR SSS5 S US'UR[U5S5 UR[ U5S5 g)NzzSet-Cookie: None=NonerrY coded_valzzSet-Cookie: key=coded_valrr}rrr)rNrrrarfrLzVzXSet-Cookie: key=coded_val; Comment=foo; Domain=example.com; Max-Age=0; Path=/; Version=1TrfrgzhzjSet-Cookie: key=coded_val; Comment=foo; Domain=example.com; HttpOnly; Max-Age=0; Path=/; Secure; Version=1r0zAzCSet-Cookie: key=coded_val; expires=\w+, \d+ \w+ \d+ \d+:\d+:\d+ \w+)rrr rrrr assertRegexrs r* test_reprMorselTests.test_reprsu! f'<= V&=> 5%- f'@A V&AB #    f0 1 V/ 0 xz fB C VA B! 5%-y f= > V< =r-rN)rrrr__doc__rrrrrrrrrrrrrr-r*rr?s?&+ @H>$21h-" ,,$76 ?&=r-rcXUR[R"[55 U$r)addTestdoctest DocTestSuiter)loadertestspatterns r* load_testsr8s MM'&&w/0 Lr-__main__)runittestrhttprrtestrtest.support.testcaserTestCaserrrrmainrr-r*rse  1p (##_p f v=(##v=r  z MMOr-