Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_unicode.cpython-39.opt-2.pyc

a

��g&�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZmZddl
mZdd�Ze�e�dd�ZGdd	�d	e�ZGd
d�dejejejej�ZGdd
�d
ej�ZGdd�dej�Zedkr�e��dS)�N)�support�string_tests)�assert_python_failurecCsXddd�}d
dd�}ddd�}ddd	�}|d
kr<||ddfS|dkrP||ddfSdSdS)N�strictcSsdS�N�*���input�errorsrr�-/usr/local/lib/python3.9/test/test_unicode.py�decode1sz search_function.<locals>.decode1cSsdSrrr	rrr�encode1sz search_function.<locals>.encode1cSsdS�N)rrrr	rrr�encode2sz search_function.<locals>.encode2cSsdSrrr	rrr�decode2sz search_function.<locals>.decode2�
test.unicode1�
test.unicode2)r)r)r)rr)�encodingr
rrrrrr�search_functions



rcCs|����S�N)�encode�decode)�textrrr�duplicate_string'src@seZdZdS)�StrSubclassN)�__name__�
__module__�__qualname__rrrrr1srcs�eZdZeZdd�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Ze�ejd!kd"�d#d$��Zd%d&�Zejd'd(��Zd)d*�Zd+d,�Z�fd-d.�Z �fd/d0�Z!�fd1d2�Z"�fd3d4�Z#e�$d5�d6d7��Z%�fd8d9�Z&�fd:d;�Z'�fd<d=�Z(d>d?�Z)�fd@dA�Z*dBdC�Z+dDdE�Z,ejdFdG��Z-dHdI�Z.dJdK�Z/dLdM�Z0dNdO�Z1dPdQ�Z2dRdS�Z3�fdTdU�Z4dVdW�Z5dXdY�Z6e�7ejdZkd[�ejd\d]���Z8d^d_�Z9d`da�Z:dbdc�Z;ddde�Z<dfdg�Z=dhdi�Z>djdk�Z?dldm�Z@dndo�ZAdpdq�ZBdrds�ZCdtdu�ZDejdvdw��ZEdxdy�ZFdzd{�ZGe�Hd|d}d~�dd���ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zae�ejd!k�p@eb�cd��d�kd��d�d���Zdejd�d���Zed�d��Zfd�d��Zgd�d��Zhd�d��Ziejd�d���Zjd�dÄZkd�dńZld�dDŽZm�ZnS)��UnicodeTestcGs�t||�}||�}|�||�|�t|�t|�u�||ur�Gdd�dt�}||�}t||�}||�}|�||�|�||u�dS)Nc@seZdZdd�ZdS)z)UnicodeTest.checkequalnofix.<locals>.usubcSsdt�|�S)Nzusub(%r))�str�__repr__��selfrrrr!Esz2UnicodeTest.checkequalnofix.<locals>.usub.__repr__N�rrrr!rrrr�usubDsr%)�getattr�assertEqual�
assertTrue�typer )r#�result�objectZ
methodname�args�methodZ
realresultr%rrr�checkequalnofix;s

zUnicodeTest.checkequalnofixcCsV|�dd�|�dd�|�ttd�|�ttd�|�ttdd�|�dd�dS)	N�ÿ�￿z'\Ufffffffe'z'\Uffffffff'z'\U%08x'�z\u0020� )r'�assertRaises�SyntaxError�eval�assertNotEqualr"rrr�
test_literalsMszUnicodeTest.test_literalscCs<tj�d��s8|�td�d�|�td�d�|�td�d�|�td�d	�|�td
�d�|�td�d
�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�d}td�tttd����}|�||�|�td�td��Gdd�d�}|�	t
t|��dS) N�java�abc�'abc'�ab\c�'ab\\c'�ab\�'ab\\'�\c�'\\c'�\�'\\'�
�'\n'�
�'\r'�	�'\t'��'\x08'�'"�'\'"'�'�"'"�"�'"'a�'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'����0𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿c@seZdZdd�ZdS)z)UnicodeTest.test_ascii.<locals>.WrongReprcSsdS�Ns	byte-reprrr"rrrr!|sz2UnicodeTest.test_ascii.<locals>.WrongRepr.__repr__Nr$rrrr�	WrongRepr{srU)�sys�platform�
startswithr'�ascii�join�map�chr�ranger3�	TypeError�r#Z
latin1reprZtestreprrUrrr�
test_asciiVs.�
�zUnicodeTest.test_asciicCs<tj�d��s8|�td�d�|�td�d�|�td�d�|�td�d	�|�td
�d�|�td�d
�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�d}td�tttd����}|�||�|�td�td��Gdd�d�}|�	t
t|��dS) Nr8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPu%'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'rQrRrSc@seZdZdd�ZdS)z(UnicodeTest.test_repr.<locals>.WrongReprcSsdSrTrr"rrrr!�sz1UnicodeTest.test_repr.<locals>.WrongRepr.__repr__Nr$rrrrrU�srU)rVrWrXr'�reprrZr[r\r]r3r^r_rrr�	test_repr�s.�
�zUnicodeTest.test_reprcCsJd��}|�t|�d�|�t|�d�|�t|�d�|�tt|�dS)Nu	ᄑ∢㌳uᄑu∢u㌳)�__iter__r'�nextr3�
StopIteration)r#�itrrr�test_iterators�s
zUnicodeTest.test_iteratorscCsltj�|�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�ddddd�|�ddddd	�|�d
ddddd�|�dddddd	�|�dddd�|�dd
dd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�dS)N�Zaaa�count�ar�b����i������
uĂaaaaaaaaaau􀌄aaaaaaaaaau􀌄ĂĂĂĂĂĂĂĂĂĂ�ĂZ
aaaaaaaaaa�􀌄uĂĂĂĂĂĂĂĂĂĂuĂa_a_a_a_a_a_a_a_a_a_�a_u􀌄a_a_a_a_a_a_a_a_a_a_u"􀌄Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_�Ă_�aĂ�a􀌄�Ă􀌄)r�
CommonTest�
test_countr.�
checkequalr"rrrrx�s,zUnicodeTest.test_countcCs�tj�|�|�dddd�|�dddd�|�dddd�|�dddd�|�dd	dd
�|�dd	dd�|�dd	dd�|�d
ddd�|�ddddd�|�ddddd�|�tdj�|�tdjd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd
�|�dddd
�|�dddd�|�dddd�|�dddd �|�dddd!�|�dddd"�|�dddd#�dS)$N�dufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂ�findrprm�ȁ�Ġ�Ƞuhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa􀌄rq�􀈄�􂀄r�abcdefghiabcr9�	rl�def��hellor��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂarj��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă�daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa_rr��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a_��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă_rsrtrurv)rrw�	test_findryr.r3r^r{r"rrrr��s2zUnicodeTest.test_findcCsptj�|�|�dddd�|�dddd�|�dddd�|�dddd�|�dd	dd
�|�dd	dd�|�dd	dd�|�d
ddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd
�|�dddd
�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�|�dddd�dS) NrufĂaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�rfindrprmr|r}r~uh􀌄aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrr�r�r�r9�rQ��aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂrj��a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄r�r���_aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ�_a��_a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��_Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄�_Ă�Ăa�􀌄a�􀌄Ă)rrw�
test_rfindryr.r"rrrr��s.zUnicodeTest.test_rfindcCsXtj�|�|�dddd�|�dddd�|�dddd�|�ddddd	�|�tdjd
�|�tdjdd	�|�tdjd
d�|�tdjd
d�|�dddd�|�dddd�|�dddd�|�tdjd�|�tdjd�|�tdjd�|�dddd�|�dddd�|�dddd�|�tdjd�|�tdjd�|�tdjd �dS)!Nrr��indexrQrhr�r9r�rl�hibZabcdefghiab�	abcdefghi�ghi�rmrzr�rjr�r�rpr�rqr�r�rrr�r�rsrtrurv)rrw�
test_indexr.r3�
ValueErrorr�ryr"rrrr�s*zUnicodeTest.test_indexcCsrtj�|�|�dddd�|�dddd�|�dddd�|�d	dddd	d
�|�tdjd�|�tdjdd
�|�tdjdd	d
�|�tdjdd	d�|�tdjdd	d
�|�d	ddd�|�d	ddd�|�d	ddd�|�tdjd�|�tdjd�|�tdjd�|�d	ddd�|�d	ddd�|�d	ddd�|�tdjd�|�tdjd�|�tdjd �dS)!Nr�r��rindexrQrhr�r�r9rrmr�Z	defghiabcrlr�r�r�r�rjr�r�rpr�rqr�r�r�r�r�r�r�r�r�)rrw�test_rindexr.r3r�r�ryr"rrrr�s,zUnicodeTest.test_rindexcCs0|�dddtd�di�|�dddtd�dtd�td�i�|�dddtd�dtd�td�td	�d
i�|�d	ddtd�dtd�di�|�dd
dtd�di�|�dddddi�|j�ddd��}|�ddd|�|j�ddd�}|�ddd|�|�d�t�dd��d�|�d�t�ddi��d�|�d�t�ddi��d�|�d�t�ddi��d�|�d�t�ddi��d�|�d �t�dd!d���d"�|�d �t�ddd���d#�|�d�t�dd$i��d%�|�d�t�ddi��d�|�d�t�ddi��d�|�d�t�dd!i��d&�|�d'�t�dd(i��d)�d*}d+D],}t�||i�}d,|}|�t|j|��qP|�t	|jj�|�t|jjdd-�|�t	|jjd.d/�|�t	|jjdd.�|�t	|jjdd/d.�|�t|jjd0d.i�|�t	|jjd1d.i�|�t	d2j�|�t	djdd�dS)3NZbbbcZabababc�	translaterjZiiicrk�iZiiix�c�xrQZxyyxZxzx�zZyyz<i>�rjrkz
<i><i><i>cr9Zxyz�dZxyzzyZabdcdcbddddz[a]�Xz[X]�[]ZXXXz[XXX]�éu[é]Zaxb�123Zx123uxéu<é>u[<é>]z[123]u[aé]u<€>u	[<€>é]r1u
aé€􏿿z[%s]Zdefgrnr�Zxy)rlr�)
r.�ord�	type2test�	maketransr'r�r r3r�r^)r#ZtblZinvalid_char�before�mappingrrrr�test_maketrans_translate9s�

�
�
�
�

