o
    GXîh! ã                   @   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 d dl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
   ú;/opt/python-3.10.19/usr/lib/python3.10/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                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚBadSeq1c                 C   ó   g d¢| _ d S )N)é   Úhelloé{   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__   ó    zBadSeq1.__str__N)r   r   r   r   r   r
   r
   r
   r   r      ó    r   c                   @   r   )ÚBadSeq2c                 C   r   )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      s    zBadSeq2.__len__N)r   r   r   r   r   r
   r
   r
   r   r!      r    r!   c                   @   s|  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d#d$„ Zd%d&„ Ze ejd'kp]e d(¡d)kd*¡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„ Z1dUdV„ Z2dWdX„ Z3dS )YÚBaseTestNFc                    sz   t |tƒrˆ j |¡S t |tƒr‡ fdd„|D ƒS t |tƒr)t‡ fdd„|D ƒƒS t |tƒr;t‡ fdd„| ¡ D ƒƒS |S )Nc                    ó   g | ]}ˆ   |¡‘qS r
   ©Úfixtype©Ú.0Úxr   r
   r   Ú
<listcomp>,   ó    z$BaseTest.fixtype.<locals>.<listcomp>c                    r(   r
   r)   r+   r   r
   r   r.   .   r/   c                    s$   g | ]\}}ˆ   |¡ˆ   |¡f‘qS r
   r)   )r,   ÚkeyÚvaluer   r
   r   r.   0   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*   r5   r   r
   r
   r   Útest_fixtype7   s   zBaseTest.test_fixtypec                    s´   ˆ   |¡}ˆ   |¡}ˆ   |¡}‡ fdd„| ¡ D ƒ}t||ƒ|i |¤Ž}ˆ  ||¡ ||u rXzG dd„ dˆ jjƒ}W n
 tyD   Y d S w ||ƒ}t||ƒ|Ž }ˆ  ||¡ d S d S )Nc                    s   i | ]
\}}|ˆ   |¡“qS r
   r)   )r,   ÚkÚvr   r
   r   Ú
<dictcomp>?   s    z'BaseTest.checkequal.<locals>.<dictcomp>c                   @   ó   e Zd ZdS )z$BaseTest.checkequal.<locals>.subtypeN©r   r   r   r
   r
   r
   r   ÚsubtypeI   ó    rD   )r*   r9   ÚgetattrÚassertEqualr4   r5   Ú	TypeErrorÚassertIsNot)r	   Úresultr:   Ú
methodnameÚargsÚkwargsZ
realresultrD   r
   r   r   Ú
checkequal;   s&   


þÿ÷zBaseTest.checkequalc                 G   sb   |   |¡}|   |¡}|  |¡}t||ƒ|Ž  W d   ƒ n1 s!w   Y  |  t|jƒd¡ d S )NÚ )r*   ÚassertRaisesrF   ZassertNotEqualr3   Ú	exception)r	   Úexcr:   rK   rL   Úcmr
   r
   r   ÚcheckraisesS   s   

ÿzBaseTest.checkraisesc                 G   s&   |   |¡}|   |¡}t||ƒ|Ž  d S r   )r*   rF   )r	   r:   rK   rL   r
   r
   r   Ú	checkcall[   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 ]#}g }t|ƒD ]}t	||ƒ\}}| 
|| ¡ q!| d |¡¡ q‡ fdd„|D ƒ}|D ]R}t|ƒ}	|D ]H}| |¡}
|rot	|	t| |ˆ  d¡¡ƒ t|ƒƒ\}}n	t|ƒd d}}|s€|
|kr—ˆ  |dd||f ¡ ˆ  |
|d|
||f ¡ qPqHd S )Né   ÚaaaÚcountr#   r   r$   é   é   é
   éÿÿÿÿéöÿÿÿrO   é   Úxxr   é*   )rO   r#   r$   r   c                    r(   r
   r)   ©r,   Útsr   r
   r   r.   ’   r/   z'BaseTest.test_count.<locals>.<listcomp>z%s != 0 for %sz%s != %s for %s)rN   ÚsysÚmaxsizerT   rH   Úcontains_bytesr   ÚsetÚrangeÚdivmodÚappendÚaddÚjoinrX   Úreplacer*   rG   )r	   ÚcharsetÚdigitsÚbaseÚteststringsr   ÚentryÚjÚmÚnÚr1Úr2Úremr
   r   r   Ú
