Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_capi/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_capi/__pycache__/test_unicode.cpython-312.pyc

�

(Μg�����ddlZddlZddlmZddlmZ	ddlZddlmZmZdZ
Gd�de�ZGd�dej�Zed	k(rej �yy#e	$rdZY�CwxYw)
�N)�support)�
import_helper)�PY_SSIZE_T_MIN�PY_SSIZE_T_MAXc��eZdZy)�StrN)�__name__�
__module__�__qualname__���8/usr/local/lib/python3.12/test/test_capi/test_unicode.pyrrs��r
rc�*�eZdZejejedud�d���Zejejedud�d���Z	ejejedud�d���Z
ejejedud�d���Zejejedud�d���Zejejedud�d���Z
ejejedud�d	���Zejejedud�d
���Zejejedud�d���Zejejedud�d���Zejejedud�d
���Zejejedud�d���Zejejedud�d���Zd�Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Z ejejedud�d���Z!ejejedud�d���Z"ejejedud�d���Z#ejejedud�d���Z$ejejedud�d ���Z%ejejedud�d!���Z&ejejedud�d"���Z'ejejedud�d#���Z(ejejedud�d$���Z)ejejedud�d%���Z*ejejedud�d&���Z+ejejedud�d'���Z,ejejedud�d(���Z-ejejedud�d)���Z.ejejedud�d*���Z/ejejedud�d+���Z0ejejedud�d,���Z1ejejedud�d-���Z2ejejedud�d.���Z3ejejedud�d/���Z4ejejedud�d0���Z5ejejedud�d1���Z6y)2�CAPITestNzneed _testcapi modulec�"�ddlm}dD]\}|j|d|�d�|j|d|�t|�dz�|j	t
|t|��^|j|dd�d�|j	t
|tdzd�|j	t
|tdzd	zd�|j	t
|tdzd
�|j	t
|tdzd	zd
�|j	t
|tdzd
�|j	t
|tdzd	zd
�|j	t|dd�|j	t|dd�|j	t|td�y
)zTest PyUnicode_New()r)�unicode_new)r�a��`O�������r�r����N)	�	_testcapir�assertEqual�chr�assertRaises�MemoryErrorr�SystemErrorr)�self�new�maxchars   r�test_newzCAPITest.test_newsT��	1�?�G����S��G�_�b�1����S��G�_�c�'�l�1�n�=����k�3���H�@�	
����Q��)�2�.����+�s�N�A�,=�v�F����+�s�N�A�,=�a�,?��H����+�s�N�A�,=�w�G����+�s�N�A�,=�a�,?��I����+�s�N�A�,=�w�G����+�s�N�A�,=�a�,?��I����+�s�A�x�8����+�s�B��2����+�s�N�A�>r
c���ddlm}gd�}gd�}t|�D]�\}}|d|D]}|jt||dd|��||dD]�}gtd��t�D]�}gtdd|z
��t�t�D]c}tt|d|z
�d�}	|	dk(r	|||k7r�*|d|t|�|	zz|||	zdz}
|j|||||�|
|	f��e������|d}|jt||ddd	�|jt||tdd	�|jt||ddd
�|jt|dddd	�|jt|gddd	�y)zTest PyUnicode_Fill()r)�unicode_fill��abcdeu
¡¢£¤¥u你好世界!u😀😁😂😃😄)�x�� �8�N�rrr-r�abc)rr*�	enumerater"�
ValueError�rangerr�max�minr!r �
IndexErrorr$)r%�fill�strings�chars�idx�	fill_char�to�start�length�filled�expected�ss            r�	test_fillzCAPITest.test_fill*s���	3�
��.��'��.�N�C���d�s�m���!�!�*�d�B��1�i�H�$��c�d�m��8�u�Q�x�8��8�E�"Y�E�"�a�%�i�$8�"Y�.�"Y�.�"Y��!$�S���U��%;�Q�!?��!�Q�;�2����+=�%�#%�f�u�:��I���0G�#G�"�U�U[�^�_�J]�#]���(�(��b�%���)K�)1�6�(:�<�#Z�9�$�	/� 
�A�J�����*�d�A�r�1�d�;����*�d�A�~�q�$�G����*�d�A�q�!�X�>����+�t�V�Q��4�@����+�t�R��A�t�<r
c	�H�ddlm}gd�}gd�}t|�D]h\}}t|�D]U\}}||kr2|j||d|�|ddt	|�z|ddzdf��=|jt||d|��W�j|jt|dd	d
�|jt|ddd
�|jt|dtd
�|jt|dtd
�|jt|ddd
�|jt|gdd
�y)
zTest PyUnicode_WriteChar()r)�unicode_writechar��abcu¡¢£u	你好世u😀😁😂)r-r.r/r0rrNrrH�r-rr2)rrFr3r r!r"r4r8rr�	TypeError)r%�	writecharr:r;�irC�j�cs        r�test_writecharzCAPITest.test_writecharRs��	=�
��8���g�&�D�A�q�!�%�(���1���6��$�$�Y�q�!�Q�%7�&'���e�c�!�f�n�q���u�&<�a�%@�B��%�%�j�)�Q��1�E�)�'�	
���*�i���4�@����*�i���D�A����*�i����M����*�i����M����)�Y���4�@����)�Y��A�t�<r
c�z�ddlm}gd�}|D]�}|j||d�|df�|j||d�|dddf�|j||d�|dzdf�|j||d	�|d
zdf�|j||d�d�|jt||t
�|jt||d�|jt||t���|jt|d
d�|jt|gd�|jt|td�y)zTest PyUnicode_Resize()r)�unicode_resizerGrIrNr��
z)rrrr2)	rrQr r"r#rr$r�NULL)r%�resizer:rCs    r�test_resizezCAPITest.test_resizeqs ��	7�
��
�A����V�A�q�\�A�q�6�2����V�A�q�\�A�b�q�E�1�:�6����V�A�q�\�A��H�a�=�9����V�A�r�]�Q��Z��O�<����V�A�q�\�7�3����k�6�1�n�E����k�6�1�b�9����k�6�1�n�E��	
���+�v�v�q�9����+�v�r�1�5����+�v�t�Q�7r
c��ddlm}gd�}|D]/}|ddd�}|D] }||z}|j|||�|��"�1|jt|dd�|jt|dd�|jt|dd�|jt|dg�|jt|gd�|jt|gg�|jt|t
d�|jt|dt
�y)zTest PyUnicode_Append()r)�unicode_appendrGNrrHr2)rrXr r"r$rT)r%�appendr:�left�rightrBs      r�test_appendzCAPITest.test_append�s���	7�
���D���"��:�D� ���%�<��� � ���e�!4�h�?�!��	
���+�v�u�f�=����+�v�v�u�=����+�v�v�v�>����+�v�u�b�9����+�v�r�5�9����+�v�r�2�6����+�v�t�U�;����+�v�u�d�;r
c��ddlm}gd�}|D]-}|ddd�}|D]}|j|||�||z�� �/|jt|dd�|jt|dd�|jt|dd�|jt|dg�|jt|gd�|jt|gg�|jt|t
d�|jt|dt
�y)zTest PyUnicode_AppendAndDel()r)�unicode_appendanddelrGNrrHr2)rr^r r"r$rT)r%�appendanddelr:rZr[s     r�test_appendanddelzCAPITest.test_appendanddel�s���	C�
���D���"��:�D� ��� � ��d�E�!:�D�5�L�I�!��
	
���+�|�U�F�C����+�|�V�U�C����+�|�V�V�D����+�|�U�B�?����+�|�R��?����+�|�R��<����+�|�T�5�A����+�|�U�D�Ar
c��ddlm}|j|d�d�|j|dd�d�|j|d�d�|j|d	�d
�|j|d�d�|j|d
�d�|jt|dd�|jt|dd�|j|dd�d�|j|t
d�d�|jt|dt�|jt|dd�|jt|dt�|jt|t
d�|jt|t
t�|jt|t
d�|jt|t
t�y)z"Test PyUnicode_FromStringAndSize()r)�unicode_fromstringandsizer2rHr�ab�abcdef�abcdef�¡¢�¡¢�你�你�😀�😀s¡r��r
rrrIN)
rrbr r"�UnicodeDecodeErrorrTr#rr$r)r%�fromstringandsizes  r�test_fromstringandsizezCAPITest.test_fromstringandsize�s��	M����*�6�2�E�:����*�6�1�5�t�<����*�;�7��D����*�+>�?��L����*�?�;�X�F����*�+>�?��N����,�.?��a�P����,�.?��!�L����*�3��2�B�7����*�4��3�R�8����+�'8�&�.�Q����+�'8�&�"�E����+�'8�&�.�Q����+�'8�$��C����+�'8�$��O����+�'8�$��B����+�'8�$��Or
c�\�ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d	�d
�|jt|d�|jt|d�|j|d
�d�y)zTest PyUnicode_FromString()r)�unicode_fromstringr2rHrfrgrhrirjrk��rlr
rN)rrqr r"rm)r%�
fromstrings  r�test_fromstringzCAPITest.test_fromstring�s���	?�����F�+�U�3�����$7�8�*�E�����O�4�h�?�����$7�8�,�G����,�j�'�B����,�j�'�B�����C��"�-r
c	���ddlm}gd�}d}|ddD]*}|j|d|j|��|��,tj
dk(rd	nd
}|ddD]*}|j|d|j|��|��,tj
dk(rdnd
}|D]*}|j|d|j|��|��,|j|ddj|��d�dD]U}|j||d�d�|j||d|z�d�|j||td�d��WdD]}|jt||d��|jt|ddd�|jt|ddt�|jt|dtd�|jt|dtt�y)z Test PyUnicode_FromKindAndData()r)�unicode_fromkindanddatar+�latin1Nrr�little�utf-16le�utf-16berI�utf-32le�utf-32berrku��)rrrr
r�rR)rrrIr�r2r)rrvr �encode�sys�	byteorderrTr"r$r4r)r%�fromkindanddatar:�enc1rC�enc2�enc4�kinds        r�test_fromkindanddatazCAPITest.test_fromkindanddata�s���	I�
��
����!��A����_�Q������?��C�� �]�]�h�6�z�J����!��A����_�Q������?��C�� �]�]�h�6�z�J���A����_�Q������?��C�������L�,?�,?��,E�F�'�	)��D����_�T�3�7��<����_�T�5��:�>��E����_�T�4��;�R�@��
#�D����k�?�D�#�F�#����*�o�q�&�"�E����*�o�q�&�.�Q����*�o�q�$��C����*�o�q�$��Or
c
���ddlm}gd�}|D]v}gtdt|�dz��t�D]Q}gtt|dz
d�t|�dz��t�D]}|j
||||�|||��!�S�x|jt|ddd�|jt|dtd�|jt|ddd�|jt|ddt�y)	zTest PyUnicode_Substring()r)�unicode_substring)rcuab¡¢uab¡¢你好uab¡¢你好😀😁rrrHrN)
rr�r5�lenrr6r r"r8r)r%�	substringr:rCr?�ends      r�test_substringzCAPITest.test_substrings���	=�
��
�A�@�5��C��F�Q�J�/�@��@��P�U�3�u�Q�w��?�C��F�Q�J�?�P��P�C��$�$�Y�q�%��%=�q��s�|�L�Q�A��
	
���*�i���A�>����*�i����J����*�i���2�>����*�i���>�Jr
c��ddlm}dD]#}|j||�t|���%|j	t
|d�|j	t
|g�y)zTest PyUnicode_GetLength()r)�unicode_getlength�rHrgu你好�a😀u	a�b�cu��r2N)rr�r r�r"rJ)r%�	getlengthrCs   r�test_getlengthzCAPITest.test_getlength'sQ��	=�5�A����Y�q�\�3�q�6�2�5�	
���)�Y��7����)�Y��3r
c	���ddlm}dD]�}t|�D]'\}}|j|||�t	|���)|jt||t|��|jt||t�|jt||d�|jt||t���|jt|dd�|jt|gd�y)zTest PyUnicode_ReadChar()r)�unicode_readcharr�rr2N)rr�r3r �ordr"r8r�rrrJ)r%�readcharrCrLrNs     r�
test_readcharzCAPITest.test_readchar5s���	;�5�A�!�!����1�� � ��!�Q���Q��8�%����j�(�A�s�1�v�>����j�(�A�~�F����j�(�A�r�:����j�(�A�~�F�5�	
���)�X�v�q�9����)�X�r�1�5r
c�V�ddlm}dD]p}|j||�|�t|�}||�}|j||�|j	t|�t�|j||��r|jt|d�|jt|g�y)zTest PyUnicode_FromObject()r)�unicode_fromobjectr�r2N)
rr�r r�assertIs�type�str�assertIsNotr"rJ)r%�
fromobjectrC�o�s2s     r�test_fromobjectzCAPITest.test_fromobjectHs���	?�5�A����Z��]�A�.��A��A��A��B����R��#��M�M�$�r�(�C�(����R��#�5�	
���)�Z��8����)�Z��4r
c
���� �!�tjd�ddlm}m}m�!m}m}m}m	}m
}m}m}	m
}
m}m}m}m}
m}d}t%||�� |f� _�!� _� �!fd����fd�}|ddd	��j+t,d
�dd�|d
d|d��|dd|d���j/t0�5�d|d��ddd�|dd|d�|d��|dd�|dd�|dd�|ddd �|d!d"d#�|d$d%d&j3d'��|d(d)d*�|d+d,d-�|d.d/d*�|d0d1d-�|d2d3d-�|d2d4d-�|d2d5d-d�|d$d6dd&j3d'��|d7d8d!�|d9d:d!�|d;d<d!�|d=d>d!�|d?d@d!�|dAdBd!�|d=dCd!�|d?dDd!�|dAdEd!�|d7dFd �|d9dGd �|d;dHd �|d7dId!�|d9dJd!�|d;dKd!�|d7dLd!dM�|d9dNd!dM�|d;dOd!dM�|dPdLddM�|dQdNddM�|dRdOddM�|dSdT|dU��|dVdW|dU��dXD]d\}}}}dY|r|n|fdZ|r|n|	fd[|r|n|
fd\|r|n|ffD]<\}}�j5d]|z|z�^�5||d]|z|z||��ddd��>�fd_d`||�zdaz
z}|daz
}|t7|�db||��|t7|�db||��d_d`||
�zzdaz
}|t7|�dc|
|���dd|de��|dfdg|dh��|didj|dh��|dkdl|dh��|dmdn|dh��|dmdo|dh��|dfdp|dh��|dqdr|dh��|dids|dh��|dtdu|dh��|dkdv|dh��|dwdx|dh��|dwdy|dh��|dzdg|d{��|d|dj|d{��|d}dl|d{��|d~dn|d{��|d~do|d{��|dzdp|d{��|ddr|d{��|d|ds|d{��|d�du|d{��|d}dv|d{��|d�dx|d{��|d�dy|d{��|dfd�|dh��|did�|dh��|dkd�|dh��|dmd�|dh��|dmd�|dh��|dfd�|dh��|dqd�|dh��|did�|dh��|dtd�|dh��|dkd�|dh��|dwd�|dh��|dwd�|dh��|dfd�|d���|did�|d���|dkd�|d���|dmd�|d���|dmd�|d���|dfd�|d���|dqd�|d���|did�|d���|dtd�|d���|dkd�|d���|dwd�|d���|dwd�|d���|d!d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d!d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�|d���|d�d�dë|d!d�d!dū|d�d�ddū|d!d�|d!��|d�d�|dȫ�|d�d�|dɫ�|d�d�|d!��|d�d�|dȫ�|d�d�|dɫ�|d�d�|dȫ�|||
�d_kDrd�nd�d�|dɫ�|||
�d_kDrd�nd�d�|dɫ�|d!d�d!|dƫ�|d�d�d|dƫ�|d�d�d|dȫ�|d�d�d|dɫ�|d�d�d|d!��|d�d�d|dȫ�|d�d�d|dɫ�|d�d�d|dȫ�|||
�d_kDrd�nd�d�d|dɫ�|||
�d_kDrd�nd�d�d|dɫ�|d�d�|dܫd �|d�d�|d_�d �|d�d�|dܫ|d_�d �|d�d�|dܫd!�|d�d�|d_�d!�|d�d�|dܫ|d_�d!�|d�d�|dܫ|d_�dd �|d�d�|dܫ|d_�d|d!��|d�d�|d`�|dh��|d�d�|dܫ|dh��|d�d�|d`�|dܫ|dh��d�}�ddd!�}�j9|t6��j;||��d�d�dū}�j9|t6��j;|d��ddd�ddū}�j9|t6��j;||�|d�d�dd�|d�d�dd�|d�dY�|d�d�dY�d�D]6}�j5|���5�j+t<d��|d �ddd��8�j+t<d��d�|dU��y#1swY�
��xYw#1swY���xYw#1swY�|xYw)�zTest PyUnicode_FromFormat()�ctypesr)�c_char_p�	pythonapi�	py_object�sizeof�c_int�c_long�
c_longlong�	c_ssize_t�c_uint�c_ulong�c_ulonglong�c_size_t�c_void_pr��c_wchar�	c_wchar_p�PyUnicode_FromFormatc�>��t�fd�|D��}�|g|���S)Nc3�R�K�|]}t|t�r�|�n|��� y�w�N)�
isinstancer�)�.0�argr�s  �r�	<genexpr>zJCAPITest.test_from_format.<locals>.PyUnicode_FromFormat.<locals>.<genexpr>ns+�����!��C�#-�S�#�"6�	�#��C�?��s�$')�tuple)�format�args�cargs�_PyUnicode_FromFormatr�s   ��rr�z7CAPITest.test_from_format.<locals>.PyUnicode_FromFormatms,����!��!�!�E�)��8�%�8�8r
c�<���|g|���}�j||�yr�)r )rBr�r��textr�r%s    ��r�check_formatz/CAPITest.test_from_format.<locals>.check_formatss"���'��6��6�D����X�t�,r
uascii=unicodeés	ascii=%Uu	unicodeéz^^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format string, got a non-ASCII byte: 0xe9$sunicode�=%s�asciiuꯍs%ciͫu􏿿rrNu𐀀􀀀s%c%cii�%s%%z%ss%%sz[%]s[%%]z%abcs%%%sr2rHs%.3ssabcdefuabc[�s%.5suabc[€]�utf8z'\u20acABC's%Au€ABCz'\u20s%.5Au	€ABCDEFu'€ABC's%Ru'€As%.3Ru€ABs%.3Ss%.3Us%.3Vs%.5Vz
repr=  abcsrepr=%5Szrepr=abs	repr=%.2Sz
repr=   abs
repr=%5.2Sz
repr=   'abc'srepr=%8Rzrepr='abs	repr=%.3Rz
repr=  'abs
repr=%5.3Rsrepr=%8As	repr=%.3As
repr=%5.3Asrepr=%5ss	repr=%.2ss
repr=%5.2ssrepr=%5Us	repr=%.2Us
repr=%5.2Usrepr=%5V�123s	repr=%.2Vs
repr=%5.2Vz
repr=  123zrepr=12z
repr=   12�010s%03irS�0010s%0.4i))�iT����-123)�dTr�r�)�uF�{�123)�oF�Sr�)�xF�
rH)�XFr��ABCr
�lsll�z�%)r�rr~rs%llds%llus%prr�s%2ir�z
       123s%10i�
0000000123s%010iz
123       s%-10is%-010is%.2i�0000123s%.7is%10.2iz
   0000123s%10.7is%010.7iz
0000123   s%-10.7is%-010.7ir�r�z
      -123z
-000000123z
-123      z-0000123z
  -0000123z
-0000123  s%2us%10us%010us%-10us%-010us%.2us%.7us%10.2us%10.7us%010.7us%-10.7us%-010.7us%2or�s%10os%010os%-10os%-010os%.2os%.7os%10.2os%10.7os%010.7os%-10.7os%-010.7os%2xr�z
       abcs%10x�
0000000abcs%010xz
abc       s%-10xs%-010xs%.2x�0000abcs%.7xs%10.2xz
   0000abcs%10.7xs%010.7xz
0000abc   s%-10.7xs%-010.7xr�s%2Xz
       ABCs%10X�
0000000ABCs%010Xz
ABC       s%-10Xs%-010Xs%.2X�0000ABCs%.7Xs%10.2Xz
   0000ABCs%10.7Xs%010.7Xz
0000ABC   s%-10.7Xs%-010.7Xz%A:'abc\xe9\uabcd\U0010ffff's%%A:%Auabcéꯍ􏿿s%Vsxyz�xyzs%lsu人民u	💻+🐍z   abs%5.2lsu	   人民s%5lsu  💻+🐍u人s%.1lsu💻��u💻+s%.2lss%lVs%5.2lVs%5lVs%.1lVs%.2lVz  abcs%*srrcs%.*ss%*.*ss%*Us%.*Us%*.*Us%*.*Vs%*.*lVz     123s%*i�00123s%.*iz   00123s%*.*iz^0x[a-zA-Z0-9]{3,}$s%p %p�123456z#0x[a-zA-Z0-9]{3,} 0x[a-zA-Z0-9]{3,}urepr=人民srepr=%Vs人民urepr=abc�sabc�rs%s)r�s%0s%01s%.s%.1s%0%ss%1%ss%.%ss%.1%ss%1abcs%ls%lls%zs%llss%zs)�fmtzinvalid format strings%+i)r�
import_moduler�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��getattr�argtypes�restype�assertRaisesRegexr4r"�
OverflowErrorr�subTestr��assertIsInstance�assertRegexr$)"r%r�r�r�r�r�r�r�r�r�r�r�r�r�r��namer��conv�signed�valuerB�mod�ctype�min_longlong�max_longlong�
max_ulonglong�p_format_regex�	p_format1�	p_format2�	p_format3r�r�r�r�s"`                              @@@r�test_from_formatzCAPITest.test_from_format[sm
���	�#�#�H�-�	(�	(�	(�	(�	(�&�� '�	�4� 8��*2���&�(1��%�	9�	-�
	�,�$�m�	5�
	
���z�
2� �"3�W�	>�	�X��E�&�M�	+��\��E�(�O�	-�
�
�
�}�
-� ���h��8�.�	�+��e�G�n�e�H�o�	?�	�S��	��T��	��U��	��V��f�	&�	�U��i�	)��\��m�2�2�6�:�	<��^��K�	)��X��n�	.��]��K�	)��Z��n�	.��Z��n�	.��Z��n�	.��Z��n�d�	4��\��d�M�$8�$8��$@�	B�
	�\� �%�	)��Y�!�5�	*��\�"�E�	+�	�_� �%�	)��Z�!�5�	*��\�"�E�	+�	�_� �%�	)��Z�!�5�	*��\�"�E�	+�	�\� �&�	*��Y�!�6�	+��\�"�F�	,�	�\� �%�	)��Y�!�5�	*��\�"�E�	+�	�\� �%��	1��Y�!�5�&�	2��\�"�E�6�	3��\� �$��	0��Y�!�4��	1��\�"�D�&�	2�	�U��e�B�i�	)��V��u�R�y�	*�.