�
�������������z$UnicodeTest.test_maketrans_translatec	Cs�tj�|�dD]�\}}|d9}|d9}dD]|}|�||g||d|�|�||g|||d|�|�||g||d|d�|�||g||d|d|d�q,qdS)N�ZbauāĀu𐌁𐌀r��r�rpu𐌂�splitrn)rrw�
test_splitry�r#�left�right�delimrrrr�s"
�
��
�zUnicodeTest.test_splitc	Cs�tj�|�dD]�\}}|d9}|d9}dD]|}|�||g||d|�|�||g|||d|�|�||g||d|d�|�||g||d|d|d�q,qdS)Nr�r�r��rsplitrn)rrw�test_rsplitryr�rrrr��s"
�
��
�zUnicodeTest.test_rsplitc	Cs�tj�|�|�dddd�dD]�\}}|d9}|d9}dD]�}|�||ddf||d|�|�|||f|||d|�|�||ddf||d|d	�|�||d	|f||d	|d|d	�q<q dS)
N)�ABCDEFGHrQrQr��	partition�䈀r�r�r�rQrn)r�MixinStrUnicodeUserStringTest�test_partitionryr�rrrr��s$
����zUnicodeTest.test_partitionc	Cs�tj�|�|�dddd�dD]�\}}|d9}|d9}dD]�}|�dd||f||d|�|�|||f|||d|�|�dd||f||d|d	�|�||d	|f||d	|d|d	�q<q dS)
N)rQrQr�r��
rpartitionr�r�r�r�rQrn)rr��test_rpartitionryr�rrrr��s$
����zUnicodeTest.test_rpartitionc	Cstj�|�Gdd�d�}|�dddgd��|�dddd�|�d	ddt�d
��|�dddgd��|�dddgd��|�dddd�|�d	ddt�d
��|�tdddd|d
�g�|�tdddddt�g�|�tddgd��|�tddgd��dS)Nc@seZdZdd�Zdd�ZdS)z(UnicodeTest.test_join.<locals>.MyWrappercSs
||_dSr��sval)r#r�rrr�__init__��z1UnicodeTest.test_join.<locals>.MyWrapper.__init__cSs|jSrr�r"rrr�__str__�r�z0UnicodeTest.test_join.<locals>.MyWrapper.__str__N�rrrr�r�rrrr�	MyWrapper�sr�za b c dr2rZ)rjrkr�r��abcdrQzw x y zZwxyz�1�2�foo�3)rlrnrh)r�r�rh)rr��	test_joinr.�Sequence�checkraisesr^�bytes)r#r�rrrr��szUnicodeTest.test_joinlz*needs too much memory on a 64-bit platformcCs4ttjd�d}d|f|}|�tdj|�dS)Ng�?rl�ArQ)�intrV�maxsizer3�
OverflowErrorrZ)r#�size�seqrrr�test_join_overflow�szUnicodeTest.test_join_overflowc
Cs�tj�|�|�dddddd�|�tdjdd�d	D]�\}}|d
9}|d
9}dD]�}dD]�}|�||||d||�|�||||||d||�|�||||d|d
|�|�|||||d
|d|d
|�qZqRq6dS)Nzone@two!three!zone!two!three!�replace�!�@rl�rrr�r�r�)r�uău𐌃rn)rrw�test_replacer.r3r^r�ry)r#r�r�r��replrrrr��s,
�
�
�
�zUnicodeTest.test_replacecCs d}d}|�|�||�|�dS)Nr9zabc def)�assertIsr�)r#�patternrrrr�test_replace_id�szUnicodeTest.test_replace_idcCs�t���dt�dt�|�ddkd�|�ddkd�|�dtd�kd�|�dtd�kd�Wd�n1sr0YdS)N�ignorer9�abcFT)rZcheck_warnings�warnings�simplefilter�BytesWarningr'�	bytearrayr"rrr�test_bytes_comparison�s
z!UnicodeTest.test_bytes_comparisoncs:��dd���ddk���ddk���ddk�dS)Nr9r����u��)r'r(r"r)r#Z
test_fixupZ
test_lecmpr�test_comparisons5zUnicodeTest.test_comparisoncs�t���|�ddd�|�d���|�d���|�d���|�d���|�d���|�d	���|�d
���|�d���dS)NF�ῼ�islower�Ⅷ�ⅷ�𐐁�𐐧�𐐩�𐑎�🐍�👯)�super�test_islowerr.�assertFalser�r(r"��	__class__rrr�=s
zUnicodeTest.test_islowercs�t���tj�d�s$|�ddd�|�d���|�d���|�d���|�d���|�d	���|�d
���|�d���|�d���dS)
Nr8Fr��isupperr�r�r�r�r�r�r�r�)	r��test_isupperrVrWrXr.r(rr�r"r�rrrLs
zUnicodeTest.test_isuppercsft���|�ddd�|�ddd�|�d���|�d���dD]}|�|��d�|��qFdS)	NTr��istitleuGreek ῼitlecases ...u𐐁𐐩u𐐧𐑎)r�r�r�r�z{!a} is not title)r��test_istitler.r(rr��format�r#�chr�rrr\s
zUnicodeTest.test_istitlecsXt���|�ddd�|�ddd�|�ddd�dD]}|�|��d�|��q8dS)	NTu �isspaceu Fu—�r�r�r�r�r�r�z{!a} is not space.)r��test_isspacer.r�rrrr�rrr	hs
zUnicodeTest.test_isspaceZcpucCsPttjd�D]<}t|�}t�|�}t�|�}|�|��|dvpF|dk�qdS)Nrl)ZWS�B�SZZs)	r]rV�
maxunicoder\�unicodedata�
bidirectional�categoryr'r)r#Z	codepoint�charrrrrr�test_isspace_invariantrs


�z"UnicodeTest.test_isspace_invariantcs.t���dD]}|�|��d�|��qdS)N)r�r�r�r��𝟶�𑁦�𐒠�🄇z{!a} is alnum.)r��test_isalnumr(�isalnumrrr�rrr|s
zUnicodeTest.test_isalnumcspt���|�ddd�|�d���|�d���|�d���|�d���|�d���|�d	���dS)
NTr��isalphar�r�r�r�r�r�)r��test_isalphar.r(rr�r"r�rrr�s
zUnicodeTest.test_isalphacs*t���|�d���|�d���dS)N�€�􏿿)r��test_isasciir��isasciir"r�rrr�s
zUnicodeTest.test_isasciicCs�|�ddd�|�ddd�|�ddd�|�ddd�|�ddd�|�dd	d�|�dd
d�|�ddd�|�tddd
�dD]}|�|��d�|��q�dD]}|�|��d�|��q�dS)NFrQ�	isdecimalrjT�0�①�¼�٠�
0123456789�0123456789ar9r)r�r�r�r�r�r��𑁥rz{!a} is not decimal.)rrrz{!a} is decimal.)r.r�r^r�rrr(rrrr�test_isdecimal�szUnicodeTest.test_isdecimalcsxt���|�ddd�|�ddd�|�ddd�dD]}|�|��d�|��q8d	D]}|�|��d
�|��qXdS)NTr �isdigitFr!r")r�r�r�r�r�r�r%z{!a} is not a digit.)rrrrz{!a} is a digit.)r��test_isdigitr.r�r'rr(rr�rrr(�s
zUnicodeTest.test_isdigitcCs�|�ddd�|�ddd�|�ddd�|�ddd�|�ddd�|�dd	d�|�dd
d�|�ddd�|�tdjd
�dD]}|�|��d�|��q�dD]}|�|��d�|��q�dS)NFrQ�	isnumericrjTrr r!r"r#r$r9rrz{!a} is not numeric.)r%rrrrz{!a} is numeric.)r.r3r^r)r�rr(rrrr�test_isnumeric�szUnicodeTest.test_isnumericcCs�|�d���|�d���|�d���|�d���|�d���|�d���|�d���|�d���|�d	���|�d
���|�d���|�d���dS)
Nrj�Z�_Zb0ZbcZb_�µu𝔘𝔫𝔦𝔠𝔬𝔡𝔢r2�[�©r)r(�isidentifierr�r"rrr�test_isidentifier�szUnicodeTest.test_isidentifiercCs2ddl}d}|�|���|�|�|����dS)Nru𝖀𝖓𝖎𝖈𝖔𝖉𝖊)�	_testcapir(r0Zunicode_legacy_string)r#r2�urrr�test_isidentifier_legacy�sz$UnicodeTest.test_isidentifier_legacycCs�|�d���|�d���|�d���|�d���|�d���|�d���|�d���|�d���|�d	���dS)
NrQr2�abcdefgzabcdefg
�ʹ�͸��r�u󠀠)r(�isprintabler�r"rrr�test_isprintable�szUnicodeTest.test_isprintablecCs�dD].}|�|���|�|���|�|���qdD].}|�|���|�|���|�|���q8dD]0}tt|�}dD]}|�||�d||f�q~qldD]0}tt|�}dD]}|�||�d||f�q�q�dS)N)�a�b��a�b��	a�b�a�	a�b�a)uA�B�uA�B�u	A�B�Au	A�B�A)r�rr)r8��������z%a.%s() is False)rrr'rrr)r0r9)r8r?r@rAr;r<r=r>)r(r�r�rrr&r )r#�sZ	meth_name�methrrr�test_surrogates�s 

zUnicodeTest.test_surrogatescCstj�|�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d	��d
�|�d��d�|�d
��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�dS)Nr��𐑏�𐐧𐐧�𐑏𐑏�𐐧𐑏�
X𐐧x𐑏u
x𐑏x𐑏�fi�İ�i̇�Σ�σ�ͅΣuͅσ�AͅΣuaͅς�AͅΣauaͅσa�AΣͅuaςͅ�Σͅ uσͅ �򏿾r�)rrw�
test_lowerr'�lowerr"rrrrUs,
�
�
�zUnicodeTest.test_lowercCst|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d	��d
�|�d��d�dS)
Nr�ZhELlo�ß�ssrJ�firMrNrPuaισr-uμ)r'�casefoldr"rrr�
test_casefoldszUnicodeTest.test_casefoldcCs�tj�|�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d	�|�d
��d
�|�d��d�|�d��d
�|�d��d�|�d��d�|�d��d�dS)NrEr�rGrFrHrIu
X𐐧X𐐧rJ�FIrKrMrW�SS�ῒ�Ϊ̀rTr�r�)rrw�
test_upperr'�upperr"rrrr`#s$
�
�
�zUnicodeTest.test_uppercCs�tj�|�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d	�d
}|�d��|�|�d��d
�|�d��d�dS)NrEr�rGrH�𐑏𐐧rIu
X𐑏x𐑏uhİuHi̇u	Ϊ̀i̇uῒİufinnish�FinnishrPuAͅς)rrw�test_capitalizer'�
capitalize)r#�exprrrrd4s&
�
�
�
�zUnicodeTest.test_capitalizecs�t���|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d	�|�d
��d�|�d��d
�|�d��d�dS)NrEr�rGrHu𐑏𐑏 𐑏𐑏u𐐧𐑏 𐐧𐑏u𐑏𐐧 𐑏𐐧uX𐐧x𐑏 X𐐧x𐑏uX𐑏x𐑏 X𐑏x𐑏ufiNNISHrcu	AΣ ᾡxyu	Aς ᾩxyuAΣAuAσa)r��
test_titler'�titler"r�rrrgEs(