test_count`   sp   

ÿ€÷þzBaseTest.test_countc              	      sp  ˆ   dddd¡ ˆ   ddddd¡ ˆ   ddddd	¡ ˆ   dddd
d¡ ˆ   dddd
d¡ ˆ   dddd
d	¡ ˆ   ddd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rwˆ   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 ]!}g }t|ƒD ]}t	||ƒ\}}| 
|| ¡ qá| d
 |¡¡ qÙ‡ fdd„|D ƒ}|D ]/}|D ])}| |¡}	|	dk}
||v }ˆ  |
|¡ |	dkr2ˆ  ||	|	t|ƒ … |¡ q
qd S )Nr   ÚabcdefghiabcÚfindÚabcé	   rZ   r\   Údefr^   rO   rV   rY   Úrrarrrrrrrrrar#   é   é   r   r`   r_   ÚabÚxxx©rO   r#   r$   r%   é   c                    r(   r
   r)   ra   r   r
   r   r.   Ï   r/   z&BaseTest.test_find.<locals>.<listcomp>)rN   rT   rH   re   rc   rd   r   rf   rg   rh   ri   rj   rk   rz   rG   ©r	   rm   rn   ro   rp   r   rq   rr   rs   Úlocru   rv   r
   r   r   Ú	test_find    sX   

€úÿ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 ]!}g }t|ƒD ]}t||ƒ\}}| || ¡ q | 	d 
|¡¡ q˜‡ fdd„|D ƒ}|D ],}|D ]'}| |¡}	|	d	k}
||v }ˆ  |
|¡ |	d	krðˆ  ||	|	t|ƒ … |¡ qÉqÅˆ   d	dddtjd d¡ ˆ   dddd¡ d S )Nr|   ry   Úrfindr{   r   rO   r   Úabcdr\   ZabczrV   r^   r~   r#   r€   rY   r   r`   rƒ   r„   c                    r(   r
   r)   ra   r   r
   r   r.   þ   r/   z'BaseTest.test_rfind.<locals>.<listcomp>r   r‚   rZ   u   <......Ð¼...ú<)rN   rT   rH   re   r   rf   rg   rh   ri   rj   rk   rˆ   rG   rc   rd   r…   r
   r   r   Ú
test_rfindÙ   sN   
€ú	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¡ d S |  tddd¡ d S )Nr   ry   ÚindexrO   rV   r}   r{   r|   rZ   ÚhibZabcdefghiabÚ	abcdefghiÚghir&   r\   rY   r~   r#   r   r^   r€   r   r`   ©rN   rT   Ú
ValueErrorrH   re   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¡ d S |  tddd¡ d S )Nr   ry   ÚrindexrO   rV   r}   r|   r{   r   r\   r   Z	defghiabcrZ   rŽ   r   r&   r~   r#   r^   r€   rY   r   r`   r   r   r
   r
   r   Útest_rindex'  s$   zBaseTest.test_rindexc           
   	   C   sÜ   	 dd„ }t j}t j}tdƒD ]\}d |d|dƒd¡|ddƒ }|d t|ƒ|dƒ … }d |d	|d
ƒd¡}d |d	|d
ƒd¡}|| | }	| j||	d |  |||	ƒ|	d|¡ W d   ƒ n1 sfw   Y  qd S )Nc                 S   s*   t t|ƒƒD ]}| | |¡r|  S qdS )Nr\   )rg   r   Ú
startswith)ÚpÚsr   r
   r
   r   Úreference_findC  s
   ÿz;BaseTest.test_find_periodic_pattern.<locals>.reference_findéè  rO   Úabcder[   )r?   é   ZabcdeféÐ  )r–   Útextrz   )ÚrandomÚ	randrangeÚchoicesrg   rk   r   ZsubTestrN   )
r	   r˜   Zrrr    Ú_Zp0r–   ÚleftÚrightr   r
   r
   r   Útest_find_periodic_patternA  s"    ÿÿ€úz#BaseTest.test_find_periodic_patternc                 C   sž   	 d}d| d d|  }d| | }|   t|ƒt|ƒ |d|¡ dd|  d }|d d	… d
|  | d|  }|   t|ƒ|tdƒ  t|ƒ |d|¡ d S )Nid  r#   r$   Zbabbaarz   Zdddr{   Zeeer\   ZddeededdeedeÚde)rN   r   )r	   ÚNZpattern1Ztext1Zpattern2Ztext2r
   r
   r   Útest_find_shift_table_overflowU  s   ÿ ÿz'BaseTest.test_find_shift_table_overflowc                 C   s0   |   ddd¡ |   ddd¡ |  tddd¡ d S )Nr   ÚHeLLoÚlowerr`   ©rN   rT   rH   r   r
   r
   r   Ú
test_lowerg  ó   zBaseTest.test_lowerc                 C   s0   |   ddd¡ |   ddd¡ |  tddd¡ d S )NZHELLOr¨   Úupperr   r`   rª   r   r
   r
   r   Ú
test_upperl  r¬   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 rpt d¡dkrr|  tddtj¡ d S d S d S )Nzabcab      def
g       hizabcab	def
g	hiÚ
expandtabsr&   zabcab  def
g   hir^   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
	brZ   r   r`   ì        ÚPz	a
	b)rN   rT   rH   rc   rd   ÚstructÚcalcsizeÚOverflowErrorr   r
   r
   r   Útest_expandtabsq  sD   ÿÿÿÿÿÿÿÿÿÿÿ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|drZ   )r#   r$   zc|drY   rV   r^   )r#   rO   zb||c||dú
a||b||c||dr‰   rO   úendcase ú	endcase |z
 startcasez| startcase©rO   ZbothcaserO   ú
|bothcase|)r#   rO   zb c dúa  b c dú r›   ú(a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|r\   é   ú	a|a|a|a|aú
a//b//c//dú//zb//c//d)r#   r$   zc//dr[   )r#   rO   zb////c////dúa////b////c////dúendcase testÚtestú
 begincaseútest begincase©rO   z
 bothcase rO   útest bothcase testÚbcÚabbbcÚbbrW   r   ÚabbaabÚbaÚaaaaÚaabÚaaÚAZbobbZ
AbbobbbobbÚbbobb)r×   ÚBrO   ZAbbobbBbbobbÚdaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHaBLAHéüÿÿÿÚBLAHé   é   ÚaBLAHa©Úsep©Úmaxsplit©rá   rã   ©rã   rá   úb c dúa b c dr   r`   ©rN   rc   rd   rT   rH   r‘   r   r
   r
   r   Ú
test_splitŽ  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¸   rZ   )za|br%   r¸   rY   rV   r^   éd   r   )za||b||crO   r¸   r¼   r‰   rO   rË   z| begincaser½   r¾   r¿   rÀ   )za  br%   r¸   rÁ   rÂ   r#   r›   rÃ   r\   rÅ   rÄ   rÆ   rÇ   za//b//c)za//br%   r¸   r„   )za////b////crO   r¸   rÈ   rÌ   rÊ   rÉ   rÍ   rÎ   r   r%   rÐ   rÑ   rW   rÒ   rÓ   rÔ   rÕ   rÖ   Zbbobr×   Z
bbobbbobbArØ   )rO   rÙ   r×   ZbbobbBbbobbArÚ   rÛ   rÜ   rÝ   rß   rÞ   rà   râ   rä   rå   úa b crç   r   r`   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 )‚NrO   rl   r×   rë   z*A*Ú*z*1A*1z*1z*-#A*-#z*-#z*-A*-A*-ÚAAz*-r\   r^   rV   z*-A*-ArY   z*-AArZ   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 therer{   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	Reykjavikr?   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-cr   z--Zxyr;   Z123123Z123x123r   r`   Úh)rN   rc   rd   rT   rH   )r	   ZEQr
   r
   r   Útest_replace  s@  
ÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿzBaseTest.test_replacer±   r²   r^   z only applies to 32-bit platformsc                 C   sF   dd }|   t|dd|¡ |   t|dd|¡ |   t|dd|| ¡ d S )Nr×   i   rl   rO   rï   )rT   rµ   )r	   ZA2_16r
   r
   r   Útest_replace_overflowË  s   zBaseTest.test_replace_overflowc                 C   óæ   |   dddd¡ |   dddd¡ |   dddd¡ |   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 eggsrO   rš   r   r`   rÿ   )ÚheÚlrª   r   r
   r
   r   Útest_removeprefixÔ  ó   zBaseTest.test_removeprefixc                 C   r  )Nr  rü   Úremovesuffixr  r  r  r  Zblamzeggs and spamrO   rš   r   r`   rÿ   )Úlor
  rª   r   r
   r
   r   Útest_removesuffixæ  r  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   r`   rª   r   r
   r
   r   Útest_capitalizeø  ó   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 ] }|   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ç   rZ   )r#   r$   zc drY   rV   r^   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©rN   rc   rd   ©r	   rW   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 ] }|   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ç   rZ   )za br%   r¸   rY   rV   r^   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%  sP   
ÿÿÿÿÿÿ"ü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 	
r{   z	abc 	
z	 	
abc©rN   )r	   r$   r
   r
   r   Útest_strip_whitespaceM  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+  rO   ZmississippiZ
mississippr   r`   rª   r   r
   r
   r   Ú
test_strip^  s   zBaseTest.test_stripc                 C   ó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 )Nz
abc       r{   Úljustr[   zabc   r€   rV   rY   z
abc*******rî   rª   r   r
   r
   r   Ú
test_ljustm  ó   zBaseTest.test_ljustc                 C   r/  )Nz
       abcr{   Úrjustr[   z   abcr€   rV   rY   z
*******abcrî   rª   r   r
   r
   r   Ú
test_rjustu  r2  zBaseTest.test_rjustc                 C   r/  )Nz
   abc    r{   Úcenterr[   z abc  r€   rV   rY   z
***abc****rî   rª   r   r
   r
   r   Útest_center}  r2  zBaseTest.test_centerc                 C   s"   |   ddd¡ |  tddd¡ d S )NzhEllO CoMPuTErSzHeLLo cOmpUteRsÚswapcaser   r`   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 )Nr;   ÚzfillrY   rV   Z0123r^   z+123z+0123r„   z-123z-0123Z000rO   Z34rZ   Z0034rª   r   r
   r
   r   Ú
test_zfillŠ  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 )NFrO   ÚislowerTr#   r×   Ú
r{   ZaBcúabc
r`   rª   r   r
   r
   r   Útest_islowerš  ó   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 )NFrO   Úisupperr#   Tr×   r<  ÚABCZAbCzABC
r{   r`   rª   r   r
   r
   r   Útest_isupper¤  r?  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 )NFrO   Ú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NOTr{   r`   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 )NFrO   Úisspacer#   Tú ú	úr<  z 	
z 	
ar{   r`   rª   r   r
   r
   r   Útest_isspace¼  ó   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 )NFrO   ÚisalphaTr#   r×   r<  r{   ZaBc123r=  r`   rª   r   r
   r
   r   Útest_isalphaÇ  r?  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 )NFrO   ÚisalnumTr#   r×   r<  Z	123abc456Za1b3czaBc000 r=  r{   r`   rª   r   r
   r
   r   Útest_isalnumÑ  rJ  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 ]2}|   dd| d d¡ |   dd| d d¡ |   dd| d d d¡ |   dd| d d d¡ q.d S )NTrO   ÚisasciirÂ   úz Fõ   Â€õ   Ã©r&   rF  z        )rN   rg   )r	   r–   r
   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 )NFrO   Úisdigitr#   TÚ0Ú