�)�D�&�%���v�e�6�2���v�W�5��f�
�+�>��F�y��9�	�
��U��\�\����d�):�\�;� ��!%���d�!2�E�%�L�B�<�;�
�.
�&�q�6�*�#5�5��9�:�;��$�}�q�(���S��&��j��6�	8��S��&��j��6�	8��a�&��"5�5�6��:�
��S��'��k�-�8�	:��U�H�R�L�1�	�U�6�5��:�6��\�7�E�#�J�7��\�8�U�3�Z�8��\�8�U�3�Z�8��\�9�e�C�j�9��U�7�E�#�J�7��Y�7�E�#�J�7��\�9�e�C�j�9��\�9�e�C�j�9��\�:�u�S�z�:��\�:�u�S�z�:��\�;��c�
�;��V�6�5��;�7��\�7�E�$�K�8��\�8�U�4�[�9��\�8�U�4�[�9��\�9�e�D�k�:��V�7�E�$�K�8��Z�7�E�$�K�8��\�9�e�D�k�:��\�9�e�D�k�:��\�:�u�T�{�;��\�:�u�T�{�;��\�;��d��<��U�6�6�#�;�7��\�7�F�3�K�8��\�8�V�C�[�9��\�8�V�C�[�9��\�9�f�S�k�:��U�7�F�3�K�8��Y�7�F�3�K�8��\�9�f�S�k�:��\�9�f�S�k�:��\�:�v�c�{�;��\�:�v�c�{�;��\�;��s��<��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>�	�4�� 9�	;�	�U��E�6�	+��U��D�&�	*�	�U�F�I�e�$4�5��^�V�Y�~�-F�G��,��Y�'>�?�	A��W�i��5�)9�:��&���>�1J�K��.��i�(?�@�	B��X�x��>�)B�C��V�G�_�q�%8�\�h��y�)@�A�	C��f�W�o��&9�]�|��y�)@�A�	C�	�U��U�I�e�$4�	6��U��T�9�U�#3�	5��^��T�9�^�#<�	>��,��T�9�-D�#E�	G��W���i��&6�	8��&��d�I�n�$=�	?��.��d�I�.E�$F�	H��X��t�Y�~�%>�	@��V�G�_�q�%8�\�h��t�Y�/F�%G�	I��f�W�o��&9�]�|��t�Y�/F�%G�	I�	�W�f�e�A�h��7��T�7�E�!�H�f�5��W�h��a��%��(�F�C��W�f�e�A�h��6��T�7�E�!�H�e�4��W�h��a��%��(�E�B��W�h��a��%��(�D�&�I��W�i��q��5��8��9�U�+�	-��Z���q��5��:�>��W�g�u�Q�x��s��<��Z��5��8�U�1�X�u�S�z�J�0��(���6�	����i��-�����N�3�(��8�V�D�	����i��-�����?�	A�)���$��G�	����i��-�����N�3�
	�(���'B�	D�	�%���z�	3�	�R��	��R��C�	!�
;�C����#��&��&�&�{�4K�(�#�v�7�'�&�;�	
���{�,C� �&�%��)�	5�o	.�
-��`<�;��H'�&�s$�?n�n*�n7�n'�*n4�7o	c�d�ddlm}dj�}||�}|j|d�y)zTest PyUnicode_InternInPlace()r)�unicode_interninplacer2rHN)rr��decoder )r%�
interninplacerC�rs    r�test_interninplacezCAPITest.test_interninplace�s-��	E��M�M�O���!�������E�"r
c��ddlm}|j|d�d�|j|d�d�|jt|d�|jt|d�|j|d	�d
�y)z!Test PyUnicode_InternFromString()r)�unicode_internfromstringr2rHrjrkrrrlr
rN)rrr r"rm)r%�internfromstrings  r�test_internfromstringzCAPITest.test_internfromstring�ss��	K����)�&�1�5�9����)�*=�>��M����,�.>��H����,�.>��H����)�#�.��3r
c��ddlm}ddlm}|dk(rtjdk(rdnd}n|dk(rtjdk(rd	nd
}dD]J}|j�}|j
||�|�|j
||d|zzd
�|��LdD]K}|jd�}|j
||�|�|j
||d|zzd
�|��M|j
|dj�d�d�|dk(r(|j
|dj|�d�d�|jt|dt�|jt|d|zd�|jt|d|zt�|j
|td�d�|jt|td�|jt|tt�|jt|td
�|jt|td�|jt|tt�y)zTest PyUnicode_FromWideChar()r)�unicode_fromwidechar��SIZEOF_WCHAR_Trrxryrzrr{r|)rrHrgrirkr}r)r�u��
surrogatepassrHrcr�ua�r
���rrN)
rrr	r�r�rr r"r#rr$rrT)r%�fromwidecharr	�encodingrC�bs      r�test_fromwidecharzCAPITest.test_fromwidechar�s���	C�,��Q��%(�]�]�h�%>�z�J�H�
�q�
 �%(�]�]�h�%>�z�J�H�>�A�����"�A����\�!�_�a�0����\�!�e�N�.B�*B�B�G��K�?�$�A�����?�3�A����\�!�_�a�0����\�!�e�N�.B�*B�B�G��K�$�
	
����e�l�l�8�&<�a�@�$�G��Q�����\�-�*>�*>�x�*H�!�L�i�X����+�|�S�.�I����+�|�U�>�5I�2�N����+�|�U�>�5I�>�Z�����d�A�.��3����+�|�T�1�=����+�|�T�>�J����+�|�T�2�>����+�|�T�2�>����+�|�T�>�Jr
c��ddlm}ddlm}ddlm}|dd�\}}|j	|d�|j	|d�|dd	�\}}|j	|d	�|j	|d�|j	|dd
�d�|j	|dd�d�|dd�\}}|j	|d	�|j	|d�|dd
�\}}|j	|d	�|j	|d�|d
d�\}}|j	|d�|j	|d�|j	|d
d�d�td�}|dk(rd}nd}||d
�\}}|j	||�|j	||dz�|j	||d
�|dz�|j
t|dd
�|j
t|gd
�|j
t|td
�|j
t|dd
�|j
t|gd
�|j
t|td
�y)zTest PyUnicode_AsWideChar()r)�unicode_aswidechar)�unicode_aswidechar_nullr�abcdefrrcrHrIrSr�abcre�r1�abcdefr~rrrRr2N)
rrrr	r r!r"rJr$rT)r%rrr	�wchar�size�nonbmp�nchars        r�test_aswidecharzCAPITest.test_aswidechar�s.��	1�5�,�(��1�5���t�����q�!������%�(���2���t�����q�!������&����0���;�Q�?����0���:�A�>�(���2���t�����q�!������(�(���3���t�����q�!������(�(��R�8���t�����q�!������-����0��R�@�!�D��X����Q���E��E�(���4���t�����u�%�������
�.����0���<�e�a�i�H����)�%7���D����)�%7��R�@����+�'9�4��D����)�%<�f�b�I����)�%<�b�"�E����+�'>��b�Ir
c�$�ddlm}ddlm}ddlm}|d�\}}|j	|d�|j	|d�|j	|d�d�|d�\}}|j	|d	�|j	|d
�|jt|d�td�}|dk(rd}nd
}||�\}}|j	||�|j	||dz�|j	||�|�|jt|d�|jt|g�|jt|t�|jt|d�|jt|g�|jt|t�y)z!Test PyUnicode_AsWideCharString()r)�unicode_aswidecharstring)�unicode_aswidecharstring_nullrrHrIrrer1rrrrrRr2N)rrrr	r r"r4r!rJr$rT)r%rrr	rrrrs        r�test_aswidecharstringzCAPITest.test_aswidecharstring/sg��	7�;�,�.�u�5���t�����q�!������(����6�u�=�u�E�.�z�:���t�����q�!������-����*�&C�Z�P��X����Q���E��E�.�v�6���t�����u�%�������
�.����6�v�>��G����)�%=�v�F����)�%=�r�B����+�'?��F����)�%B�F�K����)�%B�B�G����+�'D�d�Kr
c	�Z�ddlm}dD�]}t|�}|j|||d�|dz�|j|||d�|dz�|j|||dzd�|dz�|j|||dzd�|dz�|j	t
|||dz
d�|j	t
|||dz
d�dj
||g�}|j||t|�d�|dz�|j||t|�d�|dz���"y	)
zTest PyUnicode_AsUCS4()r)�unicode_asucs4r�rrRu￿u￿rN)rr!r�r r"r$�join)r%r!rC�ls    r�test_asucs4zCAPITest.test_asucs4Rs ��	-�5�A��A��A����^�A�q�!�4�a��f�=����^�A�q�!�4�a��j�A����^�A�q��s�A�6��*��E����^�A�q��s�A�6��*��E����k�>�1�a��c�1�E����k�>�1�a��c�1�E��	�	�1�a�&�!�A����^�A�s�1�v�q�9�1�T�6�B����^�A�s�1�v�q�9�1�X�:�F�5r
c��ddlm}dD]K}|j||�|dz�dj||g�}|j||�|dz��My)zTest PyUnicode_AsUCS4Copy()r)�unicode_asucs4copyr�rRN)rr&r r")r%�
asucs4copyrCs   r�test_asucs4copyzCAPITest.test_asucs4copyksU��	?�5�A����Z��]�A�d�F�3��	�	�1�a�&�!�A����Z��]�A�d�F�3�	5r
c��ddlm}|j|d�d�|j|d�d�|j|d�d�|jt|d	�|jt|d
�y)zTest PyUnicode_FromOrdinal()r)�unicode_fromordinalr�ar/�€rrkrrN)rr*r r"r4)r%�fromordinals  r�test_fromordinalzCAPITest.test_fromordinal{sk��	A�����T�*�C�0�����V�,�h�7�����W�-�|�<����*�k�8�<����*�k�2�6r
c�h�ddlm}|j|dd�d�|j|dd�d�|j|d	d
�d�|j|dd
�d�|jt|dd�|jt
|dd�|jt
|gd�y)zTest PyUnicode_AsUTF8()r)�unicode_asutf8rHr�abc�абвr1�абвrkr�😀rer~�abcdef��r2N)rr0r r"�UnicodeEncodeErrorrJ)r%r0s  r�test_asutf8zCAPITest.test_asutf8�s���	-������q�1�8�<������!�4�6S�T������a�8�:O�P�����
�A�6�
�F����,�n�h��J����)�^�V�Q�?����)�^�R��;r
c�h�ddlm}ddlm}|j|dd�d�|j|dd�d	�|j|d
d�d�|j|d
d�d�|j|dd�d�|j|d
d�d�|j	t
|dd�|j	t|dd�|j	t|gd�|j	t
|dd�|j	t|dd�|j	t|gd�y)zTest PyUnicode_AsUTF8AndSize()r)�unicode_asutf8andsize)�unicode_asutf8andsize_nullrHr)r1rIr2r1)r3�rkr)r4rrer~)r5r1r1r5r6r2N)rr:r;r r"r7rJ)r%r:r;s   r�test_asutf8andsizezCAPITest.test_asutf8andsize�s��	4�8����.�u�a�8�-�H����.�x��;�=_�`����.�|�Q�?�A[�\����.�z�1�=�?Q�R����3�E�1�=�x�H����3�J��B�M�R����,�.C�X�q�Q����)�%:�F�A�F����)�%:�B��B����,�.H�(�TU�V����)�%?���K����)�%?��Q�Gr
c�>�ddlm}|j|�d�y)z#Test PyUnicode_GetDefaultEncoding()r)�unicode_getdefaultencodingsutf-8N)rr?r )r%�getdefaultencodings  r�test_getdefaultencodingz CAPITest.test_getdefaultencoding�s��	O����+�-�x�8r
c�\�ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d�d	�|j|d
�d
�|jt|d�|jt|g�y)
z1Test _PyUnicode_TransformDecimalAndSpaceToASCII()r)�'unicode_transformdecimalandspacetoasciir�u٣.١٤z3.14u
 3.14 z 3.14 u12€3z12?rr�N)rrCr r"r$)r%�transform_decimals  r� test_transform_decimal_and_spacez)CAPITest.test_transform_decimal_and_space�s���	[����*�5�1��	 ����*�+@�A��	!����*�+I�J�!�	#����*�;�7��	 ����*�2�.��3����+�'8�&�A����+�'8�"�=r