�
�
�
�
�zUnicodeTest.test_titlecCs0tj�|�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d	��d
�|�d��d�|�d
��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d
��d�|�d��d�|�d��d�dS)NrEr�rGrFrHrbrIu
x𐑏X𐐧rJr\rKrLrMrNrOuΙσrPuaΙςrQuaΙσArRuaςΙrSuσΙ rWr]r^r_)rrw�
test_swapcaser'�swapcaser"rrrriVs6
�
�
�
�zUnicodeTest.test_swapcasecCsLtj�|�|�d�dd�d�|�d�dd�d�|�d�dd�d�dS)	Nr�rnrux􏿿rhu	􏿿x􏿿r�u
􏿿x􏿿􏿿)rrw�test_centerr'�centerr"rrrrkps���zUnicodeTest.test_centeri���zrequires 32-bit systemcCsTd}zd|}Wn$ty4|�d|d�Yn0z|�t|j�W~n~0dS)NiVUU�üz$no enough memory (%.0f MiB required)�)�MemoryErrorZskipTestr3r�ra)r#r�rBrrr�test_case_operation_overflowysz(UnicodeTest.test_case_operation_overflowcCs�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd	�|�dd
�|�dd�|�d
d�|�d
d�|�d
d�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�tdj�dD]^}|d9}dD]J}|�||�|�|||�|�|d|�|�|d||d��qZ�qJdS)NrjZabdbZbdabZbdabaZbdbaZbdb)rjrlN)rlNrj)r�rl�y)r�rlNr�Zabcxxxx�abr9)rlNrrrQ�zabc�abcZasdfZasd)rj�Āu𐌀r�r�rn)�assertInZassertNotInr3r^�__contains__)r#�fillr�rrr�
test_contains�sDzUnicodeTest.test_containscCsXd��d��d��d��d��d��d�dd�d�dd�d�dd�dS)N�𐀀􀀀�􀀀rh�𐀀)	rVrZrarerhrjrl�ljust�rjustr"rrr�test_issue18183�szUnicodeTest.test_issue18183cCs�
|�d��d�|�d��d�|�d��d�|�d��d�|�d��d�|�d��d	�|�d
��d�|�d��d
�ddl}|�d�d�d�|�d�tdd��d�|�d�d�d�|�ddd�}|�d�|�d�Gdd�d�}Gdd�d�}Gdd �d �}Gd!d"�d"�}Gd#d$�d$�}Gd%d&�d&|j�}Gd'd(�d(t�}	Gd)d*�d*�}
Gd+d,�d,�}|�d��d�|�d-��d-�|�d.�d-�d-�|�d/�d-�d-�|�d0�d-�d1�|�d2�d-�d3�|�d4�d-�d5�|�d6�d7d-�d-�|�d8�d7d-�d1�|�d9�d7d-�d3�|�d:�d7d-�d5�|�d.�d;�d<�|�d=�d;d-�d>�|�d?�d;d-�d@�|�dA��dB�|�dC��dD�|�dE��dF�|�dG��dH�|�dI�dJ�dK�|�dL��dM�|�dN��dO�|�dP��dQ�|�dR�dSdTi�dT�|�dU�dVdTi�dT�|�dW�dXdYi�dZ�|�d[j|d\�d]�d^�|�d_�|d`�|d\��da�|�db�||d-���d-�|�dc�d-ddg�d-�|�de�d-ddg�dd�|�df�d-ddgg�dd�|�dg�d-|dd�gg�dd�|�dh�d-�d-�|�dh�d�d�|�dh�di�d-�|�dj�di�d�|�dk�d-�d-�|�dl�d-�d-�|�dm�d-�d�|�dn�d-�do�|�dp�dq�dq�|�dr�dq�dq�|�ds�dq�dq�|�dt�dq�du�|�dv�dq�dw�|�dx�dq�dy�|�dz�dq�dy�|�d{�dq�d|�|�d}�dq�d~�|�d�dq�d��|�d��dq�d��|�d��dq�d��|�d��d�ddXd��|�d��d�dXd��|�d��d�dXd��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��dY�d��|�d��dY�d��|�d��dY�d��|�d��dY�d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��|��d-�|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��|d���d��|�d��d��d��|�d��d��d��|�d��|d���d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��d��d��|�d��|d���d��|�d��|d���d��|�d.�i�dF�|�d.�g�d��|�d.�d7g�d��|�d��|d���d¡|�d��|d���dá|�td�j|d���|�td�j|d���|�td�j|d���|�dƠ|ddd�dȍ�dɡ|�d.�|	d`��d^�|�d/�d�d�|�dʠd�d̡d͡|�dΠd�d̡d͡|�d�jd�d�dЍd͡|�d�jd�d`d�dҍdӡ|�d�jd�d�d�dҍdӡ|�tdBj�|�tdDj�|�tdj�|�tdj�|�td�j�|�td�j�|�t	d.j�|�t	d6jd-�|�t
dHj�|�tdOj�|�td�j�|�td�j�|�t	d�j�|�td�jd�|�td�j�|�td�jg�|�t
d�j�|�td�jd�|�td�jd�|�td�jd�|�td�jd�|�t
d�j�|�td�jd�|�td�jd�|jt
d�jdYd�|�td�jdY�|�td�jd�|�td�jd�|�td�j�|�t	d�j�|�t	d�j�|�t	dFj�d�}|�tdB|dDj�|�td�|d�jdg�|�td�jdg�|�td�jdg�|�td�jd�d�|�td�jd-d�d�|�td�jdd7d�dYd�d�d�d��
d�}
|�t|
d�jd�|�t|
tdd��d�}|�t|d�jd�|�td�jd�|�ttd�d�|�ttd�d�|��d��d�d��d�|�dh��d��d�|�dj��d�d�|��d�dFd�i�dա|��d�dFdi�d�|��d�dBdi�d�|��d�dDdi�d�|��d	��d
di�d�|��d��ddi�d�|�t�d
j�d�|�t�dj�d�|�t�dj�d�|��d�d�d��d�|
d��}|��d�|��d�|�t�dj|�|�tdFj|�|d��}|��d�|��d�|��d�|��d�|�tdFj|�dS(NrQrjrr�a{{�a{�a}}�a}�{{b�{b�}}b�}b�a{{b�a{brzMy name is {0}ZFredzMy name is FredzMy name is {0[name]})�namezMy name is {0} :-{{}}zMy name is Fred :-{}i�r��zThe year is {0.year}zThe year is 2007c@seZdZddd�Zdd�ZdS)z"UnicodeTest.test_format.<locals>.CrzcSs
||_dSr�Z_x�r#r�rrrr��sz+UnicodeTest.test_format.<locals>.C.__init__cSs|Srr�r#�specrrr�
__format__�sz-UnicodeTest.test_format.<locals>.C.__format__N)rz�rrrr�r�rrrr�C�s
r�c@seZdZdd�Zdd�ZdS)z"UnicodeTest.test_format.<locals>.DcSs
||_dSr�r�r�rrrr��sz+UnicodeTest.test_format.<locals>.D.__init__cSs
t|j�Sr)r r�r�rrrr��sz-UnicodeTest.test_format.<locals>.D.__format__Nr�rrrr�D�sr�c@seZdZdd�Zdd�ZdS)z"UnicodeTest.test_format.<locals>.EcSs
||_dSrr�r�rrrr��sz+UnicodeTest.test_format.<locals>.E.__init__cSsd|jdS)NzE(�)r�r"rrrr��sz*UnicodeTest.test_format.<locals>.E.__str__Nr�rrrr�E�sr�c@seZdZdd�Zdd�ZdS)z"UnicodeTest.test_format.<locals>.FcSs
||_dSrr�r�rrrr��sz+UnicodeTest.test_format.<locals>.F.__init__cSsd|jdS)NzF(r�r�r"rrrr!�sz+UnicodeTest.test_format.<locals>.F.__repr__N)rrrr�r!rrrr�F�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)z"UnicodeTest.test_format.<locals>.GcSs
||_dSrr�r�rrrr��sz+UnicodeTest.test_format.<locals>.G.__init__cSs
d|jS)Nz
string is r�r"rrrr��sz*UnicodeTest.test_format.<locals>.G.__str__cSs"|dkrd|jdSt�||�S)Nr�zG(r�)r�r+r��r#�format_specrrrr��sz-UnicodeTest.test_format.<locals>.G.__format__N)rrrr�r�r�rrrr�G�sr�c@seZdZdd�ZdS)z"UnicodeTest.test_format.<locals>.IcSs
|�|�Sr)�strftimer�rrrr��sz-UnicodeTest.test_format.<locals>.I.__format__N�rrrr�rrrr�I�sr�c@seZdZdd�ZdS)z"UnicodeTest.test_format.<locals>.JcSst�|d|�S�Nrn)r�r�r�rrrr��sz-UnicodeTest.test_format.<locals>.J.__format__Nr�rrrr�J�sr�c@s eZdZdd�Zdd�ZdZdS)z"UnicodeTest.test_format.<locals>.McSs
||_dSrr�r�rrrr��sz+UnicodeTest.test_format.<locals>.M.__init__cSsd|jdS)NzM(r�r�r"rrrr!sz+UnicodeTest.test_format.<locals>.M.__repr__N)rrrr�r!r�rrrr�M�sr�c@s eZdZdd�Zdd�ZdZdS)z"UnicodeTest.test_format.<locals>.NcSs
||_dSrr�r�rrrr�sz+UnicodeTest.test_format.<locals>.N.__init__cSsd|jdS)NzN(r�r�r"rrrr!sz+UnicodeTest.test_format.<locals>.N.__repr__N)rrrr�r!r�rrrr�Nsr�r9�{0}z{0:}zX{0}ZXabcz{0}XZabcXzX{0}YZXabcYz{1}rlzX{1}z{1}XzX{1}Yi�z-15z{0}{1}z-15abcz{0}X{1}z-15Xabcz{{�{z}}�}z{{}}�{}z{{x}}z{x}z{{{0}}}�{z{123}z	{{{{0}}}}z{{0}}z}}{{z}{z}}x{{z}x{z{0[foo-bar]}zfoo-barZbazz{0[foo bar]}zfoo barz{0[ ]}r2rhr��{foo._x}�)r��20z{1}{0}roZ2010z{0._x.x}z{0[0]}r�z{0[1]}z	{0[1][0]}z{0[1][0].x}z{0:.3s}�abcdefz{0:.0s}z{0:3.3s}z{0:2.3s}z{0:2.2s}z{0:3.2s}zab z{0:x<0s}r*z{0:x<5s}z{0:x<6s}z{0:x<7s}Zresultxz{0:x<8s}Zresultxxz{0: <7s}zresult z{0:<7s}z{0:>7s}z resultz{0:>8s}z  resultz{0:^8s}z result z{0:^9s}z	 result  z{0:^10s}z
  result  z	{0:10000}i'i'z{0:10000000}i���z{0:<6s}r�zfooz{0:<6s}zfooz{0:^6s}zfooz{0:^6s}z foo  z{0:<6}z3z{0:<6}z3z{0:^6}z3z{0:<6}z3     ���Q�	@z3.14z3.14z3.14z{0:^6}z 3.14 z{0:<12}y@@z(3+2j)z{0:<12}z(3+2j)z{0:^12}z(3+2j)z{0:^12}z   (3+2j)   z{0:abc}z{0!s}ZHelloz{0!s:}z{0!s:15}zHello          z	{0!s:15s}z{0!r}z'Hello'z{0!r:}zF(Hello)r7z'\u0378'r6u'ʹ'uF(ʹ)z{0!a}z'\u0374'z{0!a:}z	F(\u0374)r�z[1]z{0:d}�datazG(data)zstring is dataz{0:^10}z{0:>15s}z{0:date: %Y-%m-%d}�)ZyearZmonthZdayzdate: 2007-08-27z{0:.{1}}�hello world�r�z	{0:.{1}s}z{0:.{precision}s})�	precisionz{0:{width}.{precision}s})�widthr�z
hello     �10�5�{a�}azabc{0:{}z{0z{0.}z{0[}z{0]}z{0.[]}z{0..foo}z{0[0}z	{0[0:foo}z{c]}z	{{ {{{0}}z{0}}z{foo})�barz{0!x}z{0!}z{0!rs}z{!}z{:}z{:s}Z,23098475029384702983476098230754973209482573z{[z]}z{0[0]x}z
{0[0](10)}z{0[{1}]}r5r�z{0:{1:{2}}}rBz{0:{1:{2:{3:{4:{5:{6}}}}}}}rn��z+Sign not allowed in string format specifierz{0:-s}�-z,Space not allowed in string format specifierz{: }z{0:=s}�#z#20z
{0:s}{1:s}�ABCuАБВu	ABCАБВz{[{}]}z{[{]}z{[}]}z{[[]}r.z{[!]}r�z{a{}b}rz{a{b}z{[}z0x{:0{:d}X}�Z0x0000000000000000�{!r}zM(data)z{!s}zN(data))r'r�datetime�dict�dater�r3r^r��
IndexError�KeyError�assertRaisesRegex)r#r�r�r�r�r�r�r�r�r�r�r��bigZsign_msgZ	space_msg�m�nrrr�test_format�s����
��
����zUnicodeTest.test_formatcCs|�d�i�d�|�d�i�d�|�d�i�d�|�d�i�d�|�d�i�d�|�d�i�d	�|�d
�i�d�|�d�i�d
�Gdd�dt�}|�d�|��d�|�d�|dd��d�Gdd�d�}|�d�|��d�Gdd�d�}|�d�d|d�i�d�|�tdj�|�tdj�|�tdji�|�tdji�|�tdji�|�tdji�|�td ji�|�td!ji�|�td"jdd#i�|�td"jd�|�td$jd#d%d&��Gd'd(�d(�}|�tdji�|�tdjg�|�tdj|��dS))NrQrjrrr�r�r�r�r�r�r�r�r�r�c@seZdZdd�ZdS)z,UnicodeTest.test_format_map.<locals>.MappingcSs|Srr�r#�keyrrr�__missing__�sz8UnicodeTest.test_format_map.<locals>.Mapping.__missing__N)rrrr�rrrr�Mapping�sr�z{hello}r�z{a} {world})rjr�c@seZdZdd�Zdd�ZdS)z4UnicodeTest.test_format_map.<locals>.InternalMappingcSsddi|_dS)Nrjr��r�r"rrrr��sz=UnicodeTest.test_format_map.<locals>.InternalMapping.__init__cSs
|j|Srr�r�rrr�__getitem__sz@UnicodeTest.test_format_map.<locals>.InternalMapping.__getitem__N)rrrr�r�rrrr�InternalMapping�sr�z{a}c@seZdZddd�Zdd�ZdS)z&UnicodeTest.test_format_map.<locals>.CrzcSs
||_dSrr�r�rrrr�sz/UnicodeTest.test_format_map.<locals>.C.__init__cSs|Srrr�rrrr�	sz1UnicodeTest.test_format_map.<locals>.C.__format__N)rzr�rrrrr�s
r�r�r�r�r�r�r�r�r�r�rnz{a} {}rlr�c@seZdZdd�ZdS)z/UnicodeTest.test_format_map.<locals>.BadMappingcSsddS)Nrlrrr�rrrr�sz;UnicodeTest.test_format_map.<locals>.BadMapping.__getitem__N)rrrr�rrrr�
BadMappingsr�)r'�
format_mapr�r3r^r�r��ZeroDivisionError)r#r�r�r�r�rrr�test_format_map�s<zUnicodeTest.test_format_mapcCsHd�tjd�}|�t��td|�}Wd�n1s:0YdS)Nz.{}frl���Q�@�rrVr�r3r��r#�
format_stringr*rrr�test_format_huge_precision$sz&UnicodeTest.test_format_huge_precisioncCsHd�tjd�}|�t��td|�}Wd�n1s:0YdS)Nz{}frlr�r�r�rrr�test_format_huge_width)sz"UnicodeTest.test_format_huge_widthcCsHd�tjd�}|�t��|�d�}Wd�n1s:0YdS)Nz
{{{}:.6f}}rlr�r�r�rrr�test_format_huge_item_number.sz(UnicodeTest.test_format_huge_item_numbercCspGdd�d�}|�d�d�d�|�d�d�d�|�d	�d�d
�|�d�|d��d�|�d�d
dg�d�|�d�ddd��d�|�d�dd
�d�|�d�dd�d�|�d�dd�d�|�tdjd
d�|�td jd
d�|�td!jd
d�|�td"jd
d�|�d#jdd$d%�d&�|�d'jdd$d%�d(�|�d)jd
d*d+dd,�d-�|�d.jddd
d+d/�d0�dS)1Nc@seZdZddd�Zdd�ZdS)z1UnicodeTest.test_format_auto_numbering.<locals>.CrzcSs
||_dSrr�r�rrrr�5sz:UnicodeTest.test_format_auto_numbering.<locals>.C.__init__cSs|Srrr�rrrr�7sz<UnicodeTest.test_format_auto_numbering.<locals>.C.__format__N)rzr�rrrrr�4s
r�r�ror�z{:5}rBzs    r�z's'z{._x}z{[1]}rlrnr�z{[a]}r�r��4za{}b{}crZa0b1cza{:{}}br�z^10za    x     bza{:{}x}br�r�Za0x14bz{}{1}z{1}{}z{:{1}}z{0:{}}z{f}{}�test)�fZtest4z{}{f}Z4testz{:{f}}{g}{}rh�g)r�r�z 1g3z{f:{}}{}{g})r�r�z 14g)r'rr3r�)r#r�rrr�test_format_auto_numbering3s$z&UnicodeTest.test_format_auto_numberingcCstj�|�|�ddd�|�ddd�|�ddd�|�dd	d
�|�ddd�|�dd
d�tj�d�s�|�ddd�|�ddd�|�ddd�|�dddd�d�|�dddd�d�|�dd d!�|�dd"d#�|�tdj	d$�|�dd#d#�|�t
dj	d%�|�td&j	d'�|�t
d(j	d%�|�d)d*did+�|�d)d*did+�|�d)d*did+�|�d)d*did+�|�d)dd,d-�d+�|�d)dd,d-�d+�|�d.d/d0�|�d1d/d2�|�d3dd+�|�d4d5d6�|�d4d7d8�|�d9d:d;�|�d9d<d6�|�d=d>d?�|�d@dAdB�|�ddCdC�GdDdE�dE�}|�dF|�d!�tdG�}tdH�}|�dI|dG�|�dJ|dK�|�dI|dH�|�dJ|dL�|�dMdNdC�|�dOdNdP�GdQdR�dR�}GdSdT�dT�}|dU�}|dV�}|�dWdXdY�|�dZd[d\�|�d]d^d_�|�ddVd`�|�dW|da�|�dZ|db�|�d]|dc�|�d|d`�|�
t
ddtjdWde�f|�
t
dftjdZdg�f|�
t
dhtjd]di�f|�
t
djtjdW|�f|�t
tjd|�fdS)kN�%s, %s)r9r9zabc, abcz%s, %s, %i, %f, %5.2f)r9r9rlrnrhzabc, abc, 1, 2.000000,  3.00)r9r9rl���rhzabc, abc, 1, -2.000000,  3.00)r9r9rmr�g@zabc, abc, -1, -2.000000,  3.50)r9r9rmr�g��(\�@zabc, abc, -1, -2.000000,  3.57)r9r9rmr�g�(\�\�@z abc, abc, -1, -2.000000, 1003.57r8z%r, %r)r�r9z
b'abc', 'abc'z%r)�ሴu'ሴ'z%az'\u1234'z%(x)s, %(y)sr9r�)r�rqzabc, defu
%(x)s, %(ü)s)r�rmz%ci4r�i�u𡒃)r1Zaau%.1ဲfgUUUUUU�?z%i�
...%(foo)s...r�z	...abc...r��r�r�z...%s...%s...%s...%s...)rlrnrhr9z...1...2...3...abc...z"...%%...%%s...%s...%s...%s...%s...z...%...%s...1...2...3...abc...z...%s...z%*s)r�r9z  abc)���r9zabc  z%*.*s)r�rnr9z   ab)r�rhr9z%i %*.*s)ror�rhr9z10   abcz
%i%s %*.*s)rorhr�rhr9z	103   abcrjc@seZdZdd�ZdS)z,UnicodeTest.test_formatting.<locals>.WrappercSsdS)Nr�rr"rrrr�{sz4UnicodeTest.test_formatting.<locals>.Wrapper.__str__N�rrrr�rrrr�Wrapperzsr��%s�nan�infz%fz%F�NAN�INFz%.1suaé€z%.2suaéc@s$eZdZdd�Zdd�Zdd�ZdS)z.UnicodeTest.test_formatting.<locals>.PseudoIntcSst|�|_dSr�r��value�r#r�rrrr��sz7UnicodeTest.test_formatting.<locals>.PseudoInt.__init__cSs|jSr�r�r"rrr�__int__�sz6UnicodeTest.test_formatting.<locals>.PseudoInt.__int__cSs|jSrr�r"rrr�	__index__�sz8UnicodeTest.test_formatting.<locals>.PseudoInt.__index__N)rrrr�r�r�rrrr�	PseudoInt�sr�c@seZdZdd�Zdd�ZdS)z0UnicodeTest.test_formatting.<locals>.PseudoFloatcSst|�|_dSr)�floatr�r�rrrr��sz9UnicodeTest.test_formatting.<locals>.PseudoFloat.__init__cSs
t|j�Srr�r"rrrr��sz8UnicodeTest.test_formatting.<locals>.PseudoFloat.__int__N)rrrr�r�rrrr�PseudoFloat�sr�go���!	@�mz%xrZ2az%X�r�z%or�Z11r�Z6dZ6DZ155z,%x format: an integer is required, not floatr�z,%X format: an integer is required, not floatg�z�G�@z,%o format: an integer is required, not floatg�p=
ף�?z2%x format: an integer is required, not PseudoFloat)rr��test_formattingr'rVrWrXr3r��__mod__r^r�r�r��operator�mod)r#r�r�r�r�r��piZletter_mrrrr�Qs~zUnicodeTest.test_formattingc
Csddl}Gdd�dt|j�}Gdd�d|j�}Gdd�dt|j�}|�d|j|jfd	�|�d
|j|j|j|j|j|j|jfd�|�dd
|jid�|�dd
|jid�|�dd
|jid�|�dd
|jid�|�d|j|jd�d�|�d|jdd�d�dS)Nrc@seZdZdZdS)z4UnicodeTest.test_formatting_with_enum.<locals>.FloatgJ�M�!	@N)rrr�PIrrrr�Float�sr�c@seZdZdZdS)z2UnicodeTest.test_formatting_with_enum.<locals>.Intr�N)rrr�IDESrrrr�Int�sr�c@seZdZdZdS)z2UnicodeTest.test_formatting_with_enum.<locals>.Strr9N)rrrr�rrrr�Str�srr�zStr.ABC, Str.ABCz%s, %s, %d, %i, %u, %f, %5.2fz-Str.ABC, Str.ABC, 15, 15, 15, 3.141593,  3.14r�r�z
...Str.ABC...z...Int.IDES...z
...%(foo)i...z...15...z
...%(foo)d...z
...%(foo)u...r�z
...%(foo)f...r�z...3.141593...)	�enumr��Enum�IntEnumr r'r�r�r�)r#rr�r�rrrr�test_formatting_with_enum�sB����������z%UnicodeTest.test_formatting_with_enumcCsFd�tjd�}|�t��|d}Wd�n1s80YdS)N�%.{}frlr�r�r�rrr�test_formatting_huge_precision�sz*UnicodeTest.test_formatting_huge_precisioncCs(Gdd�dt�}|�d|d�d�dS)Nc@seZdZdd�ZdS)zBUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStrcSs
d�|�S)Nz'Success, self.__rmod__({!r}) was called�r)r#�otherrrr�__rmod__�szKUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStr.__rmod__N)rrrr	rrrr�
SubclassedStr�sr
z	lhs %% %rZrhsz.Success, self.__rmod__('lhs %% %r') was called�r r')r#r
rrr�test_issue28598_strsubclass_rhs�s�z+UnicodeTest.test_issue28598_strsubclass_rhscCsPddlm}d�|d�}|�t��|d}Wd�n1sB0YdS)Nr)�INT_MAXrrlr�)r2r
rr3r�)r#r
r�r*rrr�'test_formatting_huge_precision_c_limits�sz3UnicodeTest.test_formatting_huge_precision_c_limitscCsFd�tjd�}|�t��|d}Wd�n1s80YdS)Nz%{}frlr�r�r�rrr�test_formatting_huge_width�sz&UnicodeTest.test_formatting_huge_widthc	CsldjdjfD]Z}|�t��}|dg�Wd�n1s:0Yt|j�}|�d|�|�d|�qdS)Nr�r�r �tuple)rX�endswithr3r^r �	exceptionrv)r#rC�cm�excrrr�test_startswith_endswith_errors�s(
z+UnicodeTest.test_startswith_endswith_errors�LC_ALL�de_DE�fr_FRcCs|�ddd�dS)Nz1.0z%.1fg�?�r'r"rrr�test_format_float�szUnicodeTest.test_format_floatcCs^|�td�d�dD]\}t|�}|�t|�|�|�t|�t|��|dkr|�|�d�d�|�|�d�d�q|�td�d�Gdd�d�}|�t|d	��d	�|d
�}|�t|�d
�|�t|�d
�dD]}|�t|�tt|���q�tj�d��s|�t	td
dd�|�tddd�d�tj�d��sH|�tt
d�dd�d�|�t	tddd�dS)Nzunicode remains unicode)rYr�rrrYsascii�utf-8z strings are converted to unicodec@seZdZdd�Zdd�ZdS)z2UnicodeTest.test_constructor.<locals>.StringCompatcSs
||_dSrr�r�rrrr�sz;UnicodeTest.test_constructor.<locals>.StringCompat.__init__cSs|jSrr�r"rrrr�sz:UnicodeTest.test_constructor.<locals>.StringCompat.__str__Nr�rrrr�StringCompatsrz)__str__ compatible objects are recognizedz#unicode(obj) is compatible to str())r�g������^@r�r8z!decoding unicode is not supportedrsstrings are decoded to unicodezstrings are decoded to unicodes(character buffers are decoded to unicodez(character buffers are decoded to unicoder)r'r r�lenrrVrWrXr3r^�
memoryview)r#r�subclassr�o�objrrr�test_constructor�s^��
��
���	zUnicodeTest.test_constructorcCsR|�tdd�d�|�tddd�d�|�tddd�d�|�tddd�d�dS)	Nr�)r+sfoor)r+rr�r)r+r)r'r r"rrr�test_constructor_keyword_args5sz)UnicodeTest.test_constructor_keyword_argscCsT|�t�d�|�tdd�d�d�d�}|�t|dd�d�|jtt|dd�dS)NrQrr#�¢rrY)r)r'r rr3�UnicodeDecodeError)r#Z	utf8_centrrr�test_constructor_defaults>s

z%UnicodeTest.test_constructor_defaultscCs�gd�}|D]\}}|�|�d�|�q|�d�d�d�|�d�d�d�|�d�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]4}|�|�d�|�d��|�|�d��d�|�q�|D]}|�|�d��d�|��q6|�td��d�d�Wd�n1�s�0YdS)N))uA≢Α.s	A+ImIDkQ.)u
Hi Mom -☺-!sHi Mom -+Jjo--!)u	日本語s
+ZeVnLIqe-)uItem 3 is £1.sItem 3 is +AKM-1.)�+s+-)z+-s+--�z+?s+-?)z\?s+AFw?r))z\\?s+AFwAXA?)z\\\?s
+AFwAXABc?)z++--s+-+---)u򫳞s+2m/c3g-)�/�/�utf-7u�s+2AE-u�xs+2AE-xu�s+3AE-u�xs+3AE-xu�򫳞s
+2AHab9ze-s+�r�rQzGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?z!"#$%&*;<=>@[]^_`{|}�utf7rYzill-formed sequences+@)r'rrr�r&)r#ZutfTestsr�rqZset_dZset_or�rrr�test_codecs_utf7Is2�zUnicodeTest.test_codecs_utf7cCs�|�d�d�d�|�d�d�d�|�d�d�d�|�d�d�d	�|�d
�dd�d�|�d
�dd�d�|�d�d�d�|�d�d�d�|�td	d�d�|�tdd�d�|�tdd�d�dS)NrQrr�rs€u𐀂s𐀂u𣑖s𣑖r8�
surrogatepasss�u�s�u(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂s(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git unds�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und)r'rr r"rrr�test_codecs_utf8|s$���zUnicodeTest.test_codecs_utf8cCs,gd�}|D]\}}|�|�d�|�qdS)N))�rs)�arj)��)s€�€)s߿u߿)sࠀuࠀ)s퟿u퟿)su)�￿r0)s𐀀r|)�􏿿rr)r'r)r#�	sequencesr��resrrr� test_utf8_decode_valid_sequences�sz,UnicodeTest.test_utf8_decode_valid_sequencesc
Csdd�tdd�D�}dd�tdd�D�}dd�tdd	�D�}|||d
d�tdd�D�}|D]}|�t|jd
�q`|D]"}|D]}|�t||jd
�q�qz|D]D}|dd�D]2}|dd�D] }	|�t||d|	jd
�q�q�q�dd�tdd�D�D]4}|�td|djd
�|�td|djd
�q�dd�tdd�D�D]6}|�td|djd
�|�td|djd
��qFdd�tdd�D�D]6}|�td|djd
�|�td|djd
��q�dd�tdd�D�D]6}|�td|djd
�|�td|djd
��q�dS)NcSsg|]}t|g��qSr�r���.0r�rrr�
<listcomp>�r�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>��cSsg|]}t|g��qSrr;r<rrrr>�r���cSsg|]}t|g��qSrr;r<rrrr>�r���cSsg|]}t|g��qSrr;r<rrrr>�r��rRrrh��cSsg|]}t|g��qSrr;r<rrrr>�r������cSsg|]}t|g��qSrr;r<rrrr>�r���cSsg|]}t|g��qSrr;r<rrrr>�r�������s��cSsg|]}t|g��qSrr;r<rrrr>�r���)r]r3r&r)
r#Zcontinuation_bytesZinvalid_2B_seq_start_bytesZinvalid_4B_seq_start_bytesZinvalid_start_bytes�byteZsb�cbZcb1Zcb3rrr�"test_utf8_decode_invalid_sequences�s`����
��������z.UnicodeTest.test_utf8_decode_invalid_sequencesc?Cs�d}d|fd|dfd|fd|dfd|fd|dfd	|dfd
|fd|dfd|d
fd|dfd|fd|dfd|d
fd|dfd|fd|dfd|d|fd|dfd|dfd|ddfd|d|fd|fd|dfd|d
fd |dfd!|d"fd#|fd$|fd%|dfd&|dfd'|dfd(|d|fd)|d|dfd*|d|dfd+|d|fd,|d|fd-|d|dfd.|ddfd/|d|dfd0|fd1|dfd2|dfd3|d
fd4|dfd5|ddfd6|dd|fd7|d|ddfd8|fd9|dfd:|dfd;|ddfd<|d"fd=|fd>|dfd?|d
fd@|dAfdB|fdC|d
fdDdEdFdGg?}t|�D]l\}\}}|�t|jdHdI�|�|�dHdJ�|�|�|dK�dHdJ�|dL�|�|�dHdM�|�ddN���q�dS)ON��rErLrn��s����s��s����s��s���rhs�Ar���s��s���s����r�s�s�As�A�s�AAZAAs�As��As�A���s��s���s����s�����r�s�s�s�As�AAs�As�A�s�A��s�A�As�AA�s�A�s�A��s��As�A����s��s��s���s����s��As��A�s�A��A��s��s��s��As�������s��s���s������r���s���)s�ABCu�ABC)s�BCu��BC)s�Cu�C)s
a���b�c��dua���b�c��drrr��brkr�rQ)�	enumerater3r&rr'r�)r#�FFFDr8r�r�r9rrr�test_issue8271�s�






























�K
�zUnicodeTest.test_issue8271cCs�|�t��}|�d�Wd�n1s*0Y|j}|�|t|��|�|�dd�|�|�d|d�dd�d|d�|�dd�}|�|�dd	�|�|�d|d�dd	�d|d�dS)
Nrr�saaaasbbbbZaaaaZbbbbrQrQr�)r3r&rrrvr r'r�)r#r�r9�errrrrrr�assertCorrectUTF8Decoding:s(
�
�z%UnicodeTest.assertCorrectUTF8DecodingcCs&d}dD]}|�t|g�dd�qdS)NrQs��������zinvalid start byte)r`r�)r#r]rNrrr�test_invalid_start_byteMs
�z#UnicodeTest.test_invalid_start_bytecCs.gd�}d}|D]}|�t�|�dd�qdS)N)&ZC2ZDFzE0 A0zE0 BFzE1 80zE1 BFzEC 80zEC BFzED 80zED 9FzEE 80zEE BFzEF 80zEF BFzF0 90zF0 BFzF0 90 80zF0 90 BFzF0 BF 80zF0 BF BFzF1 80zF1 BFzF1 80 80zF1 80 BFzF1 BF 80zF1 BF BFzF3 80zF3 BFzF3 80 80zF3 80 BFzF3 BF 80zF3 BF BFzF4 80zF4 8FzF4 80 80zF4 80 BFzF4 8F 80zF4 8F BFrQzunexpected end of data�r`r��fromhex)r#r8r]r�rrr�test_unexpected_end_of_dataZs	�z'UnicodeTest.test_unexpected_end_of_datac	Csvd}|d}d|dfd|dfd|fd|fd	|dfd
|dfd|fd|fg}|D]\}}|�t�|�|d
�qTdS)NrQrnzC2 00rszC2 7Fr4zC2 C0zC2 FFzDF 00zDF 7FzDF C0zDF FF�invalid continuation byterb�r#r]ZFFFDx2r8r�r9rrr�test_invalid_cb_for_2bytes_seqts
��z*UnicodeTest.test_invalid_cb_for_2bytes_seqcMCs�d}|d}d|dfd|dfd|fd|fd	|fd
|fd|dfd|dfd
|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd |dfd!|fd"|fd#|dfd$|dfd%|fd&|fd'|dfd(|dfd)|fd*|fd+|dfd,|dfd-|fd.|fd/|fd0|fd1|dfd2|dfd3|fd4|fd5|dfd6|dfd7|fd8|fd9|dfd:|dfd;|fd<|fd=|dfd>|dfd?|fd@|fdA|dfdB|dfdC|fdD|fdE|dfdF|dfdG|fdH|fdI|dfdJ|dfdK|fdL|fdM|dfdN|dfdO|fdP|fgL}|D]\}}|�t�|�|dQ��qldS)RNrQrnzE0 00rszE0 7Fr4zE0 80zE0 9FzE0 C0zE0 FFzE0 A0 00zE0 A0 7FzE0 A0 C0zE0 A0 FFzE0 BF 00zE0 BF 7FzE0 BF C0zE0 BF FFzE1 00zE1 7FzE1 C0zE1 FFzE1 80 00zE1 80 7FzE1 80 C0zE1 80 FFzE1 BF 00zE1 BF 7FzE1 BF C0zE1 BF FFzEC 00zEC 7FzEC C0zEC FFzEC 80 00zEC 80 7FzEC 80 C0zEC 80 FFzEC BF 00zEC BF 7FzEC BF C0zEC BF FFzED 00zED 7FzED A0zED BFzED C0zED FFzED 80 00zED 80 7FzED 80 C0zED 80 FFzED 9F 00zED 9F 7FzED 9F C0zED 9F FFzEE 00zEE 7FzEE C0zEE FFzEE 80 00zEE 80 7FzEE 80 C0zEE 80 FFzEE BF 00zEE BF 7FzEE BF C0zEE BF FFzEF 00zEF 7FzEF C0zEF FFzEF 80 00zEF 80 7FzEF 80 C0zEF 80 FFzEF BF 00zEF BF 7FzEF BF C0zEF BF FFrerbrfrrr�test_invalid_cb_for_3bytes_seq�sP
�#�z*UnicodeTest.test_invalid_cb_for_3bytes_seqcuCs�d}|d}d|dfd|dfd|fd|fd	|fd
|fd|dfd|dfd
|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd|dfd|fd|fd|dfd |dfd!|fd"|fd#|dfd$|dfd%|fd&|fd'|dfd(|dfd)|fd*|fd+|dfd,|dfd-|fd.|fd/|dfd0|dfd1|fd2|fd3|dfd4|dfd5|fd6|fd7|dfd8|dfd9|fd:|fd;|dfd<|dfd=|fd>|fd?|dfd@|dfdA|fdB|fdC|dfdD|dfdE|fdF|fdG|dfdH|dfdI|fdJ|fdK|dfdL|dfdM|fdN|fdO|dfdP|dfdQ|fdR|fdS|dfdT|dfdU|fdV|fdW|dfdX|dfdY|fdZ|fd[|dfd\|dfd]|fd^|fd_|fd`|fda|dfdb|dfdc|fdd|fde|dfdf|dfdg|fdh|fdi|dfdj|dfdk|fdl|fdm|dfdn|dfdo|fdp|fdq|dfdr|dfds|fdt|fdu|dfdv|dfdw|fdx|fgt}|D]\}}|�t�|�|dy��q�dS)zNrQrnzF0 00rszF0 7Fr4zF0 80zF0 8FzF0 C0zF0 FFzF0 90 00zF0 90 7FzF0 90 C0zF0 90 FFzF0 BF 00zF0 BF 7FzF0 BF C0zF0 BF FFzF0 90 80 00zF0 90 80 7FzF0 90 80 C0zF0 90 80 FFzF0 90 BF 00zF0 90 BF 7FzF0 90 BF C0zF0 90 BF FFzF0 BF 80 00zF0 BF 80 7FzF0 BF 80 C0zF0 BF 80 FFzF0 BF BF 00zF0 BF BF 7FzF0 BF BF C0zF0 BF BF FFzF1 00zF1 7FzF1 C0zF1 FFzF1 80 00zF1 80 7FzF1 80 C0zF1 80 FFzF1 BF 00zF1 BF 7FzF1 BF C0zF1 BF FFzF1 80 80 00zF1 80 80 7FzF1 80 80 C0zF1 80 80 FFzF1 80 BF 00zF1 80 BF 7FzF1 80 BF C0zF1 80 BF FFzF1 BF 80 00zF1 BF 80 7FzF1 BF 80 C0zF1 BF 80 FFzF1 BF BF 00zF1 BF BF 7FzF1 BF BF C0zF1 BF BF FFzF3 00zF3 7FzF3 C0zF3 FFzF3 80 00zF3 80 7FzF3 80 C0zF3 80 FFzF3 BF 00zF3 BF 7FzF3 BF C0zF3 BF FFzF3 80 80 00zF3 80 80 7FzF3 80 80 C0zF3 80 80 FFzF3 80 BF 00zF3 80 BF 7FzF3 80 BF C0zF3 80 BF FFzF3 BF 80 00zF3 BF 80 7FzF3 BF 80 C0zF3 BF 80 FFzF3 BF BF 00zF3 BF BF 7FzF3 BF BF C0zF3 BF BF FFzF4 00zF4 7FzF4 90zF4 BFzF4 C0zF4 FFzF4 80 00zF4 80 7FzF4 80 C0zF4 80 FFzF4 8F 00zF4 8F 7FzF4 8F C0zF4 8F FFzF4 80 80 00zF4 80 80 7FzF4 80 80 C0zF4 80 80 FFzF4 80 BF 00zF4 80 BF 7FzF4 80 BF C0zF4 80 BF FFzF4 8F 80 00zF4 8F 80 7FzF4 8F 80 C0zF4 8F 80 FFzF4 8F BF 00zF4 8F BF 7FzF4 8F BF C0zF4 8F BF FFrerbrfrrr�test_invalid_cb_for_4bytes_seq�s|�9�z*UnicodeTest.test_invalid_cb_for_4bytes_seqcCs|�d�d�d�dS)Nzwww.python.org.Zidnaswww.python.org.)r'rr"rrr�test_codecs_idnaszUnicodeTest.test_codecs_idnacCs�|�tdjd�|�tdjdd�|�d�dd�d�|�d�dd�d�|�d�dd�djddd��|�d�dd�djddd	��|�ttd
d�|�ttd
dd�|�td
dd�d�|�td
dd�d�|�td
dd�d�|�d�dd�d�|�tdjd�|�tdjd�|�ttdd�|�tdjd�|�tdjd�|�tdjddd�|�ttd�|�ttd�|�tt	d�|�tt	d�|�tt
d�|�tt
d�dS)NuAndr‚ xrYrr�sAndr xr�sAndr? xr#)rrsAndr� xzAndr xu	Andr� xs� xu� xs	\N{foo}xxzunicode-escape�xx�\�hellorrr�rr8u�)r3�UnicodeErrorrr'r rr^r�r�r��complexr"rrr�test_codecs_errorss8��zUnicodeTest.test_codecs_errorsc	Cs�|�d�d�d�|�d�d�d�|�d�d�d�|�d�d�d�|�d�d�d�|�d�d�d	�|�d�d
�d�|�d��d�td
�D].}t|�}dD]}|�t|�|�|�|�q�q�td�D].}t|�}dD]}|�t|�|�|�|�q�q�td�D]2}t|�}dD]}|�t|�|�|�|��q�qt���8d}dD]}|�t|�|�|�|��qLWd�n1�s�0Yd�ttt	tdd��t	tdd����}dD]}|�t|�|�|�|��q�dS)Nr�rYrmr,r�	utf-16-les
hello�	utf-16-bes
hello�latin-1u☃s☃i)r,r�utf-16rqrr�raw_unicode_escape�unicode_escaperR)rsr?)rYu𐀁𠀂𰀃񀀄񐀅)rrtrqrrrurvrQri�i�r1)r)
r'rr]r\r r��catch_warningsrZr[�list)r#r�r3rrrr�test_codecs@s: 
<�zUnicodeTest.test_codecscCsbttd��}dD]}|�t||��|�|�qttdd��}dD]}|�t||��|�|�q@dS)Nr?)9�cp037�cp1026�cp273�cp437�cp500�cp720�cp737�cp775�cp850�cp852�cp855�cp858�cp860�cp861�cp862�cp863�cp865�cp866�cp1125�
iso8859_10�
iso8859_13�
iso8859_14�
iso8859_15�	iso8859_2�	iso8859_3�	iso8859_4�	iso8859_5�	iso8859_6�	iso8859_7�	iso8859_9�koi8_r�koi8_t�koi8_u�kz1048�latin_1�mac_cyrillic�
mac_latin2�cp1250�cp1251�cp1252�cp1253�cp1254�cp1255�cp1256�cp1257�cp1258Zcp856�cp857�cp864�cp869Zcp874�	mac_greek�mac_iceland�	mac_roman�mac_turkishZcp1006�	iso8859_8rR) rzr{r|r}r~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r�r]r'r r)r#rBrrrr�test_codecs_charmaposzUnicodeTest.test_codecs_charmapcCs@|�dd�|�dd�|�dd�|�dd�|�dd�dS)Nr�r�rr"rrr�test_concatenation�s
zUnicodeTest.test_concatenationcCs�Gdd�d�}|�}td|d�tdd|d�tdd|d�tdd|d�td|d�tdd|d�tdd|d�td	|d�td	|d�dS)
Nc@seZdZdd�ZdS)z,UnicodeTest.test_printing.<locals>.BitBucketcSsdSrr)r#rrrr�write�sz2UnicodeTest.test_printing.<locals>.BitBucket.writeN)rrrr�rrrr�	BitBucket�sr�r9)�filer�zabc
r2)�endr�zdef
)�print)r#r��outrrr�
test_printing�szUnicodeTest.test_printingc
Cs�d}|�d��d�}|�||�d}|�d��d�}|�||�d}|�d��d�}|�||�zd�d�Wn@ty�}z(|�|jd�|�|jd�WYd}~nd}~00|�d�dS)	Nr{zraw-unicode-escapes
\U00100000s
\U00010000s
\U11111111rroz%Should have raised UnicodeDecodeError)rrr'r&�startr�Zfail)r#r�rq�errr�	test_ucs4�s$zUnicodeTest.test_ucs4cCs�Gdd�d�}Gdd�dt�}Gdd�dt�}|�t|��d�|�t|d��d�t|d��}|�|d	�|�t|�|�t|d��}|�|d	�|�t|�t�dS)
Nc@seZdZdd�ZdS)z0UnicodeTest.test_conversion.<locals>.ObjectToStrcSsdS�Nr�rr"rrrr��sz8UnicodeTest.test_conversion.<locals>.ObjectToStr.__str__Nr�rrrr�ObjectToStr�sr�c@seZdZdd�ZdS)z5UnicodeTest.test_conversion.<locals>.StrSubclassToStrcSsdSr�rr"rrrr��sz=UnicodeTest.test_conversion.<locals>.StrSubclassToStr.__str__Nr�rrrr�StrSubclassToStr�sr�c@seZdZddd�Zdd�ZdS)z=UnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclassrQcSst�|d|�Sr�)r �__new__)�clsZcontentrrrr��szEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__new__cSs|Srrr"rrrr��szEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__str__N)rQ)rrrr�r�rrrr�StrSubclassToStrSubclass�s
r�r�r�Zfoofoo)r r'r�r)r)r#r�r�r�rBrrr�test_conversion�szUnicodeTest.test_conversioncCsDGdd�d�}Gdd�d�}|�t|��d�|�t|��d�dS)Nc@seZdZdd�ZdS)z)UnicodeTest.test_unicode_repr.<locals>.s1cSsdS�N�\nrr"rrrr!�sz2UnicodeTest.test_unicode_repr.<locals>.s1.__repr__Nr$rrrr�s1�sr�c@seZdZdd�ZdS)z)UnicodeTest.test_unicode_repr.<locals>.s2cSsdSr�rr"rrrr!�sz2UnicodeTest.test_unicode_repr.<locals>.s2.__repr__Nr$rrrr�s2�sr�r��r'ra)r#r�r�rrr�test_unicode_repr�szUnicodeTest.test_unicode_reprcCs(|�td�dd�|�td�d�dS)Nr|z'%c')�u𔀀z'\U00014000'r�r"rrr�test_printable_repr�szUnicodeTest.test_printable_repr�Pr�z only applies to 32-bit platformscCs|�tdjtj�dS)Nzt	t	)r3r��
expandtabsrVr�r"rrr�$test_expandtabs_overflows_gracefully�sz0UnicodeTest.test_expandtabs_overflows_gracefullycCsd}|�|��|�dS)Nr9)r�r�)r#rBrrr�test_expandtabs_optimization	sz(UnicodeTest.test_expandtabs_optimizationcs�t�d�dkrd}d}nd}d}dD]l�t��}|dkrBd	}|}n|d
krTd}|}nd}|}tj||���fd
d�}|�t|�|�t|�q$dS)Nr�r��0�H��$)rjr�rrrRrlr�rnr�cs��Srrr�r�maxlenrr�<lambda> 	r�z0UnicodeTest.test_raiseMemError.<locals>.<lambda>)�struct�calcsizer�rVr�r3ro)r#Zascii_struct_sizeZcompact_struct_size�codeZ	char_sizeZstruct_sizeZallocrr�r�test_raiseMemError	s&zUnicodeTest.test_raiseMemErrorcCs>Gdd�dt�}|d�}|�d|d�|�d�|�d�dS)Nc@seZdZdd�ZdS)z+UnicodeTest.test_format_subclass.<locals>.ScSsdS)N�__str__ overriddenrr"rrrr�&	sz3UnicodeTest.test_format_subclass.<locals>.S.__str__Nr�rrrrr%	sr�xxxr�r�r�)r r'r�r#rrBrrr�test_format_subclass$	sz UnicodeTest.test_format_subclasscCsXGdd�dt�}|�|d�|d�d�Gdd�dt�}|d�}|d7}|�|d�dS)Nc@seZdZdd�ZdS)�(UnicodeTest.test_subclass_add.<locals>.ScSsdS�Nr�r�r#r rrr�__add__.	sz0UnicodeTest.test_subclass_add.<locals>.S.__add__N)rrrr�rrrrr-	srr�r�r�c@seZdZdd�ZdS)r�cSsdSr�rr�rrr�__iadd__2	sz1UnicodeTest.test_subclass_add.<locals>.S.__iadd__N)rrrr�rrrrr1	sr�rr�rrr�test_subclass_add,	szUnicodeTest.test_subclass_addcCs@d}|��}|�|d|�|�|d|�|�t|�d�dS)Nr9rrl)�__getnewargs__�assertIsNotr'r)r#rr,rrr�test_getnewargs8	s
zUnicodeTest.test_getnewargscCsjddlm}tddd�D]L}d|d}||�}|�||�|d7}||�}|�||�|�||�qdS)	Nr)�	getargs_urlrzr�rjrkr�)r2r�r]r'r6)r#r��lengthrr9r�rrr�test_resize?	szUnicodeTest.test_resizecCs�d}d|}d|}d|}d|}d|}d|}d|}d	|}	||||||||	f}
t�|
d
�D]�\}}||u}
|�||k|
�|�||k|
�|
rd|�||k�|�||k�t|�}t|�}|�||�|�||k�|�||k�|�||k�|�||k�qd|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||	k�|�||k�|�||k�|�||k�|�||	k�dS)Nrorjr�r5r/rur0r{rrn)�	itertools�combinationsr'r(rr�r�)r#r�rYZascii2�latin�latin2�bmp�bmp2ZastralZastral2�stringsZtext1Ztext2ZequalZcopy1�copy2rrr�test_compareP	sx�zUnicodeTest.test_comparecCs t�|tt�t�|tt�dSr)rZcheck_free_after_iterating�iterr �reversedr"rrr�test_free_after_iterating�	sz%UnicodeTest.test_free_after_iteratingcCs`d}d}t�d|�d|�d|�d|�d|�d|�d	|�d
��}tddd
|�}|�|jd|�dS)N)rY�utf8�latin1zBoom, Shaka Laka, Boom!z0
            import sys
            encodings = zn

            for data in (b'', b'short string'):
                try:
                    str(data, encoding=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                try:
                    str(data, errors=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(22)

                for encoding in encodings:
                    try:
                        str(data, encoding, errors=z�)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in ('', 'short string'):
                try:
                    data.encode(encoding=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(23)

                try:
                    data.encode(errors=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.encode(encoding, errors=z�)
                    except LookupError:
                        pass
                    else:
                        sys.exit(24)

            sys.exit(10)
        z-X�devz-cro)�textwrap�dedentrr'�rc)r#�	encodings�invalidr��procrrr�test_check_encoding_errors�	s&��
���$�,�
4z&UnicodeTest.test_check_encoding_errors)orrrr r�r.r7r`rbrgrxr�r�r�r�r�r�r�r�r�r��unittestZskipIfrVr�r�r�r�cpython_onlyr�r�r�r�rrr	Zrequires_resourcerrrrr&r(r*r1r4r:rDrUr[r`rdrgrirkZ
skipUnlessrpryrr�r�r�r�r�r�r�rrrrrrZrun_with_localerr"r$r'r.r0r:rPr^r`rardrgrhrirjrpryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__rrr�rr4s�	**F�

;

	
		'67W 	

F	3%/Y
:O)/7�


Jrc@s�eZdZdd�Zejdd��Zejdd��Zejdd��Zejd	d
��Z	ejdd��Z
ejd
d��Zejdd��Zejdd��Z
ejdd��Zejdd��Zejdd��Zejdd��ZdS)�CAPITestcs�t�d�ddlm}m}m�m}m}m}m	}m
}m}m}	m
}
m}m}d}
t||
��|f�_��_��fdd����fdd�}|d	d
d���td�d
d�|dd|d��|dd|d����t���d|d��Wd�n1s�0Y|dd|d�|d��|dd�|dd�|dd�|dd�|d d!d"�|d#d$d%�|d&d'd(�d)��|d*d+d,�|d-d.d/�|d0d1d,�|d2d3d/�|d4d5d/�|d4d6d/�|d4d7d/d�|d&d8dd(�d)��|d9d:d#�|d;d<d#�|d=d>d#�|d?d@d#�|dAdBd#�|dCdDd#�|d?dEd#�|dAdFd#�|dCdGd#�|d9dHd"�|d;dId"�|d=dJd"�|d9dKd#�|d;dLd#�|d=dMd#�|d9dNd#dO�|d;dPd#dO�|d=dQd#dO�|dRdNddO�|dSdPddO�|dTdQddO�|dUdV|dW��|dXdY|dW��|dZd[|d\��|dZd]|d\��|dZd^|d\��|dZd_|d\��|dZd`|d\��|dZda|d\��|dZdb|d\��|dZdc|d\��|ddde|df��|dddg|	df��|dddh|
df��|dddi|df��djdk||�dl}|dl}|t|�db||��|t|�db||��djdk||
�dl}|t|�dh|
|���dm|dn��|dd�dWdo�dp|df��|dd�dq�dr|df��|dd�dqdo�ds|df��|dd�dtdo��dq�du|df��|dd�dWdo�dv|df��|dd�dq�dw|df��|dd�dqdo�dx|df��|dd�dtdo��dq�dy|df��|dd�dWdo�dz|d{��|dd�dq�d||d{��|dd�dqdo�d}|d{��|dd�dtdo��dq�d~|d{��|dd�d��|d�d�d#d��|d�d�dd��|d�d�dd��|dd�d"�|d�d��|d�d�|dW��|d�d�d"�|d�d��|d�d�d��dS)�N�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_p�PyUnicode_FromFormatcs&t�fdd�|D��}�|g|�R�S)Nc3s$|]}t|t�r�|�n|VqdSr)�
isinstancer )r=�arg)rrr�	<genexpr>�	s�zJCAPITest.test_from_format.<locals>.PyUnicode_FromFormat.<locals>.<genexpr>)r)rr,Zcargs)�_PyUnicode_FromFormatrrrr�	s�z7CAPITest.test_from_format.<locals>.PyUnicode_FromFormatcs �|g|�R�}��||�dSrr)Zexpectedrr,r)rr#rr�check_format�	sz/CAPITest.test_from_format.<locals>.check_formatuascii=unicodeés	ascii=%Uu	unicodeéz^^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format string, got a non-ASCII byte: 0xe9$sunicode�=%srYuꯍs%ciͫr�r1rzs%c%cr�rn�%�%s%%r�s%%sz[%]s[%%]z%abcs%%%sr�r9s%.3ssabcdefuabc[�s%.5suabc[€]r�z'\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=   12Z010s%03iroZ0010s%0.4iz-123s%ii����s%lis%llis%zis%ds%lds%llds%zdr�s%ur�s%lus%llus%zurnr�rls%prmrs%010irzs%100is%.100i�Ps%100.80is%010us%100us%.100us%100.80us%010xi#s%100xs%.100xs%100.80xz%A:'abc\xe9\uabcd\U0010ffff's%%A:%Auabcéꯍ􏿿zrepr=abcsrepr=%Vsxyzurepr=人民s人民urepr=abc�sabc�s%1%sz%1abcs%1abcz%+is%+iz%.%ss%.%srQr�s%s)r�
import_modulerrrrrr	r
rrr
rrrrr&�argtypesZrestyper�r�r3r�rr r~)r#rrrr	r
rrr
rrrrr�rZmin_longlongZmax_longlongZ
max_ulonglongr)rrrr#r�test_from_format�	s�
<
����,�������
��������������������������������������������
����
����
����
�������������zCAPITest.test_from_formatc	Cs:ddlm}t�d�ddlm}m}|dd�\}}|�|d�|�|d�|dd	�\}}|�|d	�|�|d�|dd
�\}}|�|d	�|�|d�|dd�\}}|�|d	�|�|d�|d
d�\}}|�|d�|�|d�td�}||�dk�rd	}d}nd}d}|||�\}}|�||�|�||d�dS)Nr)�unicode_aswidecharr��c_wcharrr�rnrrr9rhr�rtro�abcdefr�r��abcdefrrlrs)	r2r rrrr"rr'r\)	r#r r"r�wcharr��nonbmp�buflen�ncharrrr�test_aswidechar�
s6
zCAPITest.test_aswidecharcCs�ddlm}t�d�ddlm}m}|d�\}}|�|d�|�|d�|d�\}}|�|d	�|�|d
�td�}||�dkr�d}nd
}||�\}}|�||�|�||d�dS)Nr)�unicode_aswidecharstringrr!r9rhrtr#r�r$rrnrlrs)	r2r*rrrr"rr'r\)r#r*r"rr%r�r&r(rrr�test_aswidecharstring�
s 
zCAPITest.test_aswidecharstringcCs�ddlm}dD]�}t|�}|�|||d�|d�|�|||d�|d�|�|||dd�|d	�|�|||dd�|d	�|�t|||dd�|�t|||d
d�d�||g�}|�||t|�d�|d�|�||t|�d�|d�qdS)Nr)�unicode_asucs4)r9�¡¢�你好�a😀�	a�b�cu��TrsFr0rlu￿rn)r2r,rr'r3�SystemErrorrZ)r#r,rB�lrrr�test_asucs4
szCAPITest.test_asucs4cCs^ddlm}d}d}td�}|�||�d�|�||�d�|�||�d�|�t|d	�dS)
Nr)�unicode_asutf8rur0r�Ār6r7r0)r2r4r\r'r3�UnicodeEncodeError)r#r4r�r�r&rrr�test_asutf8szCAPITest.test_asutf8cCs^ddlm}d}d}td�}|�||�d�|�||�d�|�||�d�|�t|d	�dS)
Nr)�unicode_asutf8andsizerur0r)r5rn)r6rh)r7r�r0)r2r8r\r'r3r6)r#r8r�r�r&rrr�test_asutf8andsize,szCAPITest.test_asutf8andsizecCs�ddl}|j}dD]0}|�d�}|�||�|�|�||d�|�q|�t|d�|�t|d�|�t|d�|�t|d�|�|dd	�d
�|�|dd	�d�|�t|d
d�dS)Nr�r9r-r.r/rrrErR���a�r�ua��a�b�a�b�a�r�)r2Zunicode_decodeutf8rr'r3r&�LookupError)r#r2Z
decodeutf8rBrkrrr�test_decodeutf89s
zCAPITest.test_decodeutf8cCs�ddl}|j}dD]@}|�d�}|�||�|t|�f�|�||d�|t|�f�q|�t|d�|�t|d�|�t|d�|�|d�d	�|�|dd
�d	�|�t|d�|�|dd
�d�|�t|d
d�dS)Nrr:rrrErRr;r<)rjrlr�r=)r>r�r?r�)r2Zunicode_decodeutf8statefulrr'rr3r&r@)r#r2Zdecodeutf8statefulrBrkrrr�test_decodeutf8statefulOs
z CAPITest.test_decodeutf8statefulc
Cspddlm}dD]V}t|�D]H\}}|�||t|�dt|�d�|�|�||t|�dt|�d�|�qqd}|�||ddt|�d�d�|�||ddt|�d�d�|�||td�dt|�dd�d	�|�||td�dt|�dd�d	�|�||td�ddd�d�|�||td�t|�dd�d�|�||td�t|�dd�d�|�||td�t|�dd�d�dS)
Nr)�unicode_findchar)�¡u耀肀r�u🄀🇱rlrmz!>_<!r1r�r�)r2rCr\r'r�r)r#rCr r�rrrr�
test_findcharis $$$ "zCAPITest.test_findcharc	Csxddlm}gd�}t|�D]�\}}|d|�D]}|�t||d|dd�q0td�D]8}|�||d||d�|||d��dd�d|f�qTtd�D]8}|�|||||d�|||d��dd�d|f�q�q|d}|�t	||d|dd�|�t	||d|dd�|�t	||d|dd�|�t	||d|dd�|�t||d|dd�|�t||d|dd�|�t||dd	dd�dS)
Nr)�unicode_copycharacters)Zabcdeu
¡¢£¤¥u你好世界!u😀😁😂😃😄r�rsr�rmrlr�)
r2rFr\r3r1r]r'r}r~r�)	r#rFr��idxZfrom_�toZ
from_startZto_startrBrrr�test_copycharacters�s<�����zCAPITest.test_copycharacterscCsbddlm}|�|d�d�|�|d�d�|�|d�d�|�t|d	d
�|�td|d	d�dS)
Nr)�unicode_encodedecimalr�r�٣.١٤s3.14�
 3.14 s 3.14 �123€rz'^'decimal' codec can't encode characterr�)r2rJr'r3r6r�r�)r#rJrrr�test_encode_decimal�s$
�
�
���zCAPITest.test_encode_decimalcCsPddlm}|�|d�d�|�|d�d�|�|d�d�|�|d�d�dS)Nr)�unicode_transformdecimaltoasciir�rKz3.14rLrM)r2rOr')r#Ztransform_decimalrrr�test_transform_decimal�s
�
�
�
�zCAPITest.test_transform_decimalcCsxddlm}dD]b}d}td�D]P}|t|�7}|�||�t|���|d�|�||�t|���|d�q qdS)Nr)�getargs_s_hash)r��i� i
�rQr�rl)r2rQr]r\r'r)r#rQ�krBr�rrr�test_pep393_utf8_caching_bug�s z%CAPITest.test_pep393_utf8_caching_bugN)rrrrrrr)r+r3r7r9rArBrErIrNrPrTrrrrr�	s4r
%








)

rc@seZdZdd�Zdd�ZdS)�StringModuleTestcCs�dd�}|d�}|�|gd��|d�}|�|ddg�|d�}|�|d	g�|d
�}|�|g�|d�}|�|dg�|�ttjd
�dS)NcSstt�|��Sr)rx�_string�formatter_parserrrrr�parse�sz5StringModuleTest.test_formatter_parser.<locals>.parsez2prefix {2!s}xxx{0:^+10.3f}{obj.attr!s} {z[0]!s:10}))�prefix r�rQrB)r�rz^+10.3fN)rQzobj.attrrQrB)r2zz[0]r�rBzprefix {} suffix)rYrQrQN)z suffixNNNr )r NNNrQr�)rQrrQNrl)r'r3r^rVrW)r#rX�	formatterrrr�test_formatter_parser�s&���z&StringModuleTest.test_formatter_parsercCstdd�}|�|d�dgg�|�|d�ddgg�|�|d�ddgg�|�|d�dgd	�g�|�ttjd
�dS)NcSs"tt�|��}t|d�|d<|S)Nrl)rxrV�formatter_field_name_split)r��itemsrrrr��sz?StringModuleTest.test_formatter_field_name_split.<locals>.splitr!zobj.arg�Trzobj[key])Fr�zobj.arg[key1][key2])r^)FZkey1)FZkey2rl)r'r3r^rVr\)r#r�rrr�test_formatter_field_name_split�s
�z0StringModuleTest.test_formatter_field_name_splitN)rrrr[r_rrrrrU�s!rU�__main__)rV�codecsr�r�r�rVr�r
rr�r�rrZtest.support.script_helperrr�registerrr rrwr�ZMixinStrUnicodeTestZTestCaserrrUr�mainrrrr�<module>s^

�:3

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