a
    ññ"h0
 ã                   @   s¤   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ G dd„ dƒZG dd„ deƒZ	G dd	„ d	eƒZ
G d
d„ dƒZG dd„ deƒZG dd„ dƒZG dd„ dƒZdS )é    N)Úsupport)ÚUserListc                   @   s&   e Zd Zd	dd„Zdd„ Zdd„ ZdS )
ÚSequenceÚwxyzc                 C   s
   || _ d S ©N©Úseq)Úselfr   © r
   ú9/opt/python-3.9.21/usr/lib/python3.9/test/string_tests.pyÚ__init__
   ó    zSequence.__init__c                 C   s
   t | jƒS r   )Úlenr   ©r	   r
   r
   r   Ú__len__   r   zSequence.__len__c                 C   s
   | j | S r   r   )r	   Úir
   r
   r   Ú__getitem__   r   zSequence.__getitem__N)r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r
   r
   r
   r   r   	   s   
r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBadSeq1c                 C   s   g d¢| _ d S )N)é   Úhelloé{   r   r   r
   r
   r   r      r   zBadSeq1.__init__c                 C   s   dj | jŽ S )Nz{0} {1} {2})Úformatr   r   r
   r
   r   Ú__str__   r   zBadSeq1.__str__N)r   r   r   r   r   r
   r
   r
   r   r      s   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBadSeq2c                 C   s   g d¢| _ d S )N©ÚaÚbÚcr   r   r
   r
   r   r      r   zBadSeq2.__init__c                 C   s   dS )Né   r
   r   r
   r
   r   r      r   zBadSeq2.__len__N)r   r   r   r   r   r
   r
   r
   r   r      s   r   c                   @   sl  e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Ze ejd#kpªe d$¡d%kd&¡d'd(„ ƒZd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ 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„ Z1dS )UÚBaseTestNFc                    s~   t |tƒrˆ j |¡S t |tƒr2‡ fdd„|D ƒS t |tƒrRt‡ fdd„|D ƒƒS t |tƒrvt‡ fdd„| ¡ D ƒƒS |S d S )Nc                    s   g | ]}ˆ   |¡‘qS r
   ©Úfixtype©Ú.0Úxr   r
   r   Ú
<listcomp>+   r   z$BaseTest.fixtype.<locals>.<listcomp>c                    s   g | ]}ˆ   |¡‘qS r
   r#   r%   r   r
   r   r(   -   r   c                    s$   g | ]\}}ˆ   |¡ˆ   |¡f‘qS r
   r#   )r&   ÚkeyÚvaluer   r
   r   r(   /   s   ÿ)Ú
isinstanceÚstrÚ	__class__Ú	type2testÚlistÚtupleÚdictÚitems)r	   Úobjr
   r   r   r$   '   s    



þzBaseTest.fixtypec                 C   s   |   t|  d¡ƒ| j¡ d S )NÚ123)ÚassertIsÚtyper$   r.   r   r
   r
   r   Útest_fixtype6   s    zBaseTest.test_fixtypec                    s®   ˆ   |¡}ˆ   |¡}ˆ   |¡}‡ fdd„| ¡ D ƒ}t||ƒ|i |¤Ž}ˆ  ||¡ ||u rªzG dd„ dˆ jjƒ}W n ty†   Y n$0 ||ƒ}t||ƒ|Ž }ˆ  ||¡ d S )Nc                    s   i | ]\}}|ˆ   |¡“qS r
   r#   )r&   ÚkÚvr   r
   r   Ú
<dictcomp>>   r   z'BaseTest.checkequal.<locals>.<dictcomp>c                   @   s   e Zd ZdS )z$BaseTest.checkequal.<locals>.subtypeN©r   r   r   r
   r
   r
   r   ÚsubtypeH   s   r<   )r$   r2   ÚgetattrÚassertEqualr-   r.   Ú	TypeErrorÚassertIsNot)r	   Úresultr3   Ú
methodnameÚargsÚkwargsZ
realresultr<   r
   r   r   Ú
checkequal:   s"    


þzBaseTest.checkequalc                 G   sb   |   |¡}|   |¡}|  |¡}t||ƒ|Ž  W d   ƒ n1 sB0    Y  |  t|jƒd¡ d S )NÚ )r$   ÚassertRaisesr=   ZassertNotEqualr,   Ú	exception)r	   Úexcr3   rB   rC   Úcmr
   r
   r   ÚcheckraisesR   s
    

,zBaseTest.checkraisesc                 G   s&   |   |¡}|   |¡}t||ƒ|Ž  d S r   )r$   r=   )r	   r3   rB   rC   r
   r
   r   Ú	checkcallZ   s    

zBaseTest.checkcallc                    s<  ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   ddddd¡ ˆ   ddddd	¡ ˆ   ddddd
¡ ˆ   ddddd¡ ˆ   dddddd¡ ˆ   dddddd	¡ ˆ   dddddd
¡ ˆ   dddddd¡ ˆ   ddddd¡ ˆ   ddddd¡ ˆ   ddddd	¡ ˆ   ddddd
¡ ˆ   ddddd¡ ˆ   dddd¡ ˆ   dddddd¡ ˆ   ddddtjd¡ ˆ   dddd¡ ˆ   dddddd¡ ˆ   ddddtjd¡ ˆ  tdd¡ ˆ jrþˆ   dddd¡ nˆ  tddd¡ g d¢}d}t|ƒ}tƒ }t|| ƒD ]F}g }t|ƒD ]"}t	||ƒ\}}| 
|| ¡ qD| d |¡¡ q4‡ fdd„|D ƒ}|D ]¤}t|ƒ}	|D ]}| |¡}
|ràt	|	t| |ˆ  d¡¡ƒ t|ƒƒ\}}nt|ƒd d }}|s|
|kr¢ˆ  |dd||f ¡ ˆ  |
|d|
||f ¡ q¢q’d S )Né   ÚaaaÚcountr   r   r   é   é   é
   éÿÿÿÿéöÿÿÿrF   é   Úxxr   é*   )rF   r   r   r   c                    s   g | ]}ˆ   |¡‘qS r
   r#   ©r&   Útsr   r
   r   r(   ‘   r   z'BaseTest.test_count.<locals>.<listcomp>z%s != 0 for %sz%s != %s for %s)rE   ÚsysÚmaxsizerK   r?   Úcontains_bytesr   ÚsetÚrangeÚdivmodÚappendÚaddÚjoinrO   Úreplacer$   r>   )r	   ÚcharsetÚdigitsÚbaseÚteststringsr   ÚentryÚjÚmÚnÚr1Úr2Úremr
   r   r   Ú
test_count_   sj    
ÿ
zBaseTest.test_countc              	      st  ˆ   dddd¡ ˆ   ddddd¡ ˆ   ddddd	¡ ˆ   dddd
d¡ ˆ   dddd
d¡ ˆ   dddd
d	¡ ˆ   dddd¡ ˆ   ddddd	¡ ˆ   ddddd	d¡ ˆ   ddddd	d ¡ ˆ   ddddd d¡ ˆ  tdd¡ ˆ jrîˆ   dddd¡ nˆ  tddd¡ ˆ   dd
dd
¡ ˆ   dd
dd
dd¡ ˆ   dd
dd
tjd¡ ˆ   dd
dd¡ ˆ   dd
dddd¡ ˆ   dd
ddtjd¡ ˆ   ddddtjd d¡ g d¢}d}t|ƒ}tƒ }t|| ƒD ]F}g }t|ƒD ]"}t	||ƒ\}}| 
|| ¡ qÂ| d
 |¡¡ q²‡ fdd„|D ƒ}|D ]^}|D ]R}| |¡}	|	dk}