0123456789Z0123456789ar{   r`   rª   r   r
   r
   r   Útest_isdigitë  r  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   r`   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)r{   r}   rO   r   zabc
def
ghiÚ
splitlineszabc
def

ghi)r{   r}   r   zabc
def
ghizabc
def
ghi
)r{   r}   r   rO   zabc
def
ghi
)rO   r{   r}   r   rO   z
abc
def
ghi
F)r<  r=  zdef
zghi
rH  T)Úkeependsr{   r`   rª   r   r
   r
   r   Útest_splitlinesý  s&   
ÿ
ÿÿ
ÿzBaseTest.test_splitlines)4r   r   r   r5   re   r*   r>   rN   rT   rU   rx   r‡   r‹   r’   r”   r¤   r§   r«   r®   r¶   ré   rí   r   ÚunittestZskipIfrc   rd   r³   r´   r  r  r  r  r%  r(  r-  r.  r1  r4  r6  r8  r:  r>  rB  rD  rI  rL  rN  rS  rW  rY  r\  r
   r
   r
   r   r'      s`    @95FF 2ÿ
	$(


		r'   c                   @   r   )Ú
CommonTestc                 C   sF   |   d¡}|   d¡}|D ]
}||7 }t|ƒ q|  t|ƒt|ƒ¡ d S )NZDNSSECrO   )r5   ÚhashrG   )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`  ra  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   r•   r	  Fúhello worldrO   ÚellorZ   rò   r^   r„   r  r€   Ú
helloworldÚloworV   r   r   r\   iËÿÿÿr]   éûÿÿÿrÛ   éþÿÿÿéýÿÿÿi÷ÿÿÿr`   ©r	  Zha©r  Zllo©Zhelloxr   r
   ©ÚhellowoÚrldrf  ©rn  rd  ro  )r  r	  ©r	  ZhelrY   ©r`   rª   r   r
   r
   r   Útest_startswith4  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	  rO   rc  re  ZworlrV   r|   Zworldr   rf  rZ   r   rY   r^   r&   r   r   rh  ri  r]   iúÿÿÿrg  r\   iùÿÿÿiÿÿÿiøÿÿÿrÛ   r`   rj  rk  rl  r
   rm  rp  )ÚhellZellrq  )r	  ru  rr  rª   r   r
   r
   r   Útest_endswithd  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 )NTrO   Ú__contains__r{   FrÂ   z abczabc r#   ZasdfZasdr,  r   r
   r
   r   Útest___contains__˜  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#   r{   r   r   r%   r\   rV   r™   rZ   rO   r}   ©rN   ÚslicerT   rH   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 )Nr{   r   r   r™   rV   r   rY   rÏ   rZ   r$   rO   rœ   r}   ry  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 ](}|D ]#}|dd … D ]}t|ƒ|||… }|  d |¡|d	t|||ƒ¡ q qqd S )
Nr   rZ   rV   é)   r\   rh  iÛÿÿÿrO   r   )	ÚstringÚascii_lettersrn   rc   rd   r6   rN   rk   rz  )r	   r—   Ú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 )	NrO   r{   Ú__mul__r\   r   rZ   Z	abcabcabcrV   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 ]0}|   d| d | d d… ddd| g| ¡ |   d| d | d d… ddd| f| ¡ qT|   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 }~d S W Y d }~d S d }~ww |  d¡ d S ) Nrç   rF  rk   r·   r‰   rO   Zbd)rO   r$   rO   r¸   Zac)r#   rO   r%   rO   zw x y zr{   r#   )r{   Úzza.b.crù   r"   )r#   r$   rV   )r„   é   é}   rþ   r\   rì   r   rZ   rY   c                   s   s    dd V  d S )Nr^   rO   r
   r
   r
   r
   r   Úfí  s   €z2MixinStrUnicodeUserStringTest.test_join.<locals>.fú+zjoin() ate exception messagezexception not raised)rN   r   r   rP   rH   rk   r!   rT   Úbytesr*   r3   Zfail)r	   r   r‹  Úer
   r
   r   Ú	test_joinÒ  s>   ÿÿÿ€ÿ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|¡ qBt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+r[   r#   z%cú"é"   ú$é$   Z10z%drP  é   )iœÿÿÿi    z 42z%3ldr`   Z42ç      E@z0042.00z%07.2fz%07.2Fr{   z%(foo)sz%s%srr  r   z%(fooz%(foo)s %(bar)s)Úfoor`   y      E@        Úbarz	%((foo))sz(foo)Zhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxz%sxZgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaú%*s)r—  r˜  z%10.*f)r—  r–  z%10z%%%dfl            gš™™™™™	@z%%.%dfrZ   rO   ú%.*fç’$I’$IÂ?c                   @   rB   )z8MixinStrUnicodeUserStringTest.test_formatting.<locals>.XNrC   r
   r
   r
   r   ÚX(  r   rœ  )rN   rT   r‘   rµ   rc   rd   r3   rU   ÚfloatrH   Ú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_MAXrZ   r™  r  rO   rš  r›  )Z	_testcapir   r¡  r¢  Ú
