Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_unicodedata.cpython-311.opt-1.pyc
�

�Ke�@��.�dZddlZddlmZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
Gd�dej��ZGd�dej��ZGd	�d
e��ZGd�de��ZGd
�dej��Zedkrej��dSdS)z� Tests for the unicodedata module.

    Written by Marc-Andre Lemburg (mal@lemburg.com).

    (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.

�N)�
HTTPException)�open_urlresource�requires_resource�
script_helper�cpython_only�check_disallow_instantiation�ResourceDeniedc�:�eZdZdZed��d���ZdS)�UnicodeMethodsTest�(4739770dd4d0e5f1b1677accfc3552ed3c8ef326�cpuc�B�tj��}ttjdz��D�]�}t|��}d|���d|���d|���d|�	��d|�
��d|���d|���d|�
��d|���d|dz���d|dz���d|dz���d|dz�	��d|dz�
��d|dz���d|dz���d|dz�
��d|dz���|���|���|���|dz���|dz���|dz���|dz���g}|�d�|���dd	�������|���}|�||j��dS)
N��01�abc�123z 	�ABC��utf-8�
surrogatepass)�hashlib�sha1�range�sys�
maxunicode�chr�isalnum�isalpha�	isdecimal�isdigit�islower�	isnumeric�isspace�istitle�isupper�lower�upper�title�update�join�encode�	hexdigest�assertEqual�expectedchecksum)�self�h�i�char�data�results      �?/usr/local/apps/python3/lib/python3.11/test/test_unicodedata.py�test_method_checksumz'UnicodeMethodsTest.test_method_checksums���L�N�N���s�~��)�*�*�%	E�%	E�A��q�6�6�D��T�\�\�^�^�$��T�\�\�^�^�$��T�^�^�%�%�&��T�\�\�^�^�$��T�\�\�^�^�$��T�^�^�%�%�&��T�\�\�^�^�$��T�\�\�^�^�$��T�\�\�^�^�$��d�U�l�+�+�-�-�.��d�U�l�+�+�-�-�.��d�U�l�-�-�/�/�0��d�U�l�+�+�-�-�.��d�U�l�+�+�-�-�.��d�U�l�-�-�/�/�0��d�U�l�+�+�-�-�.��d�U�l�+�+�-�-�.��d�U�l�+�+�-�-�.��
�
����
�
����
�
������$�$�&�&����$�$�&�&����$�$�&�&����$�$�&�&�A"�D�F
�H�H�R�W�W�T�]�]�)�)�'�?�C�C�D�D�D�D������������!6�7�7�7�7�7�N)�__name__�
__module__�__qualname__r.rr6�r7r5rrsB������B����u���)8�)8���)8�)8�)8r7rc��eZdZeZdS)�UnicodeDatabaseTestN)r8r9r:�unicodedata�dbr;r7r5r=r=Ds������	�B�B�Br7r=c��eZdZdZed��d���Zed��d���Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZdS)�UnicodeFunctionsTest�(98d602e1f69d5c5bb8a5910c40bbbad4e18e8370r
c
��g}tj��}ttjdz��D�]^}t|��}t
|j�|d��d��t
|j�	|d��d��t
|j�
|d��d��|j�|��|j�|��|j�
|��t|j�|����t|j�|����g}|�d�|���d������`|���}|�||j��dS)Nr���z.12gr�ascii)rrrrrr�formatr?�digit�numeric�decimal�category�
bidirectional�
decomposition�str�mirrored�	combiningr)r*r+r,r-r.)r/r3r0r1r2r4s      r5�test_function_checksumz+UnicodeFunctionsTest.test_function_checksumMse�����L�N�N���s�~��)�*�*�
	4�
	4�A��q�6�6�D��t�w�}�}�T�2�.�.��7�7��t�w���t�R�0�0�&�9�9��t�w���t�R�0�0�&�9�9��� � ��&�&���%�%�d�+�+���%�%�d�+�+��D�G�$�$�T�*�*�+�+��D�G�%�%�d�+�+�,�,�
�D�
�H�H�R�W�W�T�]�]�)�)�'�2�2�3�3�3�3������������!6�7�7�7�7�7r7c��ttjdz��D]\}t|��}|j�|d��x}r.|�|j�|��|���]dS)Nr)rrrrr?�namer-�lookup)r/r1r2�looked_names    r5�test_name_inverse_lookupz-UnicodeFunctionsTest.test_name_inverse_lookupcs|���s�~��)�*�*�	D�	D�A��q�6�6�D�"�g�l�l�4��6�6�6�{�
D�� � ������!<�!<�d�C�C�C��	D�	Dr7c��|�|j�dd��d��|�|j�d��d��|�|j�dd��d��|�|j�d��d��|�|j�dd��d��|�|j�d��d��|�t|jj��|�t|jjd	��|�t
|jjd
��dS�N�A�9�	�⅛�⑨�𠀀u𝟽��xx�x)r-r?rG�assertRaises�	TypeError�
ValueError�r/s r5�
test_digitzUnicodeFunctionsTest.test_digitjs8���������s�D�1�1�4�8�8�8��������s�+�+�Q�/�/�/��������x��6�6��=�=�=��������x�0�0�!�4�4�4��������|�T�:�:�D�A�A�A��������|�4�4�a�8�8�8����)�T�W�]�3�3�3����)�T�W�]�D�9�9�9����*�d�g�m�S�9�9�9�9�9r7c�p�|�|j�dd��d��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d��d	��|�|j�d
d��d��|�|j�d��d��|�t|jj��|�t|jjd
��|�t
|jjd��dS)NrXrYrZr[g�?r\g"@u꘧g@r]�𐄪i(#r_r`)r-r?rHrarbrcrds r5�test_numericz!UnicodeFunctionsTest.test_numericvsZ����������T�2�2�D�9�9�9���������-�-�q�1�1�1���������2�2�E�:�:�:���������2�2�C�8�8�8���������2�2�C�8�8�8���������t�<�<�d�C�C�C���������6�6��=�=�=����)�T�W�_�5�5�5����)�T�W�_�d�;�;�;����*�d�g�o�s�;�;�;�;�;r7c��|�|j�dd��d��|�|j�d��d��|�|j�dd��d��|�|j�dd��d��|�|j�dd��d��|�|j�d��d��|�t|jj��|�t|jjd	��|�t
|jjd
��dSrW)r-r?rIrarbrcrds r5�test_decimalz!UnicodeFunctionsTest.test_decimal�s:����������T�2�2�D�9�9�9���������-�-�q�1�1�1���������4�8�8�$�?�?�?���������4�8�8�$�?�?�?���������t�<�<�d�C�C�C���������6�6��:�:�:����)�T�W�_�5�5�5����)�T�W�_�d�;�;�;����*�d�g�o�s�;�;�;�;�;r7c�h�|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d	��d
��|�t|jj��|�t|jjd��dS)N�￾�Cn�a�LlrX�Lur]�Lorg�Nor_)r-r?rJrarbrds r5�
test_categoryz"UnicodeFunctionsTest.test_category�s��������)�)�(�3�3�T�:�:�:������)�)�#�.�.��5�5�5������)�)�#�.�.��5�5�5������)�)�,�7�7��>�>�>������)�)�,�7�7��>�>�>����)�T�W�%5�6�6�6����)�T�W�%5�t�<�<�<�<�<r7c��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�t|jj��|�t|jjd��dS)	Nrlr� �WSrX�Lr]r_)r-r?rKrarbrds r5�test_bidirectionalz'UnicodeFunctionsTest.test_bidirectional�s��������.�.�x�8�8�"�=�=�=������.�.�s�3�3�T�:�:�:������.�.�s�3�3�S�9�9�9������.�.�|�<�<�c�B�B�B����)�T�W�%:�;�;�;����)�T�W�%:�D�A�A�A�A�Ar7c�T�|�|j�d��d��|�|j�d��d��|�t|jj��|�t|jjd��dS)Nrlr�¼z<fraction> 0031 2044 0034r_)r-r?rLrarbrds r5�test_decompositionz'UnicodeFunctionsTest.test_decomposition�s��������.�.�x�8�8��<�<�<������.�.�x�8�8�:U�V�V�V����)�T�W�%:�;�;�;����)�T�W�%:�D�A�A�A�A�Ar7c��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�t|jj��|�t|jjd��dS)Nrlrrnu∁rr]r_)r-r?rNrarbrds r5�
test_mirroredz"UnicodeFunctionsTest.test_mirrored�s��������)�)�(�3�3�Q�7�7�7������)�)�#�.�.��2�2�2������)�)�(�3�3�Q�7�7�7������)�)�,�7�7��;�;�;����)�T�W�%5�6�6�6����)�T�W�%5�t�<�<�<�<�<r7c��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�|j�d��d��|�t|jj��|�t|jjd��dS)Nrlrrnu⃡��r]r_)r-r?rOrarbrds r5�test_combiningz#UnicodeFunctionsTest.test_combining�s��������*�*�8�4�4�a�8�8�8������*�*�3�/�/��3�3�3������*�*�8�4�4�c�:�:�:������*�*�<�8�8�!�<�<�<����)�T�W�%6�7�7�7����)�T�W�%6��=�=�=�=�=r7c�r�d}|D]1}|�|j�d|��|���2dS)N)uେ̀ାuᄀ̀ᅡuLi̍t-sṳ́u.मार्क ज़ुकेरबर्गu'किर्गिज़स्तान�NFC�r-r?�	normalize)r/�composed�texts   r5�	test_pr29zUnicodeFunctionsTest.test_pr29�sS��8���	C�	C�D����T�W�.�.�u�d�;�;�T�B�B�B�B�	C�	Cr7c�l�d}d}|�|j�d|��|��dS)Nu?C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸Çu>C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸Çr�r�)r/rn�bs   r5�test_issue10254z$UnicodeFunctionsTest.test_issue10254�s:��'��$�������*�*�5�!�4�4�a�8�8�8�8�8r7c�8�d}d}d}d}d}d}|�|j�d|��|��|�|j�d|��|��|�|j�d|��|��dS)Nu	ᄀᅶᆨu	기ᆧu기ᆧu	기ᇃu기ᇃr�r�)r/�u1176_str_a�u1176_str_b�u11a7_str_a�u11a7_str_b�u11c3_str_a�u11c3_str_bs       r5�test_issue29456z$UnicodeFunctionsTest.test_issue29456�s���*��*��*��$��*��$�������*�*�5�+�>�>��L�L�L������*�*�5�+�>�>��L�L�L������*�*�5�+�>�>��L�L�L�L�Lr7c���|jj}|�t|d��|�t|t	����|�t|d��|�t|d��|�|d��d��|�|d��d��|�|d��d	��|�|d
��d��|�|d��d
��|�|d��d��|�|d��d	��dS)N�ar�ra��Nru�Nau좔�Wuヲ�Hu?�Fu‐rXr])r?�east_asian_widthrarb�	bytearrayr-)r/�eaws  r5�test_east_asian_widthz*UnicodeFunctionsTest.test_east_asian_width�sJ���g�&�����)�S�$�/�/�/����)�S�)�+�+�6�6�6����)�S�"�-�-�-����)�S�$�/�/�/������V���c�*�*�*������V���d�+�+�+������X����,�,�,������X����,�,�,������X����,�,�,������X����,�,�,������\�*�*�C�0�0�0�0�0r7c���|�|jj�d��d��|�|j�d��d��dS)Nu⌚r�r�)r-r?�	ucd_3_2_0r�rds r5�!test_east_asian_width_9_0_changesz6UnicodeFunctionsTest.test_east_asian_width_9_0_changes�sW�������*�;�;�H�E�E�s�K�K�K������1�1�(�;�;�S�A�A�A�A�Ar7N)r8r9r:r.rrPrUrerhrjrsrxr{r}r�r�r�r�r�r�r;r7r5rArAGs@������B����u���8�8���8�*��u���D�D���D�
:�
:�
:�<�<�<�
<�
<�
<�=�=�=�B�B�B�B�B�B�=�=�=�>�>�>�
C�
C�
C�9�9�9�
M�
M�
M�1�1�1�B�B�B�B�Br7rAc�T�eZdZed���Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
S)�UnicodeMiscTestc�:�t|tj��dS�N)rr>�UCDrds r5�test_disallow_instantiationz+UnicodeMiscTest.test_disallow_instantiation�s��	%�T�;�?�;�;�;�;�;r7c��d}tjd|��}d}|�||j�d����dS)NzGimport sys;sys.modules['unicodedata'] = None;eval("'\\N{SOFT HYPHEN}'")z-czUSyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)rE)r�assert_python_failure�assertIn�err�decode)r/�coder4�errors    r5�#test_failed_import_during_compilingz3UnicodeMiscTest.test_failed_import_during_compiling�sN��/��
�4�T�4�@�@��.���
�
�e�V�Z�.�.�w�7�7�8�8�8�8�8r7c�&�d}td��D]e}t|��}|j�|d��}|dkr3|�||j�|����|dz
}�f|�|dk��dS�Nr�rDr�
)rrr?rIr-rH�
assertTrue�r/�countr1�c�decs     r5�test_decimal_numeric_consistentz/UnicodeMiscTest.test_decimal_numeric_consistents������w���	�	�A��A���A��'�/�/�!�R�(�(�C��b�y�y�� � ��d�g�o�o�a�&8�&8�9�9�9���
���������$�$�$�$�$r7c�&�d}td��D]e}t|��}|j�|d��}|dkr3|�||j�|����|dz
}�f|�|dk��dSr�)rrr?rGr-rHr�r�s     r5�test_digit_numeric_consistentz-UnicodeMiscTest.test_digit_numeric_consistents������w���	�	�A��A���A��'�-�-��2�&�&�C��b�y�y�� � ��d�g�o�o�a�&8�&8�9�9�9���
���������$�$�$�$�$r7c�b�|�|j�d��d��dS)NzGOTHIC LETTER FAIHUu𐍆)r-r?rSrds r5�test_bug_1704793z UnicodeMiscTest.test_bug_1704793s-���������(=�>�>��M�M�M�M�Mr7c��ddl}|�|jd����|�|j�d����|�d���dk��|�d���dk��|�d���dk��dS)Nru༺rnrX�ᵹuꝽ�.)r>r�rNr�r')r/r>s  r5�test_ucd_510zUnicodeMiscTest.test_ucd_510s����������,��,�X�6�6�7�7�7����K�1�:�:�8�D�D�D�E�E�E�	
����	�	���S�(�)�)�)�������(�(�(�2�3�3�3�����	�	���S�(�)�)�)�)�)r7c���|�d���d��|�d�ttjdz��D��dg��dS)Nr�c���g|]k}dt|�����t|�����zt|�����zv�i|��lS)�)rr&r'r()�.0r�s  r5�
<listcomp>z1UnicodeMiscTest.test_bug_5828.<locals>.<listcomp>.sa��
�
�
���S��V�V�\�\�^�^�C��F�F�L�L�N�N�:�3�q�6�6�<�<�>�>�I�I�I��I�I�Ir7rr)r-r&rrrrds r5�
test_bug_5828zUnicodeMiscTest.test_bug_5828*sv��������)�)�8�4�4�4����
�
� ����!1�2�2�
�
�
��C�	
�	
�	
�	
�	
r7c��|�d���d��|�d���d��|�d���d��dS)NuDŽuDžudž)r-r(rds r5�
test_bug_4971zUnicodeMiscTest.test_bug_49715sh��������)�)�8�4�4�4�������)�)�8�4�4�4�������)�)�8�4�4�4�4�4r7c��td��D]y}t|��dz���}|dvr(|�t	|��dd|z���R|�t	|��dd|z���zdS)Nr�rX)
r����
����i( i) �z\u%.4x should be a linebreakrz \u%.4x should not be a linebreak)rr�
splitlinesr-�len)r/r1�liness   r5�test_linebreak_7643z#UnicodeMiscTest.test_linebreak_7643;s����w���	J�	J�A���V�V�c�\�-�-�/�/�E��7�7�7�� � ��U���Q�!@�1�!D�F�F�F�F�� � ��U���Q�!D�q�!H�J�J�J�J�	J�	Jr7N)
r8r9r:rr�r�r�r�r�r�r�r�r�r;r7r5r�r��s��������<�<��\�<�9�9�9� %�%�%�%�%�%�N�N�N�	*�	*�	*�	
�	
�	
�5�5�5�	J�	J�	J�	J�	Jr7r�c�t�eZdZed���Zed���Zed��d���Zd�Zd�Z	d�Z
dS)	�NormalizationTestc�F�|���}tj|vSr�)�readliner>�unidata_version)�testfile�hdrs  r5�
check_versionzNormalizationTest.check_versionGs!�����!�!���*�c�1�1r7c�~�d�|�d��D��}d�d�|D����S)Nc�.�g|]}t|d����S)�)�int�r�r`s  r5r�z,NormalizationTest.unistr.<locals>.<listcomp>Ns ��4�4�4�q��A�r�
�
�4�4�4r7rurc�,�g|]}t|����Sr;)rr�s  r5r�z,NormalizationTest.unistr.<locals>.<listcomp>Os��-�-�-�1��A���-�-�-r7)�splitr*)r3s r5�unistrzNormalizationTest.unistrLs@��4�4�D�J�J�s�O�O�4�4�4���w�w�-�-��-�-�-�.�.�.r7�networkc�z�d}dtj�d|��}	t|d|j���}n]#t$r|�d|�d���Yn8ttf$r%}|�d|�d	|����Yd}~nd}~wwxYw|5|�|��ddd��dS#1swxYwYdS)
NzNormalizationTest.txtz"http://www.pythontest.net/unicode/�/r)�encoding�checkz"Permission error when downloading z into the test data directoryzFailed to download z: )	r>r�rr��PermissionError�skipTest�OSErrorr�run_normalization_tests)r/�TESTDATAFILE�TESTDATAURL�testdata�excs     r5�test_normalizationz$NormalizationTest.test_normalizationQsk��.��g�;�;V�g�g�Ye�g�g��	F�'��g�.2�.@�B�B�B�H�H���	;�	;�	;��M�M�:�{�:�:�:�
;�
;�
;�
;�
;���'�	F�	F�	F��M�M�D��D�D�s�D�D�E�E�E�E�E�E�E�E�����	F�����	3�	3��(�(��2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s-�.�#B�B�#B�B�
B0�0B4�7B4c����d}i}d�}d�}d�}d�}|D�]W}d|vr|�d��d}|���}|s�9|�d��r|���d}�i�fd�|�d	��dd
�D��\}	}
}}}
��|
||	��cxko||
��cxko||��knc|����|||��cxko||
��knc|����|||	��cxko||
��cxko||��knc|����|
||��cxko||
��knc|����|||	��cxko>||
��cxko.||��cxko||��cxko||
��knc|����|
||	��cxko>||
��cxko.||��cxko||��cxko||
��knc|����t	jd|
������t	jd|������t	jd|������t	jd|
������t	jd
|������t	jd|
����|dkrd||	<��Yt
tjdz��D]l}t|��}||vr���|||��cxko.||��cxko||��cxko||��knc|���mdS)Nc�,�tjd|��S)Nr��r>r��rMs r5r�z6NormalizationTest.run_normalization_tests.<locals>.NFCg����(���4�4�4r7c�,�tjd|��S)N�NFKCr�r�s r5r�z7NormalizationTest.run_normalization_tests.<locals>.NFKCj����(���5�5�5r7c�,�tjd|��S)N�NFDr�r�s r5r�z6NormalizationTest.run_normalization_tests.<locals>.NFDmr�r7c�,�tjd|��S)N�NFKDr�r�s r5rz7NormalizationTest.run_normalization_tests.<locals>.NFKDpr�r7�#rz@Partc�:��g|]}��|����Sr;)r�)r�r`r/s  �r5r�z=NormalizationTest.run_normalization_tests.<locals>.<listcomp>|s#���K�K�K��d�k�k�!�n�n�K�K�Kr7�;rDr�r�r�rz@Part1r)
r��strip�
startswithr�r>�
is_normalizedrrrr)r/r��part�
part1_datar�r�r�r�line�c1�c2�c3�c4�c5r��Xs`               r5r�z)NormalizationTest.run_normalization_testscs������
�	5�	5�	5�	6�	6�	6�	5�	5�	5�	6�	6�	6��"	#�"	#�D��d�{�{��z�z�#���q�)���:�:�<�<�D��
�����w�'�'�
��z�z�|�|�A����K�K�K�K�d�j�j��o�o�c�r�c�6J�K�K�K�N�B�r�"�R��
�O�O�B�3�3�r�7�7�B�B�B�B�s�s�2�w�w�B�B�B�B�3�3�r�7�7�B�B�B�B�D�I�I�I��O�O�B�3�3�r�7�7�6�6�6�6�s�s�2�w�w�6�6�6�6��=�=�=��O�O�B�3�3�r�7�7�B�B�B�B�s�s�2�w�w�B�B�B�B�3�3�r�7�7�B�B�B�B�D�I�I�I��O�O�B�3�3�r�7�7�6�6�6�6�s�s�2�w�w�6�6�6�6��=�=�=��O�O�B�$�$�r�(�(�=�=�=�=�d�d�2�h�h�=�=�=�=� �D��H�H�=�=�=�=�(,��R���=�=�=�=�48�D��H�H�=�=�=�=� �
"�
"�
"�
�O�O�B�$�$�r�(�(�=�=�=�=�d�d�2�h�h�=�=�=�=� �D��H�H�=�=�=�=�(,��R���=�=�=�=�48�D��H�H�=�=�=�=� �
"�
"�
"�
�O�O�K�5�e�R�@�@�A�A�A��O�O�K�5�e�R�@�@�A�A�A��O�O�K�5�e�R�@�@�A�A�A��O�O�K�5�e�R�@�@�A�A�A��O�O�K�5�f�b�A�A�B�B�B��O�O�K�5�f�b�A�A�B�B�B��x���!"�
�2����s�~�a�'�(�(�	L�	L�A��A���A��J�����O�O�A���Q���G�G�G�G�3�3�q�6�6�G�G�G�G�T�T�!�W�W�G�G�G�G���Q���G�G�G�G��K�K�K�K�		L�	Lr7c���|�ttj��|�ttjdd��|�tjdd��d��dS)N�unknownr_r�r)rarbr>r�rcr-rds r5�test_edge_casesz!NormalizationTest.test_edge_cases�sa�����)�[�%:�;�;�;����*�k�&;�Y��M�M�M�����.�v�r�:�:�B�?�?�?�?�?r7c�0�tjdd��dS)Nr�u한글r�rds r5�test_bug_834676z!NormalizationTest.test_bug_834676�s����e�^�4�4�4�4�4r7N)r8r9r:�staticmethodr�r�rr�r�rrr;r7r5r�r�Fs��������2�2��\�2��/�/��\�/���y�!�!�3�3�"�!�3�"9L�9L�9L�v@�@�@�
5�5�5�5�5r7r��__main__)�__doc__r�http.clientrrr>�unittest�test.supportrrrrrr	�TestCaserr=rAr�r�r8�mainr;r7r5�<module>rs���������%�%�%�%�%�%�
�
�
�
���������*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�*�
/8�/8�/8�/8�/8��*�/8�/8�/8�b�����(�+����bB�bB�bB�bB�bB�.�bB�bB�bB�HYJ�YJ�YJ�YJ�YJ�)�YJ�YJ�YJ�v_5�_5�_5�_5�_5��)�_5�_5�_5�D�z����H�M�O�O�O�O�O��r7