mò %U²Ic@s?dklZlZdkZdkZdkZdkZdklZdfd„ƒYZeƒe_ydk lZWn e j odklZnXdfd„ƒYZ d„Z dgfd gfd gfd ddfgfd dd fgfd d dfgfdd dfgfdd dfgfdd dfgfdd dfddfgfdd dfd dfgfg Z dedƒfd edƒfd edƒfdedƒfdedƒfd hfdhfdhfd hdd gd?g<d@dAg<dBdCgs(tmapRM(RM((Rt first_elts~scCstd„|ƒS(NcCs|d|ddfS(Nii(tp(RS((RRP‚s(RQRM(RM((Rtfirst_second_eltsscCs'xYtD]Q\}}ti|dtƒ}t|ƒGdG|GHt||jdt|ƒƒqWx t D]˜\}}t|ƒGHt |dƒ}t||jdt|ƒƒt |dƒ}t||jdt|ƒƒhd|<}ti |ƒ} ti|ƒ}tid|ƒ} t|ƒthƒjoÑtt|ƒt| ƒjƒtt|iƒƒt| iƒƒjƒtt|iƒƒt| iƒƒjƒtt|iƒƒt| iƒƒjƒt| idd ƒd jƒtt|ƒt| ƒjƒtt|iƒƒt| iƒƒjƒt| idd ƒd jƒx¾|iƒD]¬} || } t| i| ƒƒtt| | ƒt|| ƒjƒt| i| d ƒ| | jƒt| i| ƒƒt| ƒd jo d }nd }y|| }Wn7t j o+t| ƒt| i| ƒ| jƒn=Xt|ƒt|| d jƒt| i| ƒ| d jƒtt|i!| ƒƒt| ƒjƒ|o`tt|iƒƒt"t|iƒƒƒjƒtt|iƒƒt#t|iƒƒƒjƒqGqGWqcqcWhdd <}hd d <dd<dd<dd<}ti$|ƒ}x.|iƒD] \}}t|||jƒqTWx.|iƒD] \}}t|||jƒq…Wtt|iƒƒt|iƒƒjƒdGHti'dƒt(i)t_*ti+ddƒti'ddƒt,i-i.dƒo3dt_*dt_0ti+ddƒti'dƒndGHdfd„ƒY}|t2i3ƒƒ}|i5d dd ƒ|i6d ƒhd!d"<}tid#|d|ƒ} t|i7d$jƒd%GHhd!d<d&d'<d(d)<}d*}tid#t9|ƒd|ƒ} tt| i:ƒd+jƒhd,d-<d.d<d/d0| i:| |ƒ}t||jƒqéWqÒWdS(8Ntkeep_blank_valuess=>sError parsing %sRRRtenvironsnonexistent fieldtdefaultiisx=1&y=2.0&z=2-3.%2b0&1=1abcRR3f2.0R4s2-3.+0R0t1abcs Testing logtTestings%ssTesting initlog 1s Testing log 2s /dev/nulls Testing log 3s Testing log 4s+Test FieldStorage methods that use readlinetTestReadlineFilecBs&tZd„Zdd„Zd„ZRS(NcCs||_d|_dS(Ni(tfileR tnumcalls(R R[((RR Ös cCs;|id7_|o|ii|ƒSn|iiƒSdS(Ni(R R\tsizeR[treadline(R R]((RR^ÚscCsD|id}t||ƒ}t|tƒpt|||ƒn|S(NR[( R t__dict__R[RtnameR.R tinttsetattr(R R`R.R[((RRás  (RRR R!R^R(((RRZÕs  iiRtPUTR"is)Test basic FieldStorage multipart parsingRsTmultipart/form-data; boundary=---------------------------721837373350705526688164684Rt558s-----------------------------721837373350705526688164684 Content-Disposition: form-data; name="id" 1234 -----------------------------721837373350705526688164684 Content-Disposition: form-data; name="title" -----------------------------721837373350705526688164684 Content-Disposition: form-data; name="file"; filename="test.txt" Content-Type: text/plain Testing 123. -----------------------------721837373350705526688164684 Content-Disposition: form-data; name="submit" Add -----------------------------721837373350705526688164684-- iR`tidtfilenametvaluet1234ttitleR+R[stest.txts Testing 123. tsubmits Add (@tparse_qsl_test_casestorigtexpectR't parse_qsltTruetresulttreprtverifytparse_strict_test_casesR*tdRtFormContentDicttfcdtSvFormContentDicttsdt FieldStoragetfsRLR%ROtkeystvaluestitemstgettgetvaluetkeyt expect_valthas_keyt single_valuetvalt IndexErrortgetlistRRRTtInterpFormContentDicttktvtlogRtstdouttlogfptinitlogtostpathtexistsR!tlogfileRZttempfilet TemporaryFiletftwritetseekR\tpostdataR$RMtrangeRtexpRtgot(R—RmRpRƒRlR„RZRRšRzRvR€RRRtR”RˆR™R‰Rx((Rtmain„s® !  ((((  $    %.>*  (     !~ (ttest.test_supportRrtverboseR'RŽRR’R$Rt cStringIOt ImportErrorRR*RkR&RsRORRRTR›(R'RRRR*RRR$R’RrRRsRTRkR›RŽRO((Rt?s,       Ãÿÿœ/