||v }ˆ  |
|¡ |	dkrˆ  ||	|	t|ƒ … |¡ qqd S )Nr   ÚabcdefghiabcÚfindÚabcé	   rQ   rS   ÚdefrU   rF   rM   rP   Úrrarrrrrrrrrar   é   é   r   rW   rV   ÚabÚxxx©rF   r   r   r    é   c                    s   g | ]}ˆ   |¡‘qS r
   r#   rX   r   r
   r   r(   Î   r   z&BaseTest.test_find.<locals>.<listcomp>)rE   rK   r?   r\   rZ   r[   r   r]   r^   r_   r`   ra   rb   rq   r>   ©r	   rd   re   rf   rg   r   rh   ri   rj   Úlocrl   rm   r
   r   r   Ú	test_findŸ   sR    

zBaseTest.test_findc              	      s  ˆ   dddd¡ ˆ   dddd¡ ˆ   dddd¡ ˆ   d	ddd
¡ ˆ   ddddd¡ ˆ   ddddd¡ ˆ   d	dddd¡ ˆ   dddd¡ ˆ   ddddd¡ ˆ   d	ddddd¡ ˆ   dddddd ¡ ˆ   ddddd d¡ ˆ  tdd¡ ˆ jrúˆ   d	ddd¡ nˆ  tddd¡ g d¢}d}t|ƒ}tƒ }t|| ƒD ]F}g }t|ƒD ]"}t||ƒ\}}| || ¡ q@| 	d 
|¡¡ q0‡ fdd„|D ƒ}|D ]^}|D ]R}| |¡}	|	d	k}
||v }ˆ  |
|¡ |	d	kr–ˆ  ||	|	t|ƒ … |¡ q–qŽˆ   d	dddtjd d¡ ˆ   dddd¡ d S )Nrs   rp   Úrfindrr   rv   rF   r   ÚabcdrS   ZabczrM   rU   ru   r   rw   rP   r   rW   rz   r{   c                    s   g | ]}ˆ   |¡‘qS r
   r#   rX   r   r
   r   r(   ý   r   z'BaseTest.test_rfind.<locals>.<listcomp>rx   ry   rQ   u   <......Ð¼...ú<)rE   rK   r?   r\   r   r]   r^   r_   r`   ra   rb   r   r>   rZ   r[   r|   r
   r   r   Ú
test_rfindØ   sJ    

$zBaseTest.test_rfindc                 C   s"  |   dddd¡ |   dddd¡ |   dddd¡ |   ddddd	¡ |  tddd
¡ |  tdddd	¡ |  tdddd¡ |  tdddd¡ |   dddd¡ |   ddddd¡ |  tddddd¡ |   dddddd ¡ |   ddddd d¡ |  tdd¡ | jr|  tddd¡ n|  tddd¡ d S )Nr   rp   ÚindexrF   rM   rt   rr   rs   rQ   ÚhibZabcdefghiabÚ	abcdefghiÚghir!   rS   rP   ru   r   rv   rU   rw   r   rW   ©rE   rK   Ú
ValueErrorr?   r\   r   r
   r
   r   Ú
test_index  s"    zBaseTest.test_indexc                 C   s<  |   dddd¡ |   dddd¡ |   dddd¡ |   d	dddd	d
¡ |  tddd¡ |  tdddd¡ |  tdddd	d
¡ |  tdddd	d¡ |  tdddd	d
¡ |   dddd¡ |   ddddd¡ |  tddddd¡ |   dddddd ¡ |   ddddd d¡ |  tdd¡ | jr(|  tddd¡ n|  tddd¡ d S )Nrv   rp   ÚrindexrF   rM   rt   rs   rr   r   rS   r„   Z	defghiabcrQ   r…   r†   r!   ru   r   rU   rw   rP   r   rW   r‡   r   r
   r
   r   Útest_rindex&  s$    zBaseTest.test_rindexc                 C   s0   |   ddd¡ |   ddd¡ |  tddd¡ d S )Nr   ÚHeLLoÚlowerrW   ©rE   rK   r?   r   r
   r
   r   Ú
test_lower@  s    zBaseTest.test_lowerc                 C   s0   |   ddd¡ |   ddd¡ |  tddd¡ d S )NZHELLOrŒ   Úupperr   rW   rŽ   r   r
   r
   r   Ú