bit_lengthrT   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      $@r  )rg   rU   )r	   Zprecr   r1   r-   r
   r
   r   Útest_floatformatting9  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;  rl   r  r7  rX  r,  r   r
   r
   r   Útest_inplace_rewritesB  s   z3MixinStrUnicodeUserStringTest.test_inplace_rewritesc                 C   óx   |   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«  rO   rO   r÷   ©rO   úhttp://r¯  r±  ©zhttp://www.python.ÚorgrO   r³  rO   ©rN   rT   r‘   rH   ©r	   ÚSr
   r
   r   Útest_partitionU  ó   ÿz,MixinStrUnicodeUserStringTest.test_partitionc                 C   r¨  )N)zthis is the rpartir©  z	on methodzthis is the rpartition methodÚ
rpartitionr©  r«  r¬  r®  )rO   rO   r«  r÷   r°  r±  r²  r³  rO   r´  rµ  r
   r
   r   Útest_rpartitiond  r¸  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   rY   rz   r
  rV   rh  r   rÿ   rˆ   rŒ   r“   rX   rZ   r-   Trt  rò   r  Fr•   r,  )r	   r—   r
   r
   r   Útest_none_argumentss  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\(r[   rû   rz   rŠ   )
ZassertRaisesRegexrH   rz   rˆ   rŒ   r“   rX   r•   rt  rN   )r	   r—   r-   r
   r
   r   Ú*test_find_etc_raise_correct_error_messages™  s0   ÿÿÿÿÿÿÿzHMixinStrUnicodeUserStringTest.test_find_etc_raise_correct_error_messagesN)r   r   r   rs  rv  rx  r{  r|  r…  r‡  r  rŸ  r   Zcpython_onlyr¤  r¦  r§  r·  rº  r»  r¼  r
   r
   r
   r   rb  0  s$    04$5
	&rb  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                   @   rB   )z5MixinStrUnicodeTest.test_bug1001011.<locals>.subclassNrC   r
   r
   r
   r   Úsubclass¹  rE   r¾  r‰   )r5   rk   rI   r<   r=   )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~  rc   r³   rÊ   r   Úcollectionsr   rž   r   r   r!   r'   r^  rb  r½  r
   r
   r
   r   Ú<module>   s.                 