a 4êdg0 ã@s¨dZddlZddlZddlZddlZddlmZddlmZGdd„dƒZ Gdd„de ƒZ Gd d „d e ƒZ Gd d „d ƒZ Gd d„de ƒZ Gdd„dƒZGdd„dƒZdS)zF Common tests shared by test_unicode, test_userstring and test_bytes. éN)Úsupport)ÚUserListc@s&eZdZd dd„Zdd„Zdd„ZdS) ÚSequenceÚwxyzcCs ||_dS©N©Úseq)Úselfr©r ú-/usr/local/lib/python3.9/test/string_tests.pyÚ__init__ ózSequence.__init__cCs t|jƒSr)Úlenr©r r r r Ú__len__ r zSequence.__len__cCs |j|Srr)r Úir r r Ú __getitem__ r zSequence.__getitem__N)r)Ú__name__Ú __module__Ú __qualname__r rrr r r r r s rc@seZdZdd„Zdd„ZdS)ÚBadSeq1cCsgd¢|_dS)N)éÚhelloé{rrr r r r r zBadSeq1.__init__cCs dj|jŽS)Nz {0} {1} {2})Úformatrrr r r Ú__str__r zBadSeq1.__str__N)rrrr rr r r r rsrc@seZdZdd„Zdd„ZdS)ÚBadSeq2cCsgd¢|_dS)N©ÚaÚbÚcrrr r r r r zBadSeq2.__init__cCsdS)Nér rr r r rr zBadSeq2.__len__N)rrrr rr r r r rsrc@sleZdZdZdZdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Ze ejd#kpªe d$¡d%kd&¡d'd(„ƒZd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Z d3d4„Z!d5d6„Z"d7d8„Z#d9d:„Z$d;d<„Z%d=d>„Z&d?d@„Z'dAdB„Z(dCdD„Z)dEdF„Z*dGdH„Z+dIdJ„Z,dKdL„Z-dMdN„Z.dOdP„Z/dQdR„Z0dSdT„Z1dS)UÚBaseTestNFcs~t|tƒrˆj |¡St|tƒr2‡fdd„|DƒSt|tƒrRt‡fdd„|DƒƒSt|tƒrvt‡fdd„| ¡DƒƒS|SdS)Ncsg|]}ˆ |¡‘qSr ©Úfixtype©Ú.0Úxrr r Ú +r z$BaseTest.fixtype..csg|]}ˆ |¡‘qSr r#r%rr r r(-r cs$g|]\}}ˆ |¡ˆ |¡f‘qSr r#)r&ÚkeyÚvaluerr r r(/sÿ)Ú isinstanceÚstrÚ __class__Ú type2testÚlistÚtupleÚdictÚitems)r Úobjr rr r$'s      þzBaseTest.fixtypecCs| t| d¡ƒ|j¡dS)NÚ123)ÚassertIsÚtyper$r.rr r r Ú test_fixtype6szBaseTest.test_fixtypecs®ˆ |¡}ˆ |¡}ˆ |¡}‡fdd„| ¡Dƒ}t||ƒ|i|¤Ž}ˆ ||¡||urªzGdd„dˆjjƒ}Wnty†Yn$0||ƒ}t||ƒ|Ž}ˆ ||¡dS)Ncsi|]\}}|ˆ |¡“qSr r#)r&ÚkÚvrr r Ú >r z'BaseTest.checkequal..c@s eZdZdS)z$BaseTest.checkequal..subtypeN©rrrr r r r ÚsubtypeHsr<)r$r2ÚgetattrÚ assertEqualr-r.Ú TypeErrorÚ assertIsNot)r Úresultr3Ú methodnameÚargsÚkwargsZ realresultr<r rr Ú checkequal:s"   þ zBaseTest.checkequalcGsb| |¡}| |¡}| |¡}t||ƒ|ŽWdƒn1sB0Y| t|jƒd¡dS)NÚ)r$Ú assertRaisesr=ZassertNotEqualr,Ú exception)r Úexcr3rBrCÚcmr r r Ú checkraisesRs    ,zBaseTest.checkraisescGs&| |¡}| |¡}t||ƒ|ŽdSr)r$r=)r r3rBrCr r r Ú checkcallZs  zBaseTest.checkcallc s<ˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ ddddd¡ˆ ddddd ¡ˆ ddddd ¡ˆ ddddd ¡ˆ dddddd¡ˆ dddddd ¡ˆ dddddd ¡ˆ dddddd ¡ˆ dddd d¡ˆ dddd d¡ˆ dddd d ¡ˆ dddd d ¡ˆ d ddd d ¡ˆ dd dd ¡ˆ dd dd dd¡ˆ dd dd tjd¡ˆ dd dd¡ˆ dd dddd¡ˆ dd ddtjd¡ˆ tdd¡ˆjrþˆ dddd¡nˆ tddd¡gd¢}d}t|ƒ}tƒ}t||ƒD]F}g}t|ƒD]"}t ||ƒ\}}|  ||¡qD|  d   |¡¡q4‡fdd„|Dƒ}|D]¤}t|ƒ} |D]}|  |¡} |ràt | t| |ˆ d ¡¡ƒt|ƒƒ\} } nt|ƒdd} } | s| | kr¢ˆ | dd| |f¡ˆ | | d| | |f¡q¢q’dS)NéÚaaaÚcountrrrééé éÿÿÿÿéöÿÿÿrFéÚxxré*)rFrrrcsg|]}ˆ |¡‘qSr r#©r&Útsrr r r(‘r z'BaseTest.test_count..z%s != 0 for %sz%s != %s for %s)rEÚsysÚmaxsizerKr?Úcontains_bytesrÚsetÚrangeÚdivmodÚappendÚaddÚjoinrOÚreplacer$r>) r ÚcharsetÚdigitsÚbaseÚ teststringsrÚentryÚjÚmÚnÚr1Úr2Úremr rr Ú test_count_sj  ÿ zBaseTest.test_countc stˆ dddd¡ˆ ddddd¡ˆ ddddd ¡ˆ dddd d¡ˆ d ddd d ¡ˆ dddd d ¡ˆ d d dd¡ˆ dd ddd ¡ˆ dd ddd d¡ˆ dd ddd d¡ˆ d d dddd¡ˆ tdd¡ˆjrdddd¡nˆ tddd¡ˆ dd dd ¡ˆ dd dd dd¡ˆ dd dd tjd¡ˆ dd dd¡ˆ dd dddd¡ˆ dd ddtjd¡ˆ ddddtjdd¡gd¢}d}t|ƒ}tƒ}t||ƒD]F}g}t|ƒD]"}t ||ƒ\}}|  ||¡qÂ|  d   |¡¡q²‡fdd„|Dƒ}|D]^}|D]R}|  |¡} | dk} ||v} ˆ | | ¡| dkrˆ || | t|ƒ…|¡qqdS)NrÚ abcdefghiabcÚfindÚabcé rQrSÚdefrUrFrMrPÚ rrarrrrrrrrraré érrWrVÚabÚxxx©rFrrr écsg|]}ˆ |¡‘qSr r#rXrr r r(Îr z&BaseTest.test_find..)rErKr?r\rZr[rr]r^r_r`rarbrqr>© r rdrerfrgrrhrirjÚlocrlrmr rr Ú test_findŸsR    zBaseTest.test_findc sˆ dddd¡ˆ dddd¡ˆ dddd¡ˆ d ddd ¡ˆ d dddd¡ˆ d dddd ¡ˆ d dddd ¡ˆ dd dd¡ˆ dd ddd ¡ˆ d d ddd d¡ˆ dd ddd d¡ˆ dd dddd¡ˆ tdd¡ˆjrúˆ d ddd¡nˆ tddd¡gd¢}d}t|ƒ}tƒ}t||ƒD]F}g}t|ƒD]"}t||ƒ\}}| ||¡q@|  d  |¡¡q0‡fdd„|Dƒ}|D]^}|D]R}|  |¡} | d k} ||v} ˆ  | | ¡| d kr–ˆ  || | t|ƒ…|¡q–qŽˆ d dddt jdd¡ˆ dddd¡dS)NrsrpÚrfindrrrvrFrÚabcdrSZabczrMrUrurrwrPrrWrzr{csg|]}ˆ |¡‘qSr r#rXrr r r(ýr z'BaseTest.test_rfind..rxryrQu <......м...ú<)rErKr?r\rr]r^r_r`rarbrr>rZr[r|r rr Ú test_rfindØsJ    $zBaseTest.test_rfindcCs"| dddd¡| dddd¡| dddd¡| ddddd ¡| tddd ¡| td ddd ¡| td dd d¡| td dd d¡| dddd¡| ddddd¡| tddddd¡| dddddd¡| dddddd¡| tdd¡|jr| tddd¡n| tddd¡dS)NrrpÚindexrFrMrtrrrsrQÚhibZ abcdefghiabÚ abcdefghiÚghir!rSrPrurrvrUrwrrW©rErKÚ ValueErrorr?r\rr r r Ú test_index s"zBaseTest.test_indexcCs<| dddd¡| dddd¡| dddd¡| d dddd d ¡| tddd ¡| td ddd ¡| td ddd d ¡| tdddd d¡| tdddd d ¡| dddd¡| ddddd¡| tddddd¡| dddddd¡| dddddd¡| tdd¡|jr(| tddd¡n| tddd¡dS)NrvrpÚrindexrFrMrtrsrrrrSr„Z defghiabcrQr…r†r!rurrUrwrPrrWr‡rr r r Ú test_rindex&s$zBaseTest.test_rindexcCs0| ddd¡| ddd¡| tddd¡dS)NrÚHeLLoÚlowerrW©rErKr?rr r r Ú test_lower@szBaseTest.test_lowercCs0| ddd¡| ddd¡| tddd¡dS)NZHELLOrŒÚupperrrWrŽrr r r Ú test_upperEszBaseTest.test_uppercCsà| ddd¡| dddd¡| dddd¡| ddd¡| dddd¡| d ddd¡| d d dd¡|jddddd |jddddd | d d dd¡| tdddd¡tjdkrÜt d¡dkrÜ| tddtj¡dS)Nzabc ab def g hizabc ab def g hiÚ expandtabsr!zabc ab def g hirUzabc ab def g hizabc ab def g hizabc ab def g hizabc ab def g hi)Útabsizez a bz a brQrrWìÚPz a b)rErKr?rZr[ÚstructÚcalcsizeÚ OverflowErrorrr r r Útest_expandtabsJsBÿÿÿÿÿÿÿÿÿÿzBaseTest.test_expandtabscCs.| gd¢ddd¡| dgdddd¡| ddgdddd¡| gd ¢dddd ¡| gd¢dddd ¡| gd¢dddd ¡| gd¢dddtjd ¡| dgdddd¡| gd ¢dddd ¡| dgddd¡| dgddd¡| ddgddd¡| ddgddd¡| gd¢ddd¡| gd¢dddd ¡| dgdddd…dd¡| dgddgddd…ddd¡| gd¢ddd ¡| dd!gddd d¡| gd"¢ddd d ¡| gd¢ddd d ¡| gd¢ddd d ¡| gd¢ddd tjd#¡| dgddd d¡| gd$¢d%dd d ¡| ddgd&dd'¡| dd(gd)dd'¡| gd*¢d+dd'¡| dd,gd-dd.¡| ddgd/dd/¡| d/gd/dd/d¡| d0d0gd1dd2¡| d3gd3dd4¡| dgddd/¡| d5gd5dd/¡| d6d7gd8dd9¡| gd:¢d;dd9¡| dgdd¡| dgddd?¡| dgd@dAgdd@¡|jgd¢ddddB|jddgdddddC|jddgdddddD|jddgdddddE|jddFgdGdddC| tdHddIdIdI¡| tdHdd¡| tdHddd¡dS)JN©rrr Údúa|b|c|dÚsplitú|rrzb|c|drQ)rrzc|drPrMrU)rrFzb||c||dú a||b||c||dr€rFúendcase ú endcase |z startcasez | startcase©rFZbothcaserFú |bothcase|)rrFzbcdúabcdúéú(a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|rSéú a|a|a|a|aú a//b//c//dú//zb//c//d)rrzc//drR)rrFz b////c////dúa////b////c////dú endcase testÚtestú begincaseútest begincase©rFz bothcase rFútest bothcase testÚbcÚabbbcÚbbrNrxÚabbaabÚbaÚaaaaÚaabÚaaÚAZbobbZ AbbobbbobbÚbbobb)r»ÚBrFZ AbbobbBbbobbÚdaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHéüÿÿÿÚBLAHééÚaBLAHa©Úsep©Úmaxsplit©rÅrÇ©rÇrÅúb c dúa b c drrW©rErZr[rKr?rˆrr r r Ú test_splitgs„ÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿzBaseTest.test_splitcCs| gd¢ddd¡| ddgdddd¡| gd¢dddd ¡| gd¢dddd ¡| gd¢dddd ¡| gd¢dddtjd ¡| dgdddd ¡| gd¢dddd ¡| dgddd¡| dgddd¡| ddgddd¡| ddgddd¡| gd¢ddd¡| gd¢dddd ¡| dgdddd…dd¡| dgdgd ddd…ddd ¡| gd¢d!dd"¡| d#dgd!dd"d¡| gd$¢d!dd"d ¡| gd¢d!dd"d ¡| gd¢d!dd"d ¡| gd¢d!dd"tjd%¡| d!gd!dd"d ¡| gd&¢d'dd"d ¡| ddgd(dd)¡| ddgd*dd)¡| gd+¢d,dd)¡| d-d.gd/dd0¡| ddgd1dd1¡| d1gd1dd1d ¡| d-d-gd2dd3¡| d4gd4dd5¡| dgddd1¡| d6gd6dd1¡| d7d8gd9dd:¡| gd;¢d…dd?¡| dgdd=dd>…dd?d@¡| dAgdgdBd=dd>…dd?dB¡|jgd¢ddddC|jddgdddddD|jddgdddddE|jddgdddddF|jdGdgdHdddD| tdIddJdJdJ¡| tdIdd¡| tdIddd ¡dS)KNršrœÚrsplitržza|b|cr›rQ)za|br r›rPrMrUédr)za||b||crFr›rŸr€rFr¯z | begincaser r¡r¢r£)zabr r›r¤r¥rr¦r§rSr©r¨rªr«za//b//c)za//br r›r{)z a////b////crFr›r¬r°r®r­r±r²rxr r´rµrNr¶r·r¸r¹rºZbbobr»Z bbobbbobbAr¼)rFr½r»Z bbobbBbbobbAr¾r¿rÀrÁrÃrÂrÄrÆrÈrÉúa b crËrrWrÌrr r r Ú test_rsplit­s‚ÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿzBaseTest.test_rsplitcCsö|j}|dddddƒ|dddddƒ|dddddƒ|dddddƒ|ddddddƒ|ddddddƒ|dddddtjƒ|dddddƒ|dddddƒ|dddddƒ|d dddd ƒ|d d ddd ƒ|d d ddd dƒ|d d ddd tjƒ|d d ddd dƒ|d d ddd dƒ|dd ddd dƒ|dd ddd dƒ|d d ddd dƒ|dddddƒ|dddddƒ|ddddddƒ|dddddtjƒ|ddddddƒ|ddddddƒ|ddddddƒ|d dddddƒ|ddddddƒ|dddddƒ|dddddƒ|ddddddƒ|dddddtjƒ|ddddddƒ|ddddddƒ|ddddddƒ|ddddddƒ|ddddddƒ|ddddddƒ|dddddƒ|dddddƒ|dddddƒ|d d dddƒ|d!d"dddd#ƒ|dd$dd$dƒ|d%d&dd$dƒ|dd'dd$dƒ|dd(dd$dƒ|d)d*dd$dƒ|d+d+dd$dƒ|d,d,dd$dƒ|d-d.dd$dƒ|d/d0dd$dtjƒ|d/d0dd$ddƒ|d/d0dd$ddƒ|d/d0dd$ddƒ|d1d0dd$ddƒ|d0d0dd$ddƒ|d/d0dd$dƒ|d2d2dd$dƒ|d3d3dd$dƒ|d4d5dd4dƒ|d6d7dd4dƒ|d8d9dd4dƒ|d8d8dd4dƒ|d:d:dd;d;ƒ|dd:dd;d=dƒ|d:d:dd;d=dƒ|d:d:dd?d@ƒ|dAd:ddBdCƒ|dDdEddBdCƒ|dFd:ddGdHƒ|dIdJddGdHƒ|d:d:ddKdHƒ|dLdMddNdOƒ|dLdMddNdOtjƒ|dLdMddNdOdƒ|dLdMddNdOdƒ|dLdMddNdOdƒ|dPdMddNdOdƒ|dQdMddNdOdƒ|dMdMddNdOdƒ|dRdSdd4dTƒ|dUdVdd4dTƒ|dSdSddWdWƒ|dXdYddZd[ƒ|dXdYddZd[dƒ|dXdYddZd[tjƒ|dXdYddZd[dƒ|d\dYddZd[dƒ|dYdYddZd[dƒ|d]d^ddKd_ƒ|d`daddbdcƒ|dYdYdd@d[ƒ|dddeddfdgƒ|dddeddfdgtjƒ|dddeddfdgdƒ|dddeddfdgdƒ|dddeddfdgdƒ|dhdeddfdgdƒ|dideddfdgdƒ|dededdfdgdƒ|dSdjddSd4ƒ|dkdlddSd4ƒ|dmdmdd4dnƒ| dodpddHdqd¡| drdpddHd¡| dsdpddHdqd¡| dtdpddHdqd¡| dtdpddHdqd¡| dpdpddHdqd¡| dtdpddHdq¡| dpdpddudq¡| dpdpddudqd¡| dvd2dddw¡| dxd2dddwd¡| d2d2dddwd¡| ddddd¡| d2d2ddydzd¡| d2d2dd{dz¡| dd|dd|d¡| dd}dd|d¡| dud~dd|d¡| tdd¡| tddd€¡| tddd€d¡| tdddd€¡dS)‚NrFrcr»rÏz*A*Ú*z*1A*1z*1z*-#A*-#z*-#z*-A*-A*-ÚAAz*-rSrUrMz*-A*-ArPz*-AArQrZAAAZ AAAAAAAAAAZBCDZABACADAr{ZBCDAZBCADAZBACADAZABCADZABCADAAz *************z^A^aê^AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA^içÚtheZaterZtheaterZthetheZ thethethether¸ZtheatheatheatheaÚthatZthaetz here and rezhere and therezhere and re and rezhere and there and therezhere and re and thererrZabcdefgZbobZbbobobZbobXbobZ bbobobXbbobobZaaaaaaaZ aaaaaaabobzWho goes there?ÚozWhO gOes there?ÚOzWhO goes there?rÚqzwho goes there?ÚWÚwzwwho goes there?wwzWWho goes there?WWzWho goes there!ú?ú!zWho goes there!!zWho goes there??Ú.zTh** ** a t**suezThis is a tissueÚisz**zTh** ** a tissuezTh** is a tissueZcobobZbobobZcobZ cobobXcobocobZ bobobXbobobobZbotZ ReyKKjaviKKZ Reykjavikr8ZKKZ ReyKKjavikzA----B----C----zA.B.C.z----u...м......<õ ...м...... ÿÿ"zBaseTest.test_additional_splitcCs,| gd¢dd¡| gd¢dd¡| ddgdddd ¡| gd ¢dddd ¡| gd¢dddd ¡| gd¢dddd ¡| gd¢dddtjd¡| dgdddd¡| dgdddd¡| gd¢dddd ¡| gdd¡| dgdd¡| ddgdd¡| ddgdddd ¡| dgdddd¡| ddgdddd ¡| gd¢dddd ¡| gd¢dddd ¡| ddgdddd ¡d!}| dgd|d¡| |dd"…gdg|ddd ¡| d#gdgd$|ddd$¡d%D]B}| d&d'g|d¡| d&d'g|dd¡| d&d'g|ddd ¡qädS)(N)rørÞrÔrÎrùzthis is the rsplit functionrÎršrúrÐr›rËrQ)za br r›rPrMrUr¦rz a b c d )za br r›rûrürrýrrþú az a b crÿz a br )rrr rréXrr¿z a arÂrrrrrr r r Útest_additional_rsplitþsN ÿÿ ÿÿÿÿ"zBaseTest.test_additional_rsplitcCsª| ddd¡| ddd¡| ddd¡| ddd¡d}| d |d¡| d |d¡| d |d¡| dddd¡| dddd¡| dddd¡| dddd¡dS) Nrz hello Ústripzhello Úlstripz helloÚrstripz abc rrz abc z abc©rE)r rr r r Útest_strip_whitespace&szBaseTest.test_strip_whitespacecCsš| dddd¡| dddd¡| dddd¡| dddd¡| d d dd ¡| d d dd ¡| tddd d ¡| tddd d ¡| tddd d ¡dS)NrZxyzzyhelloxyzzyr ZxyzZ helloxyzzyr Z xyzzyhellor rFZ mississippiZ mississipprrWrŽrr r r Ú test_strip7szBaseTest.test_stripcCsd| dddd¡| dddd¡| dddd¡| dddd¡| d dddd ¡| tdd¡dS) Nz abc rrÚljustrRzabc rwrMrPz abc*******rÒrŽrr r r Ú test_ljustFs zBaseTest.test_ljustcCsd| dddd¡| dddd¡| dddd¡| dddd¡| d dddd ¡| tdd¡dS) Nz abcrrÚrjustrRz abcrwrMrPz *******abcrÒrŽrr r r Ú test_rjustNs zBaseTest.test_rjustcCsd| dddd¡| dddd¡| dddd¡| dddd¡| d dddd ¡| tdd¡dS) Nz abc rrÚcenterrRz abc rwrMrPz ***abc****rÒrŽrr r r Ú test_centerVs zBaseTest.test_centercCs"| ddd¡| tddd¡dS)NzhEllO CoMPuTErSzHeLLo cOmpUteRsÚswapcaserrWrŽrr r r Ú test_swapcase^szBaseTest.test_swapcasecCsÒ| dddd¡| dddd¡| dddd¡| dddd¡| dddd¡| dddd ¡| d d dd¡| d d dd¡| d d dd ¡| d d dd¡| dddd¡| dddd¡| tdd¡dS)Nr4ÚzfillrPrMZ0123rUz+123z+0123r{z-123z-0123Z000rFZ34rQZ0034rŽrr r r Ú test_zfillcszBaseTest.test_zfillcCsv| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| tddd ¡dS) NFrFÚislowerTrr»Ú rrZaBcúabc rWrŽrr r r Ú test_islowersszBaseTest.test_islowercCsv| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| td dd ¡dS) NFrFÚisupperrTr»rÚABCZAbCzABC rrrWrŽrr r r Ú test_isupper}szBaseTest.test_isuppercCs®| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| dd d¡| dd d¡| dd d¡| ddd¡| tddd¡dS)NFrFÚistitlerTr»rzA Titlecased LinezA Titlecased LinezA Titlecased, LinezNot a capitalized StringzNot a Titlecase StringzNot--a Titlecase StringZNOTrrrWrŽrr r r Ú test_istitle‡szBaseTest.test_istitlecCs„| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| dd d¡| td dd ¡dS)NFrFÚisspacerTú ú ú rz z arrrWrŽrr r r Ú test_isspace•szBaseTest.test_isspacecCsv| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| tddd ¡dS) NFrFÚisalphaTrr»rrrZaBc123rrWrŽrr r r Ú test_isalpha szBaseTest.test_isalphacCs„| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| dd d¡| dd d¡| td dd ¡dS)NFrFÚisalnumTrr»rZ 123abc456Za1b3czaBc000 rrrrWrŽrr r r Ú test_isalnumªszBaseTest.test_isalnumcCsÆ| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡td ƒD]d}| dd |dd¡| dd |dd¡| dd |dd d¡| dd |dd d¡q\dS) NTrFÚisasciir¥úzFõ€õér!r%z )rEr^)r Úpr r r Ú test_isasciiµs zBaseTest.test_isasciicCsZ| ddd¡| ddd¡| ddd¡| ddd¡| ddd¡| td dd ¡dS) NFrFÚisdigitrTÚ0Ú 0123456789Z 0123456789arrrWrŽrr r r Ú test_isdigitÄs zBaseTest.test_isdigitcCsh| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| d d d¡| td dd ¡dS)Nz Hello róÚtitlerõrözFormat This As Title StringzfOrMaT thIs aS titLe StringzFormat,This-As*Title;StringzfOrMaT,thIs-aS*titLe;StringZGetintZgetIntrrWrŽrr r r Ú test_titleÍszBaseTest.test_titlecCsÖ| gd¢dd¡| gd¢dd¡| gd¢dd¡| gd¢dd¡| gd¢d d¡| gd ¢d d¡| gd ¢d dd ¡| gd ¢d dd¡|jgd ¢d dd d|jgd ¢d ddd| tdddd¡dS)N)rrrtrFr†z abc def ghiÚ splitlinesz abc def ghi)rrrtr†z abc def ghiz abc def ghi )rrrtr†rFzabc def ghi )rFrrrtr†rFz abc def ghi F)rrzdef zghi r'T)ÚkeependsrrrWrŽrr r r Útest_splitlinesÖs& ÿ ÿ ÿ ÿzBaseTest.test_splitlines)2rrrr.r\r$r7rErKrLror~r‚r‰r‹rr‘r™rÍrÑräÚunittestZskipIfrZr[r–r—rårïròr÷rr rrrrrrrrr!r#r(r*r,r2r6r8r;r r r r r"sZ@95FF2ÿ  $(       r"c@seZdZdd„Zdd„ZdS)Ú CommonTestcCsF| d¡}| d¡}|D]}||7}t|ƒq| t|ƒt|ƒ¡dS)NZDNSSECrF)r.Úhashr>)r rrr r r r Ú test_hashís    zCommonTest.test_hashcCsX| ddd¡| ddd¡| ddd¡| ddd¡| dd d¡| d d d¡dS) Nu ῼῳῳῳu ῳῳῼῼrôuⓅⓨⓣⓗⓞâ“uⓅⓎⓉⒽⓄⓃuⓟⓨⓣⓗⓞâ“u Ⅰⅱⅲu â… â…¡â…¢u ⅰⅱⅲu ƛᴀᶆȡᾷrrr r r Útest_capitalize_nonasciiös$ÿÿÿÿÿÿz#CommonTest.test_capitalize_nonasciiN)rrrr?r@r r r r r=és r=c@s’eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z e j dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!S)"ÚMixinStrUnicodeUserStringTestcCs°| dddd¡| dddd¡| dddd¡| dddd¡| dddd¡| ddddd ¡| dddd d ¡| dddd d ¡| ddddd ¡| dddd d¡| ddddd¡| dddddd¡| dddddd¡| dddddd ¡| dddddd¡| ddddd d¡| dddddd¡| dddddd¡| dddddd¡| dddddd¡| ddddd¡| ddddd¡| dddd d¡| dddd d¡| dddddd¡| dddd d¡| tdd¡| tddd¡| dddd¡| dddd¡| dddd¡| dddd ¡| dddd!d¡| dddd"d¡| dddd#dd¡| dddd$dd ¡| dddd$dd%¡| tddd&¡dS)'NTrÚ startswithríFú hello worldrFÚellorQrÖrUr{rñrwÚ helloworldÚloworMrrrSiËÿÿÿrTéûÿÿÿr¿éþÿÿÿéýÿÿÿi÷ÿÿÿrW©ríZha©rñZllo©Zhelloxrr ©ÚhellowoÚrldrF©rNrDrO)rñrí©ríZhelrP©rWrŽrr r r Útest_startswith sT ÿ ÿz-MixinStrUnicodeUserStringTest.test_startswithcCs| dddd¡| dddd¡| dddd¡| dddd¡| dd dd ¡| dd dd d d ¡| dd dd d d¡| dd dddd¡| dd dddd¡| dd ddd d¡| dd dddd¡| dd ddd d¡| dddddd¡| dddddd¡| dddddd¡| dddddd¡| dddddd¡| ddddd¡| ddddd¡| dddddd¡| dddddd¡| dd dd d¡| dd dd dd¡| dd dd dd ¡| dd dd dd¡| dd dddd¡| dd dddd¡| dd dddd¡| dd ddd d ¡| dd dddd¡| tdd¡| tddd!¡| dddd"¡| dddd#¡| dddd$¡| dddd%¡| dd dd&d ¡| dd dd'd d¡| dddd(dd¡| dddd)dd¡| dddd*dd¡| tddd+¡dS),NTrÚendswithrñFrírFrCrEZworlrMrsZworldrvrFrQrrPrUr!rxrrHrIrTiúÿÿÿrGrSiùÿÿÿiÿÿÿiøÿÿÿr¿rWrJrKrLr rMrP)ÚhellZellrQ)rírUrRrŽrr r r Ú test_endswith=s\ ÿ ÿz+MixinStrUnicodeUserStringTest.test_endswithcCs”| dddd¡| dddd¡| dddd¡| dddd¡| dddd¡| dddd ¡| dd dd ¡| dd dd ¡| dddd ¡dS) NTrFÚ __contains__rrFr¥zabczabcrZasdfZasdrrr r r Útest___contains__qsz/MixinStrUnicodeUserStringTest.test___contains__cCsœ| dddd¡| dddd¡| dddd¡| dddtddƒ¡| dddtddƒ¡| dddtdd ƒ¡| d ddtddƒ¡| tddd ¡dS) Nrrrrrr rSrMéèrQrFrt©rEÚslicerKr?rr r r Útest_subscript|sz,MixinStrUnicodeUserStringTest.test_subscriptcCsÚ| dddtddƒ¡| dddtddƒ¡| dddtddƒ¡| dddtd dƒ¡| d ddtd dƒ¡| d ddtddƒ¡| d ddtddƒ¡| d ddtd dƒ¡| d ddtdd ƒ¡| tddd ¡dS)NrrrrrYrMrxrPr³rQrrFiÐrtrZrr r r Ú test_slice‡sz(MixinStrUnicodeUserStringTest.test_slicec Cs~tjtj}dddddtjdddf }|D]P}|D]F}|dd…D]4}t|ƒ|||…}| d |¡|d t|||ƒ¡q@q0q(dS) NrrQrMé)rSrHiÛÿÿÿrFr) ÚstringÚ ascii_lettersrerZr[r/rErbr[)r ÚsÚindicesÚstartÚstopÚstepÚLr r r Útest_extended_getslice”s  ÿz4MixinStrUnicodeUserStringTest.test_extended_getslicecCsb| dddd¡| dddd¡| dddd¡| dddd¡| tdd¡| tddd¡dS) NrFrrÚ__mul__rSrrQZ abcabcabcrMrŽrr r r Útest_mul s z&MixinStrUnicodeUserStringTest.test_mulc CsÎ| dddgd¢¡| dddd¡| dddd¡| d ddd ¡| d ddtƒ¡| d d dd¡| dd dtdgƒ¡| dddgd¢¡| tdjgd¢¡dD]`}| d |d|dd…ddd |g|¡| d |d|dd…ddd |f|¡q¨| dddtƒ¡| tdd¡| tddd¡| tddd¡| tddddtƒg¡zdd„}|  d¡ |ƒ¡Wn>ty¾}z$dt |ƒvrª|  d¡WYd}~nd}~00|  d¡dS) NrËr%rbršr€rFZbd)rFrrFr›Zac)rrFr rFzw x y zrrr)rrÚzza.b.crÝr)rrrM)r{éé}rârSrÐrrQrPcssddVdS)NrUrFr r r r r ÚfÆsz2MixinStrUnicodeUserStringTest.test_join..fú+zjoin() ate exception messagezexception not raised) rErrrGr?rbrrKÚbytesr$r,Zfail)r rrmÚer r r Ú test_join«s8 ÿ ÿ z'MixinStrUnicodeUserStringTest.test_joincCsf| dddd¡| dddd¡| dd dd¡| dd dd¡| d d dd ¡| d d dd ¡| dddd¡| dd dd¡dD]}| ttfd d|¡q„tjd}t|ƒ}| dddd¡| dddd¡| |dd|¡| ddt|ƒ¡| dddd¡| dddd¡| t dd¡| t ddd¡| t ddd¡| t d dd¡| td di¡| t d!dd"¡| t ddd¡| t ddd#¡| d$d%dd&d$i¡| d'd(dd)¡| t d*dd+¡| t d,dd-¡| td.dd¡| td/d0dd1¡| td2d0dd1¡| td*dtjd3d4f¡| td5dtjd3d6f¡Gd7d8„d8t ƒ}| t dd|ƒ¡dS)9Nz+hello+z+%s+Ú__mod__rz+10+z+%d+rRrz%cú"é"ú$é$Z10z%dr.é)iœÿÿÿi z 42z%3ldrWZ42çE@z0042.00z%07.2fz%07.2Frrz%(foo)sz%s%srRrz%(fooz%(foo)s %(bar)s)ÚfoorWyE@Úbarz %((foo))sz(foo)Zhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxz%sxZgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaú%*s)ryrzz%10.*f)ryrxz%10z%%%dflgš™™™™™ @z%%.%dfrQrFú%.*fç’$I’$IÂ?c@s eZdZdS)z8MixinStrUnicodeUserStringTest.test_formatting..XNr;r r r r ÚXr r~) rErKrˆr˜rZr[r,rLÚfloatr?Úobject)r ZordinalZ longvalueZ slongvaluer~r r r Útest_formattingÏsR   ÿ  ÿz-MixinStrUnicodeUserStringTest.test_formattingcCsŒddlm}m}m}d| ¡d>d}| tdd|ddf¡| tdd|ddf¡| tdd|ddf¡| tdd|ddf¡dS) Nr)ÚPY_SSIZE_T_MAXÚINT_MAXÚUINT_MAXrQr{rrrFr|r})Z _testcapir‚rƒr„Ú bit_lengthrKr˜)r r‚rƒr„ZSIZE_MAXr r r Útest_formatting_c_limitss  ÿ  ÿ  ÿ  ÿz6MixinStrUnicodeUserStringTest.test_formatting_c_limitscCsJtdƒD]<}d|}d}tdƒD]"}|ddd}| |d|¡q qdS) NrÏz%%.%ifg{®Gáz„?é<gê.DTû! @g@g$@rr)r^rL)r Zprecrr*r'r r r Útest_floatformattings   z2MixinStrUnicodeUserStringTest.test_floatformattingcCs°| ddd¡| ddd¡| ddd¡| ddd¡| ddddd¡| ddd¡| ddd ¡| ddd¡| ddd ¡| ddd¡| ddd ¡| ddd¡dS) Nrr»rTrrrrcrôrr7rrr r r Útest_inplace_rewritessz3MixinStrUnicodeUserStringTest.test_inplace_rewritescCsx| dddd¡d}| d|dd¡| d|dd ¡| d |dd ¡| d |dd ¡| t|dd¡| t|dd¡dS)N)zthis is the parÚtiz tion methodzthis is the partition methodÚ partitionrŠúhttp://www.python.org©Úhttpú://úwww.python.orgr)rŒrFrFrÛ©rFúhttp://rr’©zhttp://www.python.ÚorgrFr”rF©rErKrˆr?©r ÚSr r r Útest_partition.sÿz,MixinStrUnicodeUserStringTest.test_partitioncCsx| dddd¡d}| d|dd¡| d|dd ¡| d |dd ¡| d |dd ¡| t|dd¡| t|dd¡dS)N)zthis is the rpartirŠz on methodzthis is the rpartition methodÚ rpartitionrŠrŒrr)rFrFrŒrÛr‘r’r“r”rFr•r–r r r Útest_rpartition=sÿz-MixinStrUnicodeUserStringTest.test_rpartitioncCs*d}| d|ddd¡| d|dddd¡| d|dddd¡| d|dddd¡| d|d dd¡| d|d ddd¡| d|d ddd¡| d|d ddd¡| d|d dd¡| d|d ddd¡| d|d ddd¡| d|d ddd¡| d|d dd¡| d|d ddd¡| d|d ddd¡| d|d ddd¡| d|d dd¡| d |d ddd¡| d |d ddd¡| d|d ddd¡| d|ddd¡| d|dddd¡| d|dddd¡| d|dddd¡| d|ddd¡| d|dddd¡| d|dddd¡| d|dddd¡dS)NrrPrqrîrMrHrrãrrƒrŠrOrQr'TrTrÖrñFrBr)r rar r r Útest_none_argumentsLs:z1MixinStrUnicodeUserStringTest.test_none_argumentsc CsÄd}d}| td|j|ddd¡| td|j|ddd¡| td|j|ddd¡| td|j|ddd¡| td|j|ddd¡| td|j|ddd¡| td |j|ddd¡|  d d d d ¡dS)Nrr'z^find\(z^rfind\(z^index\(z ^rindex\(z^count\(z ^startswith\(z ^endswith\(rRrßrqr) ZassertRaisesRegexr?rqrrƒrŠrOrBrTrE)r rar'r r r Ú*test_find_etc_raise_correct_error_messagesrs0 ÿ ÿ ÿ ÿ ÿ ÿ ÿzHMixinStrUnicodeUserStringTest.test_find_etc_raise_correct_error_messagesN)rrrrSrVrXr\r]rgrirqrrZ cpython_onlyr†rˆr‰r˜ršr›rœr r r r rA s"04     $5  &rAc@seZdZdd„ZdS)ÚMixinStrUnicodeTestcCsn|j}Gdd„d|ƒ}|dƒ}|ƒ |g¡}| ||¡| t|ƒ|¡|dƒ}|ƒ |g¡}| ||¡dS)Nc@s eZdZdS)z5MixinStrUnicodeTest.test_bug1001011..subclassNr;r r r r Úsubclass’sržr€)r.rbr@r5r6)r ÚtržÚs1Ús2r r r Útest_bug1001011Œs z#MixinStrUnicodeTest.test_bug1001011N)rrrr¢r r r r r‰sr)Ú__doc__r<r_rZr–r®rÚ collectionsrrrrr"r=rArr r r r Ús(   Z