test_upperE  s    zBaseTest.test_upperc                 C   sà   |   ddd¡ |   dddd¡ |   dddd¡ |   ddd¡ |   dddd¡ |   d	ddd¡ |   d
d
dd¡ | j ddddd | j ddddd |   dddd¡ |  tdddd¡ tjdk rÜt d¡dkrÜ|  tddtj¡ d S )Nzabcab      def
g       hizabcab	def
g	hiÚ
expandtabsr!   zabcab  def
g   hirU   zabc
ab      def
g       hizabc
ab	def
g	hizabc
ab  def
g   hizabc
ab
def
g
hi)Útabsizez  a
 bz 	a
	brQ   r   rW   ì        ÚPz	a
	b)rE   rK   r?   rZ   r[   ÚstructÚcalcsizeÚOverflowErrorr   r
   r
   r   Útest_expandtabsJ  sB    ÿÿÿÿÿÿÿÿÿÿzBaseTest.test_expandtabsc                 C   s.  |   g d¢ddd¡ |   dgdddd¡ |   ddgdddd¡ |   g d	¢dddd
¡ |   g d¢dddd¡ |   g d¢dddd¡ |   g d¢dddtjd
 ¡ |   dgdddd¡ |   g d¢dddd
¡ |   dgddd¡ |   dgddd¡ |   ddgddd¡ |   ddgddd¡ |   g d¢ddd¡ |   g d¢dddd
¡ |   dgd dd d… dd¡ |   dgd dg dd d… ddd¡ |   g d¢ddd ¡ |   dd!gddd d¡ |   g d"¢ddd d
¡ |   g d¢ddd d¡ |   g d¢ddd d¡ |   g d¢ddd tjd# ¡ |   dgddd d¡ |   g d$¢d%dd d
¡ |   ddgd&dd'¡ |   dd(gd)dd'¡ |   g d*¢d+dd'¡ |   dd,gd-dd.¡ |   ddgd/dd/¡ |   d/gd/dd/d¡ |   d0d0gd1dd2¡ |   d3gd3dd4¡ |   dgddd/¡ |   d5gd5dd/¡ |   d6d7gd8dd9¡ |   g d:¢d;dd9¡ |   dgd d<d d=… dd>¡ |   dgd d<d d=… dd>d?¡ |   dgd@ dAg d<d d=… dd>d@¡ | j g d¢ddddB | j ddgdddddC | j ddgdddddD | j ddgdddddE | j ddFgdGdddC |  tdHddIdIdI¡ |  tdHdd¡ |  tdHddd¡ d S )JN©r   r   r    Údúa|b|c|dÚsplitú|r   r   zb|c|drQ   )r   r   zc|drP   rM   rU   )r   rF   zb||c||dú
a||b||c||dr€   rF   úendcase ú	endcase |z
 startcasez| startcase©rF   ZbothcaserF   ú
|bothcase|)r   rF   zb c dúa  b c dú é   ú(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ú//zb//c//d)r   r   zc//drR   )r   rF   zb////c////dúa////b////c////dúendcase testÚtestú
 begincaseútest begincase©rF   z
 bothcase rF   útest bothcase testÚbcÚabbbcÚbbrN   rx   ÚabbaabÚbaÚaaaaÚaabÚaaÚAZbobbZ
AbbobbbobbÚbbobb)r»   ÚBrF   ZAbbobbBbbobbÚdaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHéüÿÿÿÚBLAHé   é   ÚaBLAHa©Úsep©Úmaxsplit©rÅ   rÇ   ©rÇ   rÅ   úb c dúa b c dr   rW   ©rE   rZ   r[   rK   r?   rˆ   r   r
   r
   r   Ú
test_splitg  s„    ÿÿÿÿ ÿ
ÿ
ÿ
ÿ
ÿzBaseTest.test_splitc                 C   s  |   g d¢ddd¡ |   ddgdddd¡ |   g d¢dddd	¡ |   g d¢dddd
¡ |   g d¢dddd¡ |   g d¢dddtjd ¡ |   dgdddd¡ |   g d¢dddd	¡ |   dgddd¡ |   dgddd¡ |   ddgddd¡ |   ddgddd¡ |   g d¢ddd¡ |   g d¢dddd	¡ |   dgd dd d… dd¡ |   dgdgd   dd d… ddd ¡ |   g d¢d!dd"¡ |   d#dgd!dd"d¡ |   g d$¢d!dd"d	¡ |   g d¢d!dd"d
¡ |   g d¢d!dd"d¡ |   g d¢d!dd"tjd% ¡ |   d!gd!dd"d¡ |   g d&¢d'dd"d	¡ |   ddgd(dd)¡ |   ddgd*dd)¡ |   g d+¢d,dd)¡ |   d-d.gd/dd0¡ |   ddgd1dd1¡ |   d1gd1dd1d¡ |   d-d-gd2dd3¡ |   d4gd4dd5¡ |   dgddd1¡ |   d6gd6dd1¡ |   d7d8gd9dd:¡ |   g d;¢d<dd:¡ |   dgd d=d d>… dd?¡ |   dgd d=d d>… dd?d@¡ |   dAgdgdB  d=d d>… dd?dB¡ | j g d¢ddddC | j ddgdddddD | j ddgdddddE | j ddgdddddF | j dGdgdHdddD |  tdIddJdJdJ¡ |  tdIdd¡ |  tdIddd¡ d S )KNrš   rœ   Úrsplitrž   za|b|cr›   rQ   )za|br    r›   rP   rM   rU   éd   r   )za||b||crF   r›   rŸ   r€   rF   r¯   z| begincaser    r¡   r¢   r£   )za  br    r›   r¤   r¥   r   r¦   r§   rS   r©   r¨   rª   r«   za//b//c)za//br    r›   r{   )za////b////crF   r›   r¬   r°   r®   r­   r±   r²   rx   r    r´   rµ   rN   r¶   r·   r¸   r¹   rº   Zbbobr»   Z
bbobbbobbAr¼   )rF   r½   r»   ZbbobbBbbobbAr¾   r¿   rÀ   rÁ   rÃ   rÂ   rÄ   rÆ   rÈ   rÉ   úa b crË   r   rW   rÌ   r   r
   r
   r   Útest_rsplit­  s‚    ÿÿÿÿ ÿ
ÿ
ÿ
ÿ
ÿzBaseTest.test_rsplitc                 C   sö  | j }|dddddƒ |dddddƒ |dddddƒ |dddddƒ |ddddddƒ |ddddddƒ |dddddtjƒ |dddddƒ |dddddƒ |dddddƒ |d	dddd
ƒ |dddddƒ |ddddddƒ |dddddtjƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |dddddƒ |dddddƒ |ddddddƒ |dddddtjƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |dddddƒ |dddddƒ |ddddddƒ |dddddtjƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |ddddddƒ |dddddƒ |dddddƒ |dddddƒ |d d dddƒ |d!d"dddd#ƒ |dd$dd$dƒ |d%d&dd$dƒ |dd'dd$dƒ |dd(dd$dƒ |d)d*dd$dƒ |d+d+dd$dƒ |d,d,dd$dƒ |d-d.dd$dƒ |d/d0dd$dtjƒ |d/d0dd$ddƒ |d/d0dd$ddƒ |d/d0dd$ddƒ |d1d0dd$ddƒ |d0d0dd$ddƒ |d/d0dd$dƒ |d2d2dd$dƒ |d3d3dd$dƒ |d4d5dd4dƒ |d6d7dd4dƒ |d8d9dd4dƒ |d8d8dd4dƒ |d:d:dd;d;ƒ |d<d:dd;d=ƒ |d<d:dd;d=tjƒ |d<d:dd;d=dƒ |d<d:dd;d=dƒ |d<d:dd;d=dƒ |d>d:dd;d=dƒ |d:d:dd;d=dƒ |d:d:dd?d@ƒ |dAd:ddBdCƒ |dDdEddBdCƒ |dFd:ddGdHƒ |dIdJddGdHƒ |d:d:ddKdHƒ |dLdMddNdOƒ |dLdMddNdOtjƒ |dLdMddNdOdƒ |dLdMddNdOdƒ |dLdMddNdOdƒ |dPdMddNdOdƒ |dQdMddNdOdƒ |dMdMddNdOdƒ |dRdSdd4dTƒ |dUdVdd4dTƒ |dSdSddWdWƒ |dXdYddZd[ƒ |dXdYddZd[dƒ |dXdYddZd[tjƒ |dXdYddZd[dƒ |d\dYddZd[dƒ |dYdYddZd[dƒ |d]d^ddKd_ƒ |d`daddbdcƒ |dYdYdd@d[ƒ |dddeddfdgƒ |dddeddfdgtjƒ |dddeddfdgdƒ |dddeddfdgdƒ |dddeddfdgdƒ |dhdeddfdgdƒ |dideddfdgdƒ |dededdfdgdƒ |dSdjddSd4ƒ |dkdlddSd4ƒ |dmdmdd4dnƒ |   dodpddHdqd¡ |   drdpddHd¡ |   dsdpddHdqd¡ |   dtdpddHdqd¡ |   dtdpddHdqd¡ |   dpdpddHdqd¡ |   dtdpddHdq¡ |   dpdpddudq¡ |   dpdpddudqd¡ |   dvd2dddw¡ |   dxd2dddwd¡ |   d2d2dddwd¡ |   ddddd¡ |   d2d2ddydzd¡ |   d2d2dd{dz¡ |   dd|dd|d¡ |   dd}dd|d¡ |   dud~dd|d¡ |  tdd¡ |  tddd€¡ |  tddd€d¡ |  tdddd€¡ d S )‚NrF   rc   r»   rÏ   z*A*Ú*z*1A*1z*1z*-#A*-#z*-#z*-A*-A*-ÚAAz*-rS   rU   rM   z*-A*-ArP   z*-AArQ   r   ZAAAZ
AAAAAAAAAAZBCDZABACADAr{   ZBCDAZBCADAZBACADAZABCADZABCADAAz*************z^A^aê  ^AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA^iç  ÚtheZaterZtheaterZthetheZthethethether¸   ZtheatheatheatheaÚthatZthaetzhere and rezhere and therezhere and re and rezhere and there and therezhere and re and thererr   ZabcdefgZbobZbbobobZbobXbobZbbobobXbbobobZaaaaaaaZ
aaaaaaabobzWho goes there?ÚozWhO gOes there?ÚOzWhO goes there?r   Úqzwho goes there?ÚWÚwzwwho goes there?wwzWWho goes there?WWzWho goes there!ú?ú!zWho goes there!!zWho goes there??Ú.zTh** ** a t**suezThis is a tissueÚisz**zTh** ** a tissuezTh** is a tissueZcobobZbobobZcobZcobobXcobocobZbobobXbobobobZbotZReyKKjaviKKZ	Reykjavikr8   ZKKZ
ReyKKjavikzA----B----C----zA.B.C.z----u   ...Ð¼......&lt;õ   ...Ð¼......<r   z&lt;zham, ham, eggs and hamzspam, spam, eggs and spamÚspamZhamzham, ham, eggs and spamzham, spam, eggs and spamZbobobobZbobobXbobobZbobobobXbobobobZBOBOBOBZbobbyzone@two!three!zone!two!three!ú@Zonetwothreezone@two@three!zone@two@three@r'   z-a-b-c-ú-z-a-b-crx   z--Zxyr4   Z123123Z123x123r   rW   Úh)rE   rZ   r[   rK   r?   )r	   ZEQr
   r
   r   Útest_replaceó  s@   
ÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿzBaseTest.test_replacer”   r•   rU   z only applies to 32-bit platformsc                 C   sF   dd }|   t|dd|¡ |   t|dd|¡ |   t|dd|| ¡ d S )Nr»   i   rc   rF   rÓ   )rK   r˜   )r	   ZA2_16r
   r
   r   Útest_replace_overflow¤  s    zBaseTest.test_replace_overflowc                 C   sæ   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd	¡ |   d
d
dd
¡ |   d
d
dd¡ |   dddd
¡ |   d
ddd¡ |  tdd¡ |  tddd¡ |  tdddd¡ |  tdddd¡ |  tddd¡ d S )NÚamrà   ÚremoveprefixÚspÚspamspamÚspamspamspamÚpythonZspiderzspam and eggsrF   Úabcder   rW   rã   )ÚheÚlrŽ   r   r
   r
   r   Útest_removeprefix­  s    zBaseTest.test_removeprefixc                 C   sæ   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd	¡ |   d
d
dd
¡ |   d
d
dd¡ |   dddd
¡ |   d
ddd¡ |  tdd¡ |  tddd¡ |  tdddd¡ |  tdddd¡ |  tddd¡ d S )Nrè   rà   Úremovesuffixræ   ré   rê   rë   Zblamzeggs and spamrF   rì   r   rW   rã   )Úlorî   rŽ   r   r
   r
   r   Útest_removesuffix¿  s    zBaseTest.test_removesuffixc                 C   sZ   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |  tddd	¡ d S )