c�*�ddlm}|j|dd�d�|j|dd�d�|j|dd�d	�|j|dd�d
�|j|dd�d
�|jt|dd�|jt|dd�|jt|dd�|jt|gd�|jt|dg�|jt|gg�y)zTest PyUnicode_Concat()r)�unicode_concatrH�defruгдеu	abcгдеr2u	абвdefuабвгдеzabzcdzabcdr2�defN)rrGr r"rJ)r%�concats  r�test_concatzCAPITest.test_concat�s���	7������u�-�x�8������x�0�+�>������%�0�+�>������(�3�^�D�������/��<����)�V�V�U�;����)�V�U�F�;����)�V�V�V�<����)�V�R��7����)�V�U�B�7����)�V�R��4r
c�*�ddlm}|j|dd�gd��|j|ddd�gd��|j|ddt�gd��|j|ddd�gd��|j|ddt�gd��|j|dd	�dg�|j|d
d�gd��|j|d
d�gd��|j|dd�gd��|j|dt
�gd��|j|dt
�gd��|j
t|dd�|j
t|dtd��|j
t|gd�y)zTest PyUnicode_Split()r)�
unicode_split�a|b|c|d�|�r+rrN�dr)r+rzc|drr,�	a||b|c||d�||�r+�b|crQ�а|б|в|г��а�б�в�г�абабагаламагаrX�rrYrYr[uлuмr[r� a	b
c
de�r+rrNrQ�e�a…b c d erN)
rrMr rrrTr"r4rJr�)r%�splits  r�
test_splitzCAPITest.test_split�sh��	5�����y�#�.�0D�E�����y�#�q�1�3D�E�����y�#�~�>�-�	/�����y�#�r�2�4H�I�����y�#�~�>�-�	/�����y�(�3�i�[�A�����{�D�1�3D�E�����}�c�2�4L�M�����;�T�B�E�	G�����1�4�8�2�	4�����:�D�A�2�	4�	
���*�e�Y��;����)�U�I�s�3�x�@����)�U�B��4r
c�`�ddlm}|j|dd�gd��|j|ddd�gd��|j|ddt�gd��|j|ddd�gd��|j|ddt�gd��|j|dd	�dg�|j|d
d�gd��|j|d
d�gd��|j|dd�gd��|j|dd�gd��|j|dt
�gd��|j|dt
�gd��|j
t|dd�|j
t|dtd��|j
t|gd�y)zTest PyUnicode_RSplit()r)�unicode_rsplitrNrOrPr)�a|brNrQrr,rRrSrTrVrWr\rXr]u
aжbжcжd�жr^r_rarN)
rrer rrrTr"r4rJr�)r%�rsplits  r�test_rsplitzCAPITest.test_rsplit�s���	7�����	�3�/�1E�F�����	�3��2�4E�F�����	�3��?�-�	/�����	�3��3�5I�J�����	�3��?�-�	/�����	�8�4�y�k�B������T�2�4E�F�����
�s�3�5M�N����� <�d�C�E�	G������d�3�5I�J����� 2�D�9�2�	4����� ;�T�B�2�	4�	
���*�f�i��<����)�V�Y��C��A����)�V�R��5r
c��ddlm}|j|dd�d�|j|dd�d�|j|d	d�d
�|j|dd�d
�|j|dd�d�|jt|dd�|jt
|dd�|jt
|dd�|jt
|dt
d��|jt
|gd�y)zTest PyUnicode_Partition()r)�unicode_partition�a|b|crO)r+rOrU�a||b||crS)r+rSzb||c�а|б|в)rXrOuб|в�
кабанrX)uкrXuбан�aжbжcrg)r+rgubжcr�a|b|c�|N)rrkr r"r4rJr�)r%�	partitions  r�test_partitionzCAPITest.test_partitions���	=�����7�C�0�2C�D�����9�d�3�5H�I�����:�s�3�5I�J�����<��6�8N�O�����9�d�3�5H�I����*�i��"�=����)�Y��#�>����)�Y���>����)�Y���S��B����)�Y��C�8r
c��ddlm}|j|dd�d�|j|dd�d�|j|d	d�d
�|j|dd�d
�|j|dd�d�|jt|dd�|jt
|dd�|jt
|dd�|jt
|dt
d��|jt
|gd�y)zTest PyUnicode_RPartition()r)�unicode_rpartitionrlrO)rfrOrNrmrS)za||brSrNrn)uа|бrOrZrorX)uкабrXuнrprg)uaжbrgrNrrqrrN)rrvr r"r4rJr�)r%�
rpartitions  r�test_rpartitionzCAPITest.test_rpartition-s���	?�����G�S�1�3D�E�����I�t�4�6I�J�����J��4�6J�K�����L�$�7�9O�P�����I�t�4�6I�J����*�j�'�2�>����)�Z��3�?����)�Z��$�?����)�Z��#�c�(�C����)�Z��S�9r
c�F�ddlm}|j|d�gd��|j|dd�gd��|j|d�gd��|j|dd�gd��|j|d	�gd
��|jt|d�y)
zTest PyUnicode_SplitLines()r)�unicode_splitlinesza
b
c
drPT)za
zb
zc
rQua…b
c
d)ua…ub
uc
rQuа
б
в
гrWsa
b
c
dN)rrzr r"rJ)r%�
splitliness  r�test_splitlineszCAPITest.test_splitlinesAs���	?�����N�3�5I�J�����N�D�9�5�	7�����$:�;�-�	/�����$:�D�A�=�	?�����$6�7�9Q�R����)�Z��Ar
c��ddlm}|j|dtd�dtd�td�td�d	i�d
�|j|dtd�d
td�td�td�d	i�d�|j|di�d�|j|dg�d�|j	t
|dtd�di�|j	t
|dtd�did�|j	t|dtd�did�|j|dtd�did�d�|j|dtd�did�d�|j|dtd�did�d�|j	t|dg�|j	t|dg�|j	t|dtd�di�|j	t|dd�|j	t|dt�|j	t|dtd�did�y)zTest PyUnicode_Translate()r)�unicode_translate�abcdr+�Ar�BrN�<>zAB<>duабвгrXuАrYuБrZuАБ<>гrHN�strict�foo�ignore�ac�replaceua�c�backslashreplaceza\x62cr2r��A)	rr~r r�r"�UnicodeTranslateError�LookupErrorrJrT)r%�	translates  r�test_translatezCAPITest.test_translateSs���	=�����6�C��H�c�3�s�8�S��X�s�SV�x�Y]�+^�_�ah�i�����:��D�	�4��T��C�PT�I�WZ�[_�W`�bf�/g�h�jt�u�����5�"�-�u�5�����5�"�-�u�5����/��E�C��H�d�CS�T����/��E�C��H�d�CS�U]�^����+�y�%�#�c�(�D�9I�5�Q�����5�3�s�8�T�*:�H�E�t�L�����5�3�s�8�T�*:�I�F�
�S�����5�3�s�8�T�*:�<N�O�QZ�[����)�Y���;����)�Y��R�8����)�Y���C��$�7G�H����)�Y��s�;����)�Y��t�<����+�y�%�#�c�(�D�9I�5�Qr
c��ddlm}|j|dgd��d�|j|dgd��d�|j|dgd��d	�|j|tgd��d
�|j|dgd��d�|j|d
gd��d�|j	t
|dgd��|j	t
|dgd��|j	t
|tgd��|j	t
|dd�|j	t
|dd�|j	t|dt�y)zTest PyUnicode_Join()r)�unicode_joinrO)r+rrNrl)r+rrNza||crrHza b c)rXrYrZrnrgu
ажбжвrr)�a�b�cr�r�N)rr�r rTr"rJr$)r%r"s  r�	test_joinzCAPITest.test_joinls
��	3�����c�?�3�W�=�����c�>�2�F�;�����b�/�2�E�:�����d�O�4�g�>�����c�#5�6�
�C�����d�$6�7��F����)�T�4��A����)�T�3�0B�C����)�T�4�1C�D����)�T�3��7����)�T�3��4����+�t�S�$�7r
c�F�ddlm}dD]9}t|�D])\}}|j|||dt	|��d��+�;d}|j||ddt	|��d�|j||ddt	|��t	|�dz�|j||ddt	|�dz�d�|j||ddt
�d�|j||ddd�d�|j||dt	|�d�d�|j||dt	|�d	�d�|j||dt	|�dz
d	�d�|j||dtd	�d�|jt||d
dt	|��|jt|dddt	|��|jt||td�dt	|��|jt|gddt	|�d�y)
zTest PyUnicode_Count()r)�
unicode_count��¡u耀肀u��u🄀🇱r�!>_<!�zr�!r�!�!>_<!N)
rr�r3r r�rrr"rJr�)r%r�r�rL�chs     r�
test_countzCAPITest.test_count~s���	,�Q�C�"�3����2�� � ��s�B��3�s�8�!D�a�H�(�R�������s�C��C��H�=�q�A�����s�B��3�s�8�<�c�#�h�q�j�I�����s�C��C��H�Q�J�?��C�����s�C��N�C�Q�G�����s�C��A�6��:�����s�C��S��1�=�q�A�����s�C�#�c�(��B�?��C�����s�C�#�c�(��1��b�A�1�E�����s�C���D�a�H����)�]�C��q�#�c�(�K����)�]�H�c�1�c�#�h�O����)�]�C��S��1�c�#�h�O����)�]�B��Q��C��!�Lr
c
��ddlm}d}|j||ddt|�d�d�|j||ddt|�d�d�|j||ddtd�d�|j||dt|�td�d�|j||dt
t|�d�d�|j||ddtd�d�|j||dt
t|�d�d�|j||ddt|�d�d�|j||ddt|�d�d�|j||d	dt|�d�d�|j||d	dt|�d�d�|j||d
dt|�dz
d�d�|j||d
dt|�dz
d�d�|j||ddt|�dz
d�d�|j||d
t|�dzdd�d�|j||ddt|�d�d�|j||ddt|�dz
d�d�|j||dt|�dd�d�|j
t||ddt|�d�|j
t||ddt|�d�y
)zTest PyUnicode_Tailmatch()r)�unicode_tailmatch�
ababahalamaha�abarr�ahar�r�ba�ah)r�r�N)rr�r r�rrr"rJ)r%�	tailmatchr�s   r�test_tailmatchzCAPITest.test_tailmatch�s���	=�������3��q�#�c�(�B�?��C�����3��q�#�c�(�A�>��B�����3��q�.�"�E�q�I�����3���C��y�.�"�M�q�Q�����3��~�s�3�x��L�a�P�����3��q�.�!�D�a�H�����3��~�s�3�x��K�Q�O�����3��Q��C��!�<�a�@�����3��Q��C��"�=�q�A�����3��A�s�3�x��;�Q�?�����3��A�s�3�x��<�a�@�����3��a��S��!��R�@�!�D�����3��a��S��!��R�@�!�D�����3��q�#�c�(�1�*�b�A�1�E�����3��s�3�x�i��k�2�r�B�A�F�����3��a��S��1�=�q�A�����3��a��S��!��Q�?��C�����3��s�3�x�i��Q�?��C�	
���)�Y��^�Q��C��RT�U����)�Y��^�Q��C��RS�Tr
c��ddlm}dD]_}t|�D]O\}}|j|||dt	|�d�|�|j|||dt	|�d�|��Q�ad}|j||ddt	|�d�d�|j||ddt	|�d�d�|j||ddt	|�d�d�|j||ddt	|�d�t	|��|j||d	dt	|�dzd�d
�|j||d	dt
d�d
�|j||d	dt	|�dzd�d
�|j||d	dt
d�d
�|j||d	ddd�d�|j||d	ddd�d�|j||d	t	|�dd�d�|j||d	t	|�dd�d�|j||d	t	|�dd�d�|j||d	t	|�dd�d�|j||d	tdd�d�|j||d	tdd�d�|j||d	tt
d�d�|j||d	tt
d�d
�|jt||ddt	|�d�|jt|dd	dt	|�d�|jt||td	�dt	|�d�|jt|gd	dt	|�d�y
)zTest PyUnicode_Find()r)�unicode_findr�rrr�r�rr�rr�r�N)
rr�r3r r�rrr"rJr�)r%�findr�rLr�s     r�	test_findzCAPITest.test_find�s+��	3�Q�C�"�3����2�� � ��c�2�q�#�c�(�A�!>��B�� � ��c�2�q�#�c�(�B�!?��C�(�R�
������c�3��3�s�8�Q�7��<�����c�3��3�s�8�R�8�"�=�����c�2�q�#�c�(�A�6��:�����c�2�q�#�c�(�B�7��S��B�����c�3��3�s�8�A�:�q�9�1�=�����c�3��>�1�=�q�A�����c�3��3�s�8�A�:�r�:�A�>�����c�3��>�2�>��B�����c�3��1�a�0�"�5�����c�3��1�b�1�2�6�����c�3��C��!�Q�7��<�����c�3��C��!�R�8�"�=�����c�3��S��	�2�q�9�1�=�����c�3��S��	�2�r�:�A�>�����c�3���A�>��B�����c�3���B�?��C�����c�3����J�A�N�����c�3����K�Q�O����)�T�3��a��S��1�E����)�T�8�S�!�S��X�q�I����)�T�3��C��!�S��X�q�I����)�T�2�s�A�s�3�x��Cr
c�\�ddlm}dD]q}t|�D]a\}}|j||t	|�dt|�d�|�|j||t	|�dt|�d�|��c�sd}|j||ddt|�d�d�|j||ddt|�d�d�|j||t	d�dt|�dzd�d	�|j||t	d�dtd�d	�|j||t	d�dt|�dzd�d	�|j||t	d�dtd�d	�|j||t	d�ddd�d�|j||t	d�ddd�d�|j||t	d�t|�dd�d�|j||t	d�t|�dd�d�|j||t	d�t|�dd�d�|j||t	d�t|�dd�d�|j||t	d�tdd�d�|j||t	d�tdd�d�|j||t	d�ttd�d�|j||t	d�ttd�d	�y
)zTest PyUnicode_FindChar()r)�unicode_findcharr�rrr�rr�rN)rr�r3r r�r�rr)r%r�r�rLr�s     r�
test_findcharzCAPITest.test_findchar�s���	/�Q�C�"�3����2�� � �!1�#�s�2�w��3�s�8�Q�!O�QR�S�� � �!1�#�s�2�w��3�s�8�R�!P�RS�T�(�R�
�����)�#�x��C��H�a�H�"�M����)�#�x��C��H�b�I�2�N����)�#�s�3�x��C��H�Q�J��J�A�N����)�#�s�3�x��N�A�N�PQ�R����)�#�s�3�x��C��H�Q�J��K�Q�O����)�#�s�3�x��N�B�O�QR�S����)�#�s�3�x��A�q�A�2�F����)�#�s�3�x��A�r�B�B�G����)�#�s�3�x��S��1�a�H�"�M����)�#�s�3�x��S��1�b�I�2�N����)�#�s�3�x�#�c�(��B��J�A�N����)�#�s�3�x�#�c�(��B��K�Q�O����)�#�s�3�x���Q�O�QR�S����)�#�s�3�x���R�P�RS�T����)�#�s�3�x���YZ�[�]^�_����)�#�s�3�x���Y[�\�^_�`r
c	�"�ddlm}d}|j||dd�d�|j||dd�d�|j||d	d�d
�|j||ddd�d�|j||ddd�|�|j||ddt�d�|j||ddd
�d�|j||ddt�d�|j||dd�|�|j||dd�d�|j||dd�d�|j|ddd�d�|j|ddd�d�|jt|ddd�|jt|ddd�|jt|ddd�|jt|ddtd��|jt|dtd�d�|jt|gdd�y)zTest PyUnicode_Replace()r)�unicode_replace�abracadabrar+�=z=br=c=d=br=r�z<>br<>c<>d<>br<>�abraz=cad=rz=br=cadabrarr�rz=a=b=r=a=c=a=d=a=b=r=a=rguжbrжcжdжbrжr\rXu=б=б=г=л=м=г=uБаден-Баденu
Баден�BadenzBaden-Baden�=r�N)rr�r rrr"rJr�)r%r�r�s   r�test_replacezCAPITest.test_replace
s���	9��������c�3�/��?������c�4�0�2D�E������f�c�2�G�<������c�3��2�M�B������c�3��2�C�8������c�3��?��O������c�3��3�]�C������c�3��?��O������c�3�/��5������b�#�.�0I�J������c�4�0�2D�E�����!=�t�S�I�K`�a�����!8�,��P�R_�`����)�W�c�3��=����)�W�c�4��=����)�W�d�C��=����)�W�c�3��C��A����)�W�c�3�s�8�S�A����)�W�b�#�s�;r
c�\�ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|jt|d	d�|jt|dd	�|jt|d	d	�|jt|gd�|jt|dg�|jt|gg�y
)zTest PyUnicode_Compare()r)�unicode_comparerHrHrrrer2r2N)rr�r r"rJ)r%�compares  r�test_comparezCAPITest.test_compare,s	��	9�������.��2�������.��3�������.��2������
�3�R�8������Z�8�!�<������5�1�1�5����)�W�f�e�<����)�W�e�V�<����)�W�f�f�=����)�W�b�%�8����)�W�e�R�8����)�W�b�"�5r
c�<�ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd	�d�|j|d
d	�d�|j|dd�d�y)
z'Test PyUnicode_CompareWithASCIIString()r)�unicode_comparewithasciistringrHr2rIrrHrrdrer2N)rr�r )r%�comparewithasciistrings  r�test_comparewithasciistringz$CAPITest.test_comparewithasciistringBs���	W����/��v�>��B����/��v�>��C����/��v�>��B����/��{�C�Q�G����/�
�K�H�!�L����/��&�A�1�Er
c	�2�ddlm}td�\}}}}}}d}|D]�}	|D]�}
|j||	|
|�|	|
k�|j||	|
|�|	|
k�|j||	|
|�|	|
k(�|j||	|
|�|	|
k7�|j||	|
|�|	|
kD�|j||	|
|�|	|
k\�����||||||fD]�}|j|dd|�t�|j|dd|�t�|j|dd|�t�|j|gd|�t�|j|dg|�t�|j|gg|�t���y)zTest PyUnicode_RichCompare()r)�unicode_richcomparer<)rHr2rkrr2rHN)rr�r5r��NotImplemented)r%�richcompare�LT�LE�EQ�NE�GT�GEr:�s1r��ops            r�test_richcomparezCAPITest.test_richcompareSs|��	A�!&�q����B��B��B�:���B����
�
�k�"�b�"�5�r�B�w�?��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�B�w�?��
�
�k�"�b�"�5�r�R�x�@�
���b�"�b�"�b�(�B��M�M�+�f�e�R�8�.�I��M�M�+�e�V�R�8�.�I��M�M�+�f�f�b�9�>�J��M�M�+�b�%��4�n�E��M�M�+�e�R��4�n�E��M�M�+�b�"�b�1�>�B�
)r
c��ddlm}|j|dd�d�|j|dd�d�|j|ddgf�d�|jt|dt
�|jt|t
d�y	)
zTest PyUnicode_Format()r)�unicode_formatzx=%d!�*zx=42!)r�z
x=%d y=%s!z
x=42 y=[]!N)rr�r r"r$rT)r%r�s  r�test_formatzCAPITest.test_formatosx��	7�������,�g�6�������/��9������r�2�h�7��F����+�v�w��=����+�v�t�R�8r
c�p�ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd	�d�|j|d
d	�d�|j|dd�d�|jt|dd�|jt|dd
�|jt|dd
�|jt|gd�|jt|dtd��y)zTest PyUnicode_Contains()r)�unicode_containsrrrr�xrgrRre�bcsabcdr�N)rr�r r"rJr�)r%�containss  r�
test_containszCAPITest.test_contains|s��	;�����&�"�-�q�1�����&�#�.��2�����&�#�.��2�����&�$�/��3�����&�$�/��3�����*�d�3�Q�7�����&�$�/��3����)�X�w��<����)�X�v�t�<����)�X�w��=����)�X�r�3�7����)�X�v�s�3�x�@r
c���ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d	�d�|j|d
�d�|j|d�d�|j|d�d�|j|d
�d�y)zTest PyUnicode_IsIdentifier()r)�unicode_isidentifierr+r�b0�µu𝔘𝔫𝔦𝔠𝔬𝔡𝔢r� �[�©�0�32MN)rr�r )r%�isidentifiers  r�test_isidentifierzCAPITest.test_isidentifier�s���	C�����c�*�A�.�����d�+�Q�/�����d�+�Q�/�����&D�E�q�I�����b�)�1�-�����c�*�A�.�����c�*�A�.�����d�+�Q�/�����c�*�A�.�����e�,�a�0r
c���ddlm}gd�}t|�D]�\}}|d|D]}|jt||d|dd��td�D]9}|j
||d||d�|||dzjdd�d|z
f��;td�D]9}|j
|||||d�|||dzjdd�d|z
f��;��|d}|jt||d|dd�|jt||t|dd�|jt||d|dd�|jt||t|dd�|jt||d|dd�|jt||d|td�|jt||d|dd�|jt||d|td�|jt||d	|dd�|jt||d	|dt�|jt||d|dd�|jt||d|dt�|jt||dd
dd�|jt||dgdd�y)zTest PyUnicode_CopyCharacters()r)�unicode_copycharactersr+NrrRr<rrr
)rr�r3r"r$r5r �ljust�rjustr8rr)	r%r�r:r<�from_r>�
from_start�to_startrCs	         r�test_copycharacterszCAPITest.test_copycharacters�s���	5�
��$�G�,�J�C���d�s�m���!�!��*�B��5�!�Q��$�$�A�h�
�� � �*�5�!�U�J��J��:�j��l�3�9�9�!�T�B��z�\�#��'�"�!�H��� � �*�5�(�E�8�Q�O��8�H�Q�J�/�5�5�a��>��x�Z�!��%�-�.
�A�J�����*�&<�a��A�q�!�L����*�&<�a��QR�TU�WX�Y����*�&<�a��Q��1�M����*�&<�a��QR�TU�WX�Y����*�&<�a��A�q�!�L����*�&<�a��A�~�WX�Y����*�&<�a��A�r�1�M����*�&<�a��A�~�WX�Y����+�'=�q�!�Q��1�M����+�'=�q�!�Q��>�Z����+�'=�q�!�Q��2�N����+�'=�q�!�Q��>�Z����+�'=�q�!�S�!�Q�O����+�'=�q�!�R��A�Nr
c�2�ddlm}dD]�}d}td�D]z}|t|�z
}|j	||�t|�j�|dzz�|j	||�t|�j�|dzz��|��y)Nr)�getargs_s_hash)�$�r/i
�rrr)rr�r5r!r r)r%r��krCrLs     r�test_pep393_utf8_caching_bugz%CAPITest.test_pep393_utf8_caching_bug�s���	-�,�A��A��1�X���S��V���� � ���!2�C��F�M�M�O�q�1�u�4M�N�� � ���!2�C��F�M�M�O�q�1�u�4M�N��-r
)7r	r
rr�cpython_only�unittest�skipIfrr(rDrOrVr\r`rortr�r�r�r�r�r�rrrrrr$r(r.r8r=rArErKrcrirtrxr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrs�	������X�_�_�Y�$�&�(?�@�?�A��?�&
����X�_�_�Y�$�&�(?�@�!=�A��!=�L
����X�_�_�Y�$�&�(?�@�=�A��=�:
����X�_�_�Y�$�&�(?�@�8�A��8�0
����X�_�_�Y�$�&�(?�@�<�A��<�4
����X�_�_�Y�$�&�(?�@�B�A��B�2
����X�_�_�Y�$�&�(?�@�P�A��P�.
����X�_�_�Y�$�&�(?�@�
.�A��
.�
����X�_�_�Y�$�&�(?�@�P�A��P�D
����X�_�_�Y�$�&�(?�@�K�A��K�,
����X�_�_�Y�$�&�(?�@�	4�A��	4�
����X�_�_�Y�$�&�(?�@�6�A��6�"
����X�_�_�Y�$�&�(?�@�5�A��5�"d5�L
����X�_�_�Y�$�&�(?�@�#�A��#�
����X�_�_�Y�$�&�(?�@�4�A��4�
����X�_�_�Y�$�&�(?�@�K�A��K�B
����X�_�_�Y�$�&�(?�@�,J�A��,J�\
����X�_�_�Y�$�&�(?�@�L�A��L�B
����X�_�_�Y�$�&�(?�@�G�A��G�.
����X�_�_�Y�$�&�(?�@�4�A��4�
����X�_�_�Y�$�&�(?�@�	7�A��	7�
����X�_�_�Y�$�&�(?�@�<�A��<�
����X�_�_�Y�$�&�(?�@�H�A��H�*
����X�_�_�Y�$�&�(?�@�9�A��9�
����X�_�_�Y�$�&�(?�@�>�A��>�$
����X�_�_�Y�$�&�(?�@�5�A��5�&
����X�_�_�Y�$�&�(?�@�5�A��5�4
����X�_�_�Y�$�&�(?�@�6�A��6�6
����X�_�_�Y�$�&�(?�@�9�A��9�$
����X�_�_�Y�$�&�(?�@�:�A��:�$
����X�_�_�Y�$�&�(?�@�
B�A��
B� 
����X�_�_�Y�$�&�(?�@�R�A��R�.
����X�_�_�Y�$�&�(?�@�8�A��8� 
����X�_�_�Y�$�&�(?�@�M�A��M�:
����X�_�_�Y�$�&�(?�@�U�A��U�B
����X�_�_�Y�$�&�(?�@�#D�A��#D�N
����X�_�_�Y�$�&�(?�@�a�A��a�D
����X�_�_�Y�$�&�(?�@�<�A��<�:
����X�_�_�Y�$�&�(?�@�6�A��6�(
����X�_�_�Y�$�&�(?�@�	F�A��	F�
����X�_�_�Y�$�&�(?�@�C�A��C�4
����X�_�_�Y�$�&�(?�@�	9�A��	9�
����X�_�_�Y�$�&�(?�@�A�A��A�(
����X�_�_�Y�$�&�(?�@�1�A��1�(
����X�_�_�Y�$�&�(?�@�0O�A��0O�j
����X�_�_�Y�$�&�(?�@�O�A��Or
r�__main__)r�r��testr�test.supportrrrr�ImportErrorrTr�r�TestCaserr	�mainrr
r�<module>r�sw���
��&���8�
��	�#�	�\O�x� � �\O�~.�z���H�M�M�O���S/���I��s�A�A&�%A&

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists