a ze0 @sddlZddlZddlZddlZddlmZddlmZGdddZGdddeZ Gdd d eZ Gd d d Z Gd d d e Z GdddZ GdddZdS)N)support)UserListc@s&eZdZd ddZddZddZdS) SequencewxyzcCs ||_dSNseq)selfrr E/opt/bitninja-python-dojo/embedded/lib/python3.9/test/string_tests.py__init__ zSequence.__init__cCs t|jSr)lenrr 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@seZdZddZddZdS)BadSeq1cCsgd|_dS)N)hello{rrr r r r r zBadSeq1.__init__cCs dj|jS)Nz {0} {1} {2})formatrrr r r __str__r zBadSeq1.__str__N)rrrr rr r r r rsrc@seZdZddZddZdS)BadSeq2cCsgd|_dS)Nabcrrr r r r r zBadSeq2.__init__cCsdS)Nr rr r r rr zBadSeq2.__len__N)rrrr rr r r r rsrc@sleZdZdZdZddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZddZddZdd Zd!d"Zeejd#kped$d%kd&d'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Z d3d4Z!d5d6Z"d7d8Z#d9d:Z$d;d<Z%d=d>Z&d?d@Z'dAdBZ(dCdDZ)dEdFZ*dGdHZ+dIdJZ,dKdLZ-dMdNZ.dOdPZ/dQdRZ0dSdTZ1dS)UBaseTestNFcs~t|trj|St|tr2fdd|DSt|trRtfdd|DSt|trvtfdd|DS|SdS)Ncsg|]}|qSr fixtype.0xrr r +r z$BaseTest.fixtype..csg|]}|qSr r#r%rr r r(-r cs$g|]\}}||fqSr r#)r&keyvaluerr r r(/s) isinstancestr __class__ type2testlisttupledictitems)r objr rr r$'s      zBaseTest.fixtypecCs|t|d|jdS)N123)assertIstyper$r.rr r r test_fixtype6szBaseTest.test_fixtypecs|}|}|}fdd|D}t|||i|}||||urzGdddjj}WntyYn$0||}t|||}||dS)Ncsi|]\}}||qSr r#)r&kvrr r >r z'BaseTest.checkequal..c@s eZdZdS)z$BaseTest.checkequal..subtypeNrrrr r r r subtypeHsr<)r$r2getattr assertEqualr-r. TypeError assertIsNot)r resultr3 methodnameargskwargsZ realresultr<r rr checkequal:s"    zBaseTest.checkequalcGsb||}||}||}t|||Wdn1sB0Y|t|jddS)N)r$ assertRaisesr=ZassertNotEqualr, exception)r excr3rBrCcmr r r checkraisesRs    ,zBaseTest.checkraisescGs&||}||}t|||dSr)r$r=)r r3rBrCr r r checkcallZs  zBaseTest.checkcallc s<dddddddddddddddddddddddddddddddddddddd ddddd ddddd dddddddddddd dddddd dddddd dddd ddddd ddddd d dddd d d ddd d dd dd dd dd dddd dd tjddd dddd dddddd ddtjdtddjrddddntdddgd}d}t|}t}t||D]F}g}t|D]"}t ||\}}| ||qD| d |q4fdd|D}|D]}t|} |D]}| |} |rt | t||d t|\} } nt|dd} } | s| | kr| dd| |f| | d| | |fqqdS)Naaacountrrr rFxxr*)rFrrrcsg|]}|qSr r#r&tsrr r r(r z'BaseTest.test_count..z%s != 0 for %sz%s != %s for %s)rEsysmaxsizerKr?contains_bytesrsetrangedivmodappendaddjoinrOreplacer$r>) r charsetdigitsbase teststringsrentryjmnr1r2remr rr test_count_sj   zBaseTest.test_countc stdddddddddddddd dddd dd ddd d dddd d d d dddd ddd dd ddd ddd ddd dd d ddddtddjrddddntddddd dd dd dd dddd dd tjddd dddd dddddd ddtjdddddtjddgd}d}t|}t}t||D]F}g}t|D]"}t ||\}}| ||q| d |qfdd|D}|D]^}|D]R}| |} | dk} ||v} | | | dkr|| | t||qqdS)Nr abcdefghiabcfindabc rQrSdefrUrFrMrP rrarrrrrrrrrar rrWrVabxxxrFrrr csg|]}|qSr r#rXrr r r(r z&BaseTest.test_find..)rErKr?r\rZr[rr]r^r_r`rarbrqr> r rdrerfrgrrhrirjlocrlrmr rr test_findsR    zBaseTest.test_findc sddddddddddddd ddd d ddddd dddd d dddd dd dddd ddd d d ddd ddd ddd ddd ddddtddjrd dddntdddgd}d}t|}t}t||D]F}g}t|D]"}t||\}}|||q@| d |q0fdd|D}|D]^}|D]R}| |} | d k} ||v} | | | d kr || | t||qqd dddt jdddddddS)NrsrprfindrrrvrFrabcdrSZabczrMrUrurrwrPrrWrzr{csg|]}|qSr r#rXrr r r(r z'BaseTest.test_rfind..rxryrQu <......м...<)rErKr?r\rr]r^r_r`rarbrr>rZr[r|r rr test_rfindsJ    $zBaseTest.test_rfindcCs"|dddd|dddd|dddd|ddddd |tddd |td ddd |td dd d|td dd d|dddd|ddddd|tddddd|dddddd|dddddd|tdd|jr|tdddn|tddddS)NrrpindexrFrMrtrrrsrQhibZ abcdefghiab abcdefghighir!rSrPrurrvrUrwrrWrErK 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(|tdddn|tddddS)NrvrprindexrFrMrtrsrrrrSrZ defghiabcrQrrr!rurrUrwrPrrWrrr r r test_rindex&s$zBaseTest.test_rindexcCs0|ddd|ddd|tddddS)NrHeLLolowerrWrErKr?rr r r test_lower@szBaseTest.test_lowercCs0|ddd|ddd|tddddS)NZHELLOrupperrrWrrr r r test_upperEszBaseTest.test_uppercCs|ddd|dddd|dddd|ddd|dddd|d ddd|d d dd|jddddd |jddddd |d d dd|tddddtjdkrtddkr|tddtjdS)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 brQrrWPz a b)rErKr?rZr[structcalcsize OverflowErrorrr r r test_expandtabsJsBzBaseTest.test_expandtabscCs.|gdddd|dgdddd|ddgdddd|gd dddd |gddddd |gddddd |gddddtjd |dgdddd|gd dddd |dgddd|dgddd|ddgddd|ddgddd|gdddd|gddddd |dgdddddd|dgddgdddddd|gdddd |dd!gddd d|gd"ddd d |gdddd d |gdddd d |gdddd 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@|jgdddddB|jddgdddddC|jddgdddddD|jddgdddddE|jddFgdGdddC|tdHddIdIdI|tdHdd|tdHddddS)JNrrr da|b|c|dsplit|rrzb|c|drQ)rrzc|drPrMrU)rrFzb||c||d a||b||c||drrFendcase endcase |z startcasez | startcaserFZbothcaserF |bothcase|)rrFzbcdabcd(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////da////b////c////d endcase testtest begincasetest begincaserFz bothcase rFtest bothcase testbcabbbcbbrNrxabbaabbaaaaaaabaaAZbobbZ Abbobbbobbbbobb)rBrFZ AbbobbBbbobbdaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHBLAHaBLAHasepmaxsplitrrrrb c da b c drrWrErZr[rKr?rrr r r test_splitgs      zBaseTest.test_splitcCs|gdddd|ddgdddd|gddddd |gddddd |gddddd |gddddtjd |dgdddd |gddddd |dgddd|dgddd|ddgddd|ddgddd|gdddd|gddddd |dgdddddd|dgdgd dddddd |gdd!dd"|d#dgd!dd"d|gd$d!dd"d |gdd!dd"d |gdd!dd"d |gdd!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;ddd?|dgdd=dd>dd?d@|dAgdgdBd=dd>dd?dB|jgdddddC|jddgdddddD|jddgdddddE|jddgdddddF|jdGdgdHdddD|tdIddJdJdJ|tdIdd|tdIddd dS)KNrrrsplitrza|b|crrQ)za|br rrPrMrUdr)za||b||crFrrrrFrz | begincaserrrr)zabr rrrrrrrSrrrrza//b//c)za//br rr{)z a////b////crFrrrrrrrrxr rrrNrrrrrZbbobrZ bbobbbobbAr)rFrrZ bbobbBbbobbArrrrrrrrrra b crrrWrrr r r test_rsplits      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|tdddd|tdddddS)NrFrcrrz*A**z*1A*1z*1z*-#A*-#z*-#z*-A*-A*-AAz*-rSrUrMz*-A*-ArPz*-AArQrZAAAZ AAAAAAAAAAZBCDZABACADAr{ZBCDAZBCADAZBACADAZABCADZABCADAAz *************z^A^a^AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA^itheZaterZtheaterZthetheZ thethethetherZtheatheatheatheathatZthaetz 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?rqzwho goes there?Wwzwwho goes there?wwzWWho goes there?WWzWho goes there!?!zWho goes there!!zWho goes there??.zTh** ** a t**suezThis is a tissueisz**zTh** ** a tissuezTh** is a tissueZcobobZbobobZcobZ cobobXcobocobZ bobobXbobobobZbotZ ReyKKjaviKKZ Reykjavikr8ZKKZ ReyKKjavikzA----B----C----zA.B.C.z----u...м......< ...м...... "zBaseTest.test_additional_splitcCs,|gddd|gddd|ddgdddd |gd dddd |gddddd |gddddd |gddddtjd|dgdddd|dgdddd|gddddd |gdd|dgdd|ddgdd|ddgdddd |dgdddd|ddgdddd |gddddd |gddddd |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 qdS)(N)rrrrrzthis is the rsplit functionrrrrrrrQ)za br rrPrMrUrrz a b c d )za br rrrrrrr az a b crz a br )rrr rrXrrz a arrrrrrr r r test_additional_rsplitsN  "zBaseTest.test_additional_rsplitcCs|ddd|ddd|ddd|dddd}|d |d|d |d|d |d|dddd|dddd|dddd|dddddS) Nrz hello stripzhello lstripz hellorstripz abc rrz abc z abcrE)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 mississipprrWrrr r r test_strip7szBaseTest.test_stripcCsd|dddd|dddd|dddd|dddd|d dddd |tdddS) Nz abc rrljustrRzabc rwrMrPz abc*******rrrr r r test_ljustFs zBaseTest.test_ljustcCsd|dddd|dddd|dddd|dddd|d dddd |tdddS) Nz abcrrrjustrRz abcrwrMrPz *******abcrrrr r r test_rjustNs zBaseTest.test_rjustcCsd|dddd|dddd|dddd|dddd|d dddd |tdddS) Nz abc rrcenterrRz abc rwrMrPz ***abc****rrrr r r test_centerVs zBaseTest.test_centercCs"|ddd|tddddS)NzhEllO CoMPuTErSzHeLLo cOmpUteRsswapcaserrWrrr 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|tdddS)Nr4zfillrPrMZ0123rUz+123z+0123r{z-123z-0123Z000rFZ34rQZ0034rrr r r test_zfillcszBaseTest.test_zfillcCsv|ddd|ddd|ddd|ddd|ddd|dd d|dd d|tddd dS) NFrFislowerTrr rrZaBcabc rWrrr r r test_islowersszBaseTest.test_islowercCsv|ddd|ddd|ddd|ddd|ddd|dd d|dd d|td dd dS) NFrFisupperrTrrABCZAbCzABC rrrWrrr r r test_isupper}szBaseTest.test_isuppercCs|ddd|ddd|ddd|ddd|ddd|dd d|dd d|dd d|dd d|dd d|ddd|tddddS)NFrFistitlerTrrzA Titlecased LinezA Titlecased LinezA Titlecased, LinezNot a capitalized StringzNot a Titlecase StringzNot--a Titlecase StringZNOTrrrWrrr r r test_istitleszBaseTest.test_istitlecCs|ddd|ddd|ddd|ddd|ddd|dd d|dd d|dd d|td dd dS)NFrFisspacerT   rz z arrrWrrr r r test_isspaceszBaseTest.test_isspacecCsv|ddd|ddd|ddd|ddd|ddd|dd d|dd d|tddd dS) NFrFisalphaTrrrrrZaBc123rrWrrr r r test_isalphaszBaseTest.test_isalphacCs|ddd|ddd|ddd|ddd|ddd|dd d|dd d|dd d|td dd dS)NFrFisalnumTrrrZ 123abc456Za1b3czaBc000 rrrrWrrr r r test_isalnumszBaseTest.test_isalnumcCs|ddd|ddd|ddd|ddd|ddd|dd dtd D]d}|dd |dd|dd |dd|dd |dd d|dd |dd dq\dS) NTrFisasciirzF€ér!r%z )rEr^)r pr r r test_isasciis zBaseTest.test_isasciicCsZ|ddd|ddd|ddd|ddd|ddd|td dd dS) NFrFisdigitrT0 0123456789Z 0123456789arrrWrrr r r test_isdigits zBaseTest.test_isdigitcCsh|ddd|ddd|ddd|ddd|dd d|d d d|td dd dS)Nz Hello rtitlerrzFormat This As Title StringzfOrMaT thIs aS titLe StringzFormat,This-As*Title;StringzfOrMaT,thIs-aS*titLe;StringZGetintZgetIntrrWrrr r r test_titleszBaseTest.test_titlecCs|gddd|gddd|gddd|gddd|gdd d|gd d d|gd d dd |gd d dd|jgd d dd d|jgd d ddd|tdddddS)N)rrrtrFrz abc def ghi splitlinesz abc def ghi)rrrtrz abc def ghiz abc def ghi )rrrtrrFzabc def ghi )rFrrrtrrFz abc def ghi F)rrzdef zghi r'T)keependsrrrWrrr r r test_splitliness&    zBaseTest.test_splitlines)2rrrr.r\r$r7rErKrLror~rrrrrrrrrunittestZskipIfrZr[rrrrrrrr rrrrrrrrr!r#r(r*r,r2r6r8r;r r r r r"sZ@95FF2  $(       r"c@seZdZddZddZdS) CommonTestcCsF|d}|d}|D]}||7}t|q|t|t|dS)NZDNSSECrF)r.hashr>)r rrr r r r test_hashs    zCommonTest.test_hashcCsX|ddd|ddd|ddd|ddd|dd d|d d ddS) Nu ῼῳῳῳu ῳῳῼῼruⓅⓨⓣⓗⓞⓝuⓅⓎⓉⒽⓄⓃuⓟⓨⓣⓗⓞⓝu Ⅰⅱⅲu ⅠⅡⅢu ⅰⅱⅲu ƛᴀᶆȡᾷrrr r r test_capitalize_nonasciis$z#CommonTest.test_capitalize_nonasciiN)rrrr?r@r r r r r=s r=c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ e j ddZddZddZddZddZddZdd 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 startswithrF hello worldrFellorQrrUr{rrw helloworldloworMrrrSirTrirWrZharZlloZhelloxrr helloworldrFrNrDrO)rrrZhelrPrWrrr 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),NTrendswithrFrrFrCrEZworlrMrsZworldrvrFrQrrPrUr!rxrrHrIrTirGrSiiirrWrJrKrLr rMrP)hellZellrQ)rrUrRrrr r r test_endswith=s\  z+MixinStrUnicodeUserStringTest.test_endswithcCs|dddd|dddd|dddd|dddd|dddd|dddd |dd dd |dd dd |dddd dS) NTrF __contains__rrFrzabczabcrZasdfZasdrrr r r test___contains__qsz/MixinStrUnicodeUserStringTest.test___contains__cCs|dddd|dddd|dddd|dddtdd|dddtdd|dddtdd |d ddtdd|tddd dS) Nrrrrrr rSrMrQrFrtrEslicerKr?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)NrrrrrYrMrxrPrrQrrFirtrZrr r r test_slicesz(MixinStrUnicodeUserStringTest.test_slicec Cs~tjtj}dddddtjdddf }|D]P}|D]F}|ddD]4}t||||}|d||d t|||q@q0q(dS) NrrQrM)rSrHirFr) string ascii_lettersrerZr[r/rErbr[)r sindicesstartstopstepLr r r test_extended_getslices  z4MixinStrUnicodeUserStringTest.test_extended_getslicecCsb|dddd|dddd|dddd|dddd|tdd|tddddS) NrFrr__mul__rSrrQZ abcabcabcrMrrr r r test_muls z&MixinStrUnicodeUserStringTest.test_mulc Cs|dddgd|dddd|dddd|d ddd |d ddt|d d dd|dd dtdg|dddgd|tdjgddD]`}|d |d|ddddd |g||d |d|ddddd |f|q|dddt|tdd|tddd|tddd|tddddtgzdd}| d|Wn>ty}z$dt |vr| dWYd}~nd}~00| ddS) Nrr%rbrrrFZbd)rFrrFrZac)rrFr rFzw x y zrrr)rrzza.b.crr)rrrM)r{}rrSrrrQrPcssddVdS)NrUrFr r r r r fsz2MixinStrUnicodeUserStringTest.test_join..f+zjoin() ate exception messagezexception not raised) rErrrGr?rbrrKbytesr$r,Zfail)r rrmer r r test_joins8   z'MixinStrUnicodeUserStringTest.test_joincCsf|dddd|dddd|dd dd|dd dd|d d dd |d d dd |dddd|dd dddD]}|ttfd d|qtjd}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|td5dtjd3d6fGd7d8d8t }|t dd|dS)9Nz+hello+z+%s+__mod__rz+10+z+%d+rRrz%c""$$Z10z%dr.)ii z 42z%3ldrWZ42E@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~) rErKrrrZr[r,rLfloatr?object)r ZordinalZ longvalueZ slongvaluer~r r r test_formattingsR     z-MixinStrUnicodeUserStringTest.test_formattingcCsddlm}m}m}d|d>d}|tdd|ddf|tdd|ddf|tdd|ddf|tdd|ddfdS) Nr)PY_SSIZE_T_MAXINT_MAXUINT_MAXrQr{rrrFr|r})Z _testcapirrr bit_lengthrKr)r rrrZSIZE_MAXr r r test_formatting_c_limitss        z6MixinStrUnicodeUserStringTest.test_formatting_c_limitscCsJtdD]<}d|}d}tdD]"}|ddd}||d|q qdS) Nrz%%.%ifg{Gz?<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 |ddddS) NrrrTrrrrcrrr7rrr r r test_inplace_rewritessz3MixinStrUnicodeUserStringTest.test_inplace_rewritescCsx|ddddd}|d|dd|d|dd |d |dd |d |dd |t|dd|t|dddS)N)zthis is the partiz tion methodzthis is the partition method partitionrhttp://www.python.orghttp://www.python.orgr)rrFrFrrFhttp://rrzhttp://www.python.orgrFrrFrErKrr?r Sr r r test_partition.sz,MixinStrUnicodeUserStringTest.test_partitioncCsx|ddddd}|d|dd|d|dd |d |dd |d |dd |t|dd|t|dddS)N)zthis is the rpartirz on methodzthis is the rpartition method rpartitionrrrr)rFrFrrrrrrrFrrr r r test_rpartition=sz-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|dddddS)NrrPrqrrMrHrrrrrrOrQr'TrTrrFrBr)r rar r r test_none_argumentsLs:z1MixinStrUnicodeUserStringTest.test_none_argumentsc Csd}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\(rRrrqr) ZassertRaisesRegexr?rqrrrrOrBrTrE)r rar'r r r *test_find_etc_raise_correct_error_messagesrs0       zHMixinStrUnicodeUserStringTest.test_find_etc_raise_correct_error_messagesN)rrrrSrVrXr\r]rgrirqrrZ cpython_onlyrrrrrrrr r r r rA s"04     $5  &rAc@seZdZddZdS)MixinStrUnicodeTestcCsn|j}Gddd|}|d}||g}||||t|||d}||g}|||dS)Nc@s eZdZdS)z5MixinStrUnicodeTest.test_bug1001011..subclassNr;r r r r subclasssrr)r.rbr@r5r6)r trs1s2r r r test_bug1001011s z#MixinStrUnicodeTest.test_bug1001011N)rrrrr r r r rsr)r<r_rZrrr collectionsrrrrr"r=rArr r r r s&   Z