Nú hello Ú
capitalizeúHello úhello ZAaaar¸   ZAaAar   rW   rŽ   r   r
   r
   r   Útest_capitalizeÑ  s    zBaseTest.test_capitalizec                 C   s(  |   g d¢dd¡ |   g d¢dd¡ |   ddgddd d	¡ |   g d
¢ddd d¡ |   g d¢ddd d¡ |   g d¢ddd d¡ |   g d¢ddd tjd	 ¡ |   dgddd d¡ |   dgddd d¡ |   g d¢ddd d¡ |   g dd¡ |   dgdd¡ |   ddgdd¡ |   ddgddd d	¡ |   dgddd d¡ |   ddgddd d	¡ |   g d¢ddd d¡ |   g d¢ddd d¡ |   ddgdd¡ d}|   dgd |d¡ |   dg|dd … g |dd d	¡ |   dgd d g |dd d¡ d!D ]B}|   d"d#g|d¡ |   d"d#g|dd ¡ |   d"d#g|dd d¡ qàd S )$N)ÚthisrÞ   rÔ   r   Úfunctionzthis is the split functionr   rš   úa b c d r   rÊ   rË   rQ   )r   r   zc drP   rM   rU   r   z	  a b c d)r   r   zc  dú
a  b  c  dú	         ú  a    r   ú  a    b   zb   za    b   c   ú  a    b   c   zb   c   )r   r   zc   r   ú
	a 	 b  ú< a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a  a r¦   rÁ   za ©zarf	barfzarf
barfzarfbarfzarfbarfzarfbarfÚarfÚbarf©rE   rZ   r[   ©r	   rN   r   r
   r
   r   Útest_additional_splitÚ  s>    
ÿÿ"zBaseTest.test_additional_splitc                 C   s,  |   g d¢dd¡ |   g d¢dd¡ |   ddgddd d	¡ |   g d
¢ddd d¡ |   g d¢ddd d¡ |   g d¢ddd d¡ |   g d¢ddd tjd ¡ |   dgddd d¡ |   dgddd d¡ |   g d¢ddd d¡ |   g dd¡ |   dgdd¡ |   ddgdd¡ |   ddgddd d	¡ |   dgddd d¡ |   ddgddd d	¡ |   g d¢ddd d¡ |   g d¢ddd d¡ |   ddgddd d ¡ d!}|   dgd |d¡ |   |d d"… gdg |dd d	¡ |   d#gdgd$  |dd d$¡ d%D ]B}|   d&d'g|d¡ |   d&d'g|dd ¡ |   d&d'g|dd d¡ qäd S )(N)rø   rÞ   rÔ   rÎ   rù   zthis is the rsplit functionrÎ   rš   rú   rÐ   r›   rË   rQ   )za br    r›   rP   rM   rU   r¦   r   z	a b c d  )za  br    r›   rû   rü   r   rý   r   rþ   ú  az  a    b   crÿ   z  a    br    )r  r   r    r   r   éX   r  r¿   z a  arÂ   r  r  r  r  r  r
   r
   r   Útest_additional_rsplitþ  sN    
ÿÿÿÿÿÿ"zBaseTest.test_additional_rsplitc                 C   sª   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ d}|   d	|d¡ |   d
|d¡ |   d|d¡ |   dddd ¡ |   dddd ¡ |   dddd ¡ |   dddd ¡ d S )Nr   z   hello   Ústripzhello   Úlstripz   helloÚrstripz 	
abc 	
rr   z	abc 	
z	 	
abc©rE   )r	   r   r
   r
   r   Útest_strip_whitespace&  s    zBaseTest.test_strip_whitespacec                 C   sš   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   d	d
dd
¡ |   dd
dd¡ |  tdddd¡ |  tdddd¡ |  tdddd¡ d S )Nr   Zxyzzyhelloxyzzyr  ZxyzZ
helloxyzzyr  Z
xyzzyhellor  rF   ZmississippiZ
mississippr   rW   rŽ   r   r
   r
   r   Ú
test_strip7  s    zBaseTest.test_stripc                 C   sd   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   d	dddd
¡ |  tdd¡ d S )Nz
abc       rr   ÚljustrR   zabc   rw   rM   rP   z
abc*******rÒ   rŽ   r   r
   r
   r   Ú
test_ljustF  s    zBaseTest.test_ljustc                 C   sd   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   d	dddd
¡ |  tdd¡ d S )Nz
       abcrr   ÚrjustrR   z   abcrw   rM   rP   z
*******abcrÒ   rŽ   r   r
   r
   r   Ú
test_rjustN  s    zBaseTest.test_rjustc                 C   sd   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   d	dddd
¡ |  tdd¡ d S )Nz
   abc    rr   ÚcenterrR   z abc  rw   rM   rP   z
***abc****rÒ   rŽ   r   r
   r
   r   Útest_centerV  s    zBaseTest.test_centerc                 C   s"   |   ddd¡ |  tddd¡ d S )NzhEllO CoMPuTErSzHeLLo cOmpUteRsÚswapcaser   rW   rŽ   r   r
   r
   r   Útest_swapcase^  s    zBaseTest.test_swapcasec                 C   sÒ   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd	¡ |   d
d
dd¡ |   d
d
dd¡ |   dd
dd	¡ |   dddd¡ |   dddd¡ |   dddd¡ |  tdd¡ d S )Nr4   ÚzfillrP   rM   Z0123rU   z+123z+0123r{   z-123z-0123Z000rF   Z34rQ   Z0034rŽ   r   r
   r
   r   Ú
test_zfillc  s    zBaseTest.test_zfillc                 C   sv   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |  tddd¡ d S )NFrF   ÚislowerTr   r»   Ú
rr   ZaBcúabc
rW   rŽ   r   r
   r
   r   Útest_islowers  s    zBaseTest.test_islowerc                 C   sv   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |  tddd¡ d S )NFrF   Úisupperr   Tr»   r  ÚABCZAbCzABC
rr   rW   rŽ   r   r
   r
   r   Útest_isupper}  s    zBaseTest.test_isupperc                 C   s®   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |  tddd¡ d S )NFrF   Úistitler   Tr»   r  zA Titlecased LinezA
Titlecased LinezA Titlecased, LinezNot a capitalized StringzNot	a Titlecase StringzNot--a Titlecase StringZNOTrr   rW   rŽ   r   r
   r
   r   Útest_istitle‡  s    zBaseTest.test_istitlec                 C   s„   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |   ddd¡ |  tddd¡ d S )NFrF   Úisspacer   Tú ú	úr  z 	
z 	
arr   rW   rŽ   r   r
   r
   r   Útest_isspace•  s    zBaseTest.test_isspacec                 C   sv   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |  tddd¡ d S )NFrF   ÚisalphaTr   r»   r  rr   ZaBc123r  rW   rŽ   r   r
   r
   r   Útest_isalpha   s    zBaseTest.test_isalphac                 C   s„   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   dd
d¡ |   ddd¡ |  tddd¡ d S )NFrF   ÚisalnumTr   r»   r  Z	123abc456Za1b3czaBc000 r  rr   rW   rŽ   r   r
   r
   r   Útest_isalnumª  s    zBaseTest.test_isalnumc                 C   sÆ   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ td
ƒD ]d}|   dd| d d¡ |   dd| d d¡ |   dd| d d d¡ |   dd| d d d¡ q\d S )NTrF   Úisasciir¥   úz Fõ   Â€õ   Ã©r!   r%  z        )rE   r^   )r	   Úpr
   r
   r   Útest_isasciiµ  s    zBaseTest.test_isasciic                 C   sZ   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |  td	dd
¡ d S )NFrF   Úisdigitr   TÚ0Ú
0123456789Z0123456789arr   rW   rŽ   r   r
   r
   r   Útest_isdigitÄ  s    zBaseTest.test_isdigitc                 C   sh   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   d
dd¡ |  tddd¡ d S )Nz Hello ró   Útitlerõ   rö   zFormat This As Title StringzfOrMaT thIs aS titLe StringzFormat,This-As*Title;StringzfOrMaT,thIs-aS*titLe;StringZGetintZgetIntr   rW   rŽ   r   r
   r
   r   Ú
test_titleÍ  s    zBaseTest.test_titlec                 C   sÖ   |   g d¢dd¡ |   g d¢dd¡ |   g d¢dd¡ |   g d¢dd¡ |   g d¢d	d¡ |   g d
¢dd¡ |   g d
¢ddd¡ |   g d¢ddd¡ | j g d
¢dddd | j g d¢dddd |  tdddd¡ d S )N)rr   rt   rF   r†   zabc
def
ghiÚ
splitlineszabc
def

ghi)rr   rt   r†   zabc
def
ghizabc
def
ghi
)rr   rt   r†   rF   zabc
def
ghi
)rF   rr   rt   r†   rF   z
abc
def
ghi
F)r  r  zdef
zghi
r'  T)Úkeependsrr   rW   rŽ   r   r
   r
   r   Útest_splitlinesÖ  s&    
ÿ
ÿÿ
ÿzBaseTest.test_splitlines)2r   r   r   r.   r\   r$   r7   rE   rK   rL   ro   r~   r‚   r‰   r‹   r   r‘   r™   rÍ   rÑ   rä   ÚunittestZskipIfrZ   r[   r–   r—   rå   rï   rò   r÷   r  r
  r  r  r  r  r  r  r  r  r!  r#  r(  r*  r,  r2  r6  r8  r;  r
   r
   r
   r   r"      sZ   @95FF 2ÿ
	$(


		r"   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
CommonTestc                 C   sF   |   d¡}|   d¡}|D ]}||7 }t|ƒ q|  t|ƒt|ƒ¡ d S )NZDNSSECrF   )r.   Úhashr>   )r	   r   r   r    r
   r
   r   Ú	test_hashí  s    


zCommonTest.test_hashc                 C   sX   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   dd	d¡ |   d
d
d¡ d S )Nu   á¿¼á¿³á¿³á¿³u   á¿³á¿³á¿¼á¿¼rô   u   â“…â“¨â“£â“—â“žâ“u   â“…â“Žâ“‰â’½â“„â“ƒu   â“Ÿâ“¨â“£â“—â“žâ“u	   â… â…±â…²u	   â… â…¡â…¢u	   â…°â…±â…²u   Æ›á´€á¶†È¡á¾·r  r   r
   r
   r   Útest_capitalize_nonasciiö  s$    ÿÿÿÿÿÿz#CommonTest.test_capitalize_nonasciiN)r   r   r   r?  r@  r
   r
   r
   r   r=  é  s   	r=  c                   @   s’   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zejdd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!S )"ÚMixinStrUnicodeUserStringTestc                 C   s°  |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   ddddd	¡ |   dddd
d¡ |   dddd
d¡ |   ddddd¡ |   ddddd¡ |   ddddd¡ |   dddddd¡ |   dddddd¡ |   dddddd	¡ |   dddddd¡ |   ddddd	d¡ |   dddddd¡ |   dddddd¡ |   dddddd¡ |   dddddd¡ |   ddddd¡ |   ddddd¡ |   dddd
d¡ |   dddd
d¡ |   dddddd¡ |   ddddd¡ |  tdd¡ |  tddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd ¡ |   dddd!d¡ |   dddd"d¡ |   dddd#dd¡ |   dddd$dd	¡ |   dddd$dd%¡ |  tddd&¡ d S )'NTr   Ú
startswithrí   Fúhello worldrF   ÚellorQ   rÖ   rU   r{   rñ   rw   Ú
helloworldÚloworM   r   r   rS   iËÿÿÿrT   éûÿÿÿr¿   éþÿÿÿéýÿÿÿi÷ÿÿÿrW   ©rí   Zha©rñ   Zllo©Zhelloxr   r
   ©ÚhellowoÚrldrF  ©rN  rD  rO  )rñ   rí   ©rí   ZhelrP   ©rW   rŽ   r   r
   r
   r   Útest_startswith  sT    ÿÿz-MixinStrUnicodeUserStringTest.test_startswithc                 C   s  |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dd	dd
¡ |   dd	dd
dd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dddddd¡ |   dddddd¡ |   dddddd¡ |   dddddd¡ |   dddddd¡ |   ddddd¡ |   ddddd¡ |   dddddd¡ |   dddddd¡ |   dd	dd
d¡ |   dd	dd
dd¡ |   dd	dd
dd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd¡ |   dd	dddd ¡ |   dd	dddd¡ |  tdd¡ |  tddd!¡ |   dddd"¡ |   dddd#¡ |   dddd$¡ |   dddd%¡ |   dd	dd&d¡ |   dd	dd'dd¡ |   dddd(dd¡ |   dddd)dd¡ |   dddd*dd¡ |  tddd+¡ d S ),NTr   Úendswithrñ   Frí   rF   rC  rE  ZworlrM   rs   Zworldrv   rF  rQ   r   rP   rU   r!   rx   r   rH  rI  rT   iúÿÿÿrG  rS   iùÿÿÿiÿÿÿiøÿÿÿr¿   rW   rJ  rK  rL  r
   rM  rP  )ÚhellZellrQ  )rí   rU  rR  rŽ   r   r
   r
   r   Útest_endswith=  s\    ÿÿz+MixinStrUnicodeUserStringTest.test_endswithc                 C   s”   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |   dddd	¡ |   dd
dd
¡ |   dddd
¡ |   dddd
¡ d S )NTrF   Ú__contains__rr   Fr¥   z abczabc r   ZasdfZasdr  r   r
   r
   r   Útest___contains__q  s    z/MixinStrUnicodeUserStringTest.test___contains__c                 C   sœ   |   dddd¡ |   dddd¡ |   dddd¡ |   dddtddƒ¡ |   dddtddƒ¡ |   dddtdd	ƒ¡ |   d
ddtddƒ¡ |  tddd¡ d S )Nr   rr   r   r   r    rS   rM   éè  rQ   rF   rt   ©rE   ÚslicerK   r?   r   r
   r
   r   Útest_subscript|  s    z,MixinStrUnicodeUserStringTest.test_subscriptc                 C   sÚ   |   dddtddƒ¡ |   dddtddƒ¡ |   dddtddƒ¡ |   dddtd	dƒ¡ |   d
ddtd	dƒ¡ |   dddtddƒ¡ |   dddtddƒ¡ |   dddtddƒ¡ |   dddtdd	ƒ¡ |  tddd¡ d S )Nrr   r   r   rY  rM   rx   rP   r³   rQ   r   rF   iÐ  rt   rZ  r   r
   r
   r   Ú
test_slice‡  s    z(MixinStrUnicodeUserStringTest.test_slicec                 C   s~   t jt j }dd dddtjdddf	}|D ]P}|D ]F}|dd … D ]4}t|ƒ|||… }|  d |¡|d	t|||ƒ¡ q@q0q(d S )
Nr   rQ   rM   é)   rS   rH  iÛÿÿÿrF   r   )	ÚstringÚascii_lettersre   rZ   r[   r/   rE   rb   r[  )r	   ÚsÚindicesÚstartÚstopÚstepÚLr
   r
   r   Útest_extended_getslice”  s    
ÿz4MixinStrUnicodeUserStringTest.test_extended_getslicec                 C   sb   |   dddd¡ |   dddd¡ |   dddd¡ |   dddd¡ |  tdd¡ |  tddd¡ d S )	NrF   rr   Ú__mul__rS   r   rQ   Z	abcabcabcrM   rŽ   r   r
   r
   r   Útest_mul   s    z&MixinStrUnicodeUserStringTest.test_mulc              
   C   sÎ  |   dddg d¢¡ |   dddd¡ |   dddd¡ |   d	ddd
¡ |   dddtƒ ¡ |   dddd¡ |   dddtdgƒ¡ |   dddg d¢¡ |  tdjg d¢¡ dD ]`}|   d| d | d d… ddd| g| ¡ |   d| d | d d… ddd| f| ¡ q¨|   dddtƒ ¡ |  tdd¡ |  tddd ¡ |  tddd¡ |  tddddtƒ g¡ zdd„ }|  	d¡ |ƒ ¡ W n> ty¾ } z$dt
|ƒvrª|  d¡ W Y d }~nd }~0 0 |  d¡ d S ) NrË   r%  rb   rš   r€   rF   Zbd)rF   r   rF   r›   Zac)r   rF   r    rF   zw x y zrr   r   )rr   Úzza.b.crÝ   r   )r   r   rM   )r{   é   é}   râ   rS   rÐ   r   rQ   rP   c                   s   s   dd V  d S )NrU   rF   r
   r
   r
   r
   r   ÚfÆ  s    z2MixinStrUnicodeUserStringTest.test_join.<locals>.fú+zjoin() ate exception messagezexception not raised)rE   r   r   rG   r?   rb   r   rK   Úbytesr$   r,   Zfail)r	   r   rm  Úer
   r
   r   Ú	test_join«  s8    ÿÿ z'MixinStrUnicodeUserStringTest.test_joinc                 C   sf  |   dddd¡ |   dddd¡ |   dd	dd¡ |   dd	dd¡ |   d
d	dd¡ |   dd	dd¡ |   dddd¡ |   dd	dd¡ dD ]}|  ttfd	d|¡ q„tjd }t|ƒ}|   dddd¡ |   dddd¡ |   |dd|¡ |  ddt|ƒ¡ |   dddd¡ |   dddd¡ |  t	dd¡ |  t	ddd¡ |  t	ddd¡ |  t	d	dd¡ |  td di ¡ |  t	d!dd"¡ |  t	ddd¡ |  t	ddd#¡ |   d$d%dd&d$i¡ |   d'd(dd)¡ |  t	d*dd+¡ |  t	d,dd-¡ |  td.dd¡ |  td/d0 dd1¡ |  td2d0 dd1¡ |  td*dtjd3 d4f¡ |  td5dtjd3 d6f¡ G d7d8„ d8t
ƒ}|  t	dd|ƒ ¡ d S )9Nz+hello+z+%s+Ú__mod__r   z+10+z+%d+rR   r   z%cú"é"   ú$é$   Z10z%dr.  é   )iœÿÿÿi    z 42z%3ldrW   Z42ç      E@z0042.00z%07.2fz%07.2Frr   z%(foo)sz%s%srR  r   z%(fooz%(foo)s %(bar)s)ÚfoorW   y      E@        Úbarz	%((foo))sz(foo)Zhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxz%sxZgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaú%*s)ry  rz  z%10.*f)ry  rx  z%10z%%%dfl            gš™™™™™	@z%%.%dfrQ   rF   ú%.*fç’$I’$IÂ?c                   @   s   e Zd ZdS )z8MixinStrUnicodeUserStringTest.test_formatting.<locals>.XNr;   r
   r
   r
   r   ÚX  r   r~  )rE   rK   rˆ   r˜   rZ   r[   r,   rL   Úfloatr?   Úobject)r	   ZordinalZ	longvalueZ
slongvaluer~  r
   r
   r   Útest_formattingÏ  sR    

ÿ
ÿz-MixinStrUnicodeUserStringTest.test_formattingc                 C   sŒ   ddl m}m}m} d| ¡ d > d }|  tdd|d df¡ |  tdd|d df¡ |  tdd|d df¡ |  tdd|d df¡ d S )	Nr   )ÚPY_SSIZE_T_MAXÚINT_MAXÚUINT_MAXrQ   r{  rr  rF   r|  r}  )Z	_testcapir‚  rƒ  r„  Ú
bit_lengthrK   r˜   )r	   r‚  rƒ  r„  ZSIZE_MAXr
   r
   r   Útest_formatting_c_limits  s    

ÿ

ÿ

ÿ

ÿz6MixinStrUnicodeUserStringTest.test_formatting_c_limitsc                 C   sJ   t dƒD ]<}d| }d}t dƒD ]"}|d d d }|  |d|¡ q qd S )	NrÏ   z%%.%ifg{®Gáz„?é<   gê.DTû!	@g      @g      $@rr  )r^   rL   )r	   Zprecr   r*   r'   r
   r
   r   Útest_floatformatting  s    z2MixinStrUnicodeUserStringTest.test_floatformattingc                 C   s°   |   ddd¡ |   ddd¡ |   ddd¡ |   ddd¡ |   ddddd¡ |   ddd¡ |   ddd	¡ |   ddd¡ |   ddd
¡ |   ddd¡ |   ddd¡ |   ddd¡ d S )Nr   r»   r   Tr  r   r  rc   rô   r  r7  r  r   r
   r
   r   Útest_inplace_rewrites  s    z3MixinStrUnicodeUserStringTest.test_inplace_rewritesc                 C   sx   |   dddd¡ d}|   d|dd¡ |   d|dd	¡ |   d
|dd¡ |   d|dd¡ |  t|dd¡ |  t|dd ¡ d S )N)zthis is the parÚtiztion methodzthis is the partition methodÚ	partitionrŠ  úhttp://www.python.org©Úhttpú://úwww.python.orgr  )rŒ  rF   rF   rÛ   ©rF   úhttp://r  r’  ©zhttp://www.python.ÚorgrF   r”  rF   ©rE   rK   rˆ   r?   ©r	   ÚSr
   r
   r   Útest_partition.  s    ÿz,MixinStrUnicodeUserStringTest.test_partitionc                 C   sx   |   dddd¡ d}|   d|dd¡ |   d|dd	¡ |   d
|dd¡ |   d|dd¡ |  t|dd¡ |  t|dd ¡ d S )N)zthis is the rpartirŠ  z	on methodzthis is the rpartition methodÚ
rpartitionrŠ  rŒ  r  r  )rF   rF   rŒ  rÛ   r‘  r’  r“  r”  rF   r•  r–  r
   r
   r   Útest_rpartition=  s    ÿz-MixinStrUnicodeUserStringTest.test_rpartitionc                 C   s*  d}|   d|ddd ¡ |   d|dddd ¡ |   d|ddd d¡ |   d|ddd d ¡ |   d|d	dd ¡ |   d|d	ddd ¡ |   d|d	dd d¡ |   d|d	dd d ¡ |   d|d
dd ¡ |   d|d
ddd ¡ |   d|d
dd d¡ |   d|d
dd d ¡ |   d|ddd ¡ |   d|dddd ¡ |   d|ddd d¡ |   d|ddd d ¡ |   d|ddd ¡ |   d|dddd ¡ |   d|ddd d¡ |   d|ddd d ¡ |   d|ddd ¡ |   d|dddd ¡ |   d|ddd d¡ |   d|ddd d ¡ |   d|ddd ¡ |   d|dddd ¡ |   d|ddd d¡ |   d|ddd d ¡ d S )Nr   rP   rq   rî   rM   rH  r   rã   r   rƒ   rŠ   rO   rQ   r'   TrT  rÖ   rñ   FrB  r  )r	   ra  r
   r
   r   Útest_none_argumentsL  s:    z1MixinStrUnicodeUserStringTest.test_none_argumentsc              	   C   sÄ   d}d}|   td|j|d d d ¡ |   td|j|d d d ¡ |   td|j|d d d ¡ |   td|j|d d d ¡ |   td|j|d d d ¡ |   td|j|d d d ¡ |   td	|j|d d d ¡ |  	d
ddd¡ d S )Nr   r'   z^find\(z^rfind\(z^index\(z	^rindex\(z^count\(z^startswith\(z^endswith\(rR   rß   rq   r   )
ZassertRaisesRegexr?   rq   r   rƒ   rŠ   rO   rB  rT  rE   )r	   ra  r'   r
   r
   r   Ú*test_find_etc_raise_correct_error_messagesr  s0    ÿÿÿÿÿÿÿzHMixinStrUnicodeUserStringTest.test_find_etc_raise_correct_error_messagesN)r   r   r   rS  rV  rX  r\  r]  rg  ri  rq  r  r   Zcpython_onlyr†  rˆ  r‰  r˜  rš  r›  rœ  r
   r
   r
   r   rA  	  s"   04$5
	&rA  c                   @   s   e Zd Zdd„ ZdS )ÚMixinStrUnicodeTestc                 C   sn   | j }G dd„ d|ƒ}|dƒ}|ƒ  |g¡}|  ||¡ |  t|ƒ|¡ |dƒ}|ƒ  |g¡}|  ||¡ d S )Nc                   @   s   e Zd ZdS )z5MixinStrUnicodeTest.test_bug1001011.<locals>.subclassNr;   r
   r
   r
   r   Úsubclass’  s   rž  r€   )r.   rb   r@   r5   r6   )r	   Útrž  Ús1Ús2r
   r
   r   Útest_bug1001011Œ  s    z#MixinStrUnicodeTest.test_bug1001011N)r   r   r   r¢  r
   r
   r
   r   r  ‰  s   r  )r<  r_  rZ   r–   r®   r   Úcollectionsr   r   r   r   r"   r=  rA  r  r
   r
   r
   r   Ú<module>   s&           Z    