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

�Kec1��N�ddlZddlmZmZmZddlmZmZmZddl	m
Z
ddlZddlZddl
Z
ddlZddlZGd�dej��ZGd�d��ZGd	�d
ej��ZGd�deej��ZGd
�deej��Zedkrej��dSdS)�N)�
script_helper�captured_stdout�requires_subprocess)�TESTFN�unlink�rmtree)�unloadc��eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	��d���Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�ZdS)�MiscSourceEncodingTestc��|�d�d��d��|�d�d��d��dS)Nu
Питон�utf-8s
Питонu\Пs\П)�assertEqual�encode��selfs �C/usr/local/apps/python3/lib/python3.11/test/test_source_encoding.py�test_pep263z"MiscSourceEncodingTest.test_pep263sd���������(�(�7�	
�	
�	
�	
����L�L��!�!��	
�	
�	
�	
�	
�c��tddd��}i}t||��|�|dd��dS)Ns
# coding: utf-8
u = 'ó'
�dummy�exec�u�ó��compilerr�r�c�ds   r�test_compilestringz)MiscSourceEncodingTest.test_compilestringsF���:�G�V�L�L�����Q��
�
�
�����3���(�(�(�(�(rc���	tddd��|���dS#t$r9}|�|j�d��d��Yd}~dSd}~wwxYw)Ns# coding: cp932
print '�N'rr�
uprint '年')r�fail�SyntaxErrorr�text�rstrip)r�vs  r�test_issue2301z%MiscSourceEncodingTest.test_issue2301 s���	��8�'�6�J�J�J�
�I�I�K�K�K�K�K���	D�	D�	D����Q�V�]�]�4�0�0�2B�C�C�C�C�C�C�C�C�C�����	D���s�)�
A,�.A'�'A,c��tddd��}i}t||��|�|dd��dS)Nu# coding=latin-1
Æ = 'Æ'rr�Ærrs   r�test_issue4626z%MiscSourceEncodingTest.test_issue4626(sF���9�7�F�K�K�����Q��
�
�
�����6��F�+�+�+�+�+rc��tddd��}i}t||��|�|d|d��|�t|d��t|d����|�t	|d��t	|d����dS)Nua, b = '𐄏', '\U0001010F'rr�a�b)rrr�len�asciirs   r�test_issue3297z%MiscSourceEncodingTest.test_issue3297.s����8�'�6�J�J�����Q��
�
�
�����3���3��(�(�(�����Q�s�V���c�!�C�&�k�k�2�2�2�����q��v����a��f�
�
�6�6�6�6�6rc���|�ttd��|�ttd��|�ttd��dS)Ns� s� s� )�assertRaisesr#�evalrs r�test_issue7820z%MiscSourceEncodingTest.test_issue78206sV��	
���+�t�[�9�9�9�	
���+�t�[�9�9�9�	
���+�t�_�=�=�=�=�=rc�t�tjtjtj�tj�t��d��gtj	���}|�
��d}|�|jd��|�
d|��dS)Nzcoding20731.py)�stderr�rsSyntaxError)�
subprocess�Popen�sys�
executable�os�path�join�dirname�__file__�PIPE�communicater�
returncode�assertNotIn)r�sub�errs   r�
test_20731z!MiscSourceEncodingTest.test_20731Ds�����������R�W�_�_�X�%>�%>�%5�7�7� 8� *��0�0�0���o�o����"��������+�+�+������-�-�-�-�-rc��tddd��tddd��tddd��|�td��5tddd��ddd��n#1swxYwY|�td��5td	dd��ddd��n#1swxYwY|�td
��5td	dd��ddd��n#1swxYwY|�td��5tddd��ddd��n#1swxYwY|�td
��5tddd��ddd��dS#1swxYwYdS)Ns# -*- coding: iso-8859-15 -*-
rrs
s# -*- coding: utf-8 -*-
�fakes# -*- coding: fake -*-
ziso-8859-15s!# -*- coding: iso-8859-15 -*-
�BOMs# -*- coding: fake -*-
)r�assertRaisesRegexr#rs r�test_error_messagez)MiscSourceEncodingTest.test_error_messageNs���2�G�V�D�D�D��!�7�F�3�3�3��8�'�6�J�J�J�
�
#�
#�K��
8�
8�	B�	B��/��&�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�
�
#�
#�K��
?�
?�	%�	%��B��V�
%�
%�
%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��
#�
#�K��
7�
7�	%�	%��B��V�
%�
%�
%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��
#�
#�K��
8�
8�	N�	N��;�W�f�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�
�
#�
#�K��
7�
7�	N�	N��;�W�f�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�	N�	NsZ�A-�-A1�4A1�B1�1B5�8B5�C5�5C9�<C9�D9�9D=�D=�E>�>F�Fc�4�d}|�|��dS)N�
bad_coding��verify_bad_module�r�module_names  r�test_bad_codingz&MiscSourceEncodingTest.test_bad_coding_s!��"�����{�+�+�+�+�+rc�4�d}|�|��dS)N�bad_coding2rOrQs  r�test_bad_coding2z'MiscSourceEncodingTest.test_bad_coding2cs!��#�����{�+�+�+�+�+rc��|�ttd|z��tj�t��}tj�||dz��}t|d��5}|�	��}ddd��n#1swxYwY|�tt||d��dS)Nztest.�.py�rbr)r2r#�
__import__r<r=r?r@r>�open�readr)rrRr=�filename�fp�bytess      rrPz(MiscSourceEncodingTest.verify_bad_modulegs������+�z�7�[�3H�I�I�I��w���x�(�(���7�<�<��k�E�&9�:�:��
�(�D�
!�
!�	�R��G�G�I�I�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	����+�w��x��H�H�H�H�Hs�<B�B!�$B!c�b�i}td|��|�|dd��dS)Ns# coding: cp949
a = "��"
r,uぇ)rr)rrs  r�test_exec_valid_codingz-MiscSourceEncodingTest.test_exec_valid_codingps8�����
1�1�5�5�5�����3���*�*�*�*�*rc��tt��tdz}t|dd���}tj�dtj��	|5|�d��|�d��|�d��|�d	d
z��ddd��n#1swxYwYtj
��tt��tjd=t|��t|dz��t|dz��tt��td
��dS#tjd=t|��t|dz��t|dz��tt��td
��wxYw)NrX�w�cp1252)�encodingrz# -*- coding: cp1252 -*-
z'''A short string
z'''
z'A very long string %s'
��XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXr�o�__pycache__)r	rr[r:r=�insertr<�curdir�write�	importlib�invalidate_cachesrZrr)rr]�fs   r�test_file_parsez&MiscSourceEncodingTest.test_file_parseus���	�v�����E�>����3��2�2�2�������2�9�%�%�%�	"��
D�
D����4�5�5�5����-�.�.�.����� � � ����3�z�B�C�C�C�	
D�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D����
D�
D�
D�
D�
�'�)�)�)��v���������8�����8�c�>�"�"�"��8�c�>�"�"�"��6�N�N�N��=�!�!�!�!�!�������8�����8�c�>�"�"�"��8�c�>�"�"�"��6�N�N�N��=�!�!�!�!���s2�E�AC�6E�C�E�	C�
*E�A%F>c�N�d�d��}|�t��5}t|dd��ddd��n#1swxYwYd}|�|jjd�|��|jjd���dS)Nu# coding: ascii
☃r
z<string>rzN'ascii' codec can't decode byte 0xe2 in position 16: ordinal not in range(128)r)�msg)rr2r#r�
assertTrue�	exception�args�
startswith)r�inputr�expecteds    r�test_error_from_stringz-MiscSourceEncodingTest.test_error_from_string�s���.�5�5�g�>�>��
�
�
�{�
+�
+�	/�q��E�:�v�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�/�������(��+�6�6�x�@�@��K�,�Q�/�	�	1�	1�	1�	1�	1s�A�A�Ac��ttd��5}|�d��ddd��n#1swxYwY	tjt��\}}}|�|d��|�d|��tjt��dS#tjt��wxYw)N�wbsprint("""
�""")
rs#Non-UTF-8 code starting with '\xb1')	r[rrkr�assert_python_failure�
assertGreater�assertInr<r)r�fd�retcode�stdoutr6s     r�test_file_parse_error_multilinez6MiscSourceEncodingTest.test_file_parse_error_multiline�s���
�&�$�
�
�	/�2��H�H�-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	�&3�&I�&�&Q�&Q�#�G�V�V����w��*�*�*��M�M�A�6�J�J�J��I�f�������B�I�f�������s�8�<�<�A	B(�(Cc��d}ttd��5}|�d�|����ddd��n#1swxYwY	t	jt��\}}}|�d|��|�|�|�	����d��tjt��dS#tjt��wxYw)Nz0b1and 2rcz{}s$SyntaxWarning: invalid binary literar7)r[rrk�formatr�assert_python_okr}r�countrr<r)r�sourcer~rr�r6s      r�,test_tokenizer_fstring_warning_in_first_linezCMiscSourceEncodingTest.test_tokenizer_fstring_warning_in_first_line�s����
�&�#�
�
�	*�"��H�H�T�[�[��(�(�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	�&3�&D�V�&L�&L�#�G�V�V��M�M�A�6�J�J�J����V�\�\�&�-�-�/�/�:�:�A�>�>�>��I�f�������B�I�f�������s�)A
�
A�A�A.C"�"C=N)�__name__�
__module__�__qualname__rrr'r*r0r4rrGrLrSrVrPrarorxr�r��rrrr
s ������
�
�
�)�)�)����,�,�,�7�7�7�>�>�>�����.�.���.�N�N�N�",�,�,�,�,�,�I�I�I�+�+�+�
"�"�"�01�1�1����	�	�	�	�	rrc�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�AbstractSourceEncodingTestc�6�d}|�|d��dS)Nsprint(ascii("ä"))
�'\xe4'��check_script_output�r�srcs  r�test_default_codingz.AbstractSourceEncodingTest.test_default_coding�s#��,��� � ��j�1�1�1�1�1rc�6�d}|�|d��dS)Ns&#coding:iso8859-15
print(ascii("ä"))
�'\xc3\u20ac'r�r�s  r�test_first_coding_linez1AbstractSourceEncodingTest.test_first_coding_line��&��-��� � ��&6�7�7�7�7�7rc�6�d}|�|d��dS)Ns(#
#coding:iso8859-15
print(ascii("ä"))
r�r�r�s  r�test_second_coding_linez2AbstractSourceEncodingTest.test_second_coding_line��(��-��	
� � ��&6�7�7�7�7�7rc�6�d}|�|d��dS)Ns*#
#
#coding:iso8859-15
print(ascii("ä"))
r�r�r�s  r�test_third_coding_linez1AbstractSourceEncodingTest.test_third_coding_line�s'��-��	
� � ��j�1�1�1�1�1rc�6�d}|�|d��dS)Ns5#coding:iso8859-15
#coding:latin1
print(ascii("ä"))
r�r�r�s  r�test_double_coding_linez2AbstractSourceEncodingTest.test_double_coding_line�s(��-��	
� � ��&6�7�7�7�7�7rc�6�d}|�|d��dS)Ns4#coding:iso8859-15 coding:latin1
print(ascii("ä"))
r�r�r�s  r�test_double_coding_same_linez7AbstractSourceEncodingTest.test_double_coding_same_line�r�rc�6�d}|�|d��dS)Ns)#coding:iso-8859-15 �
print(ascii("ä"))
r�r�r�s  r�test_first_non_utf8_coding_linez:AbstractSourceEncodingTest.test_first_non_utf8_coding_line�r�rc�6�d}|�|d��dS)Ns*
#coding:iso-8859-15 �
print(ascii("ä"))
r�r�r�s  r� test_second_non_utf8_coding_linez;AbstractSourceEncodingTest.test_second_non_utf8_coding_line�r�rc�6�d}|�|d��dS)Nsprint(ascii("ä"))
r�r�r�s  r�
test_utf8_bomz(AbstractSourceEncodingTest.test_utf8_bom�s#��8��� � ��j�1�1�1�1�1rc�6�d}|�|d��dS)Ns$#coding:utf-8
print(ascii("ä"))
r�r�r�s  r�"test_utf8_bom_and_utf8_coding_linez=AbstractSourceEncodingTest.test_utf8_bom_and_utf8_coding_line�s%��-��� � ��j�1�1�1�1�1rc�6�d}|�|d��}dS)Nsprint(ascii("""
"""))
s'\n'r��rr��outs   r�	test_crlfz$AbstractSourceEncodingTest.test_crlf�s ��,���&�&�s�H�5�5���rc�6�d}|�|d��}dS)Nsprint(ascii("""

"""))
s'\n\n'r�r�s   r�test_crcrlfz&AbstractSourceEncodingTest.test_crcrlf�s ��.���&�&�s�J�7�7���rc�6�d}|�|d��}dS)Nsprint(ascii("""


"""))
�'\n\n\n'r�r�s   r�
test_crcrcrlfz(AbstractSourceEncodingTest.test_crcrcrlf�s ��0���&�&�s�L�9�9���rc�6�d}|�|d��}dS)Ns,#coding:iso-8859-1
print(ascii("""


"""))
r�r�r�s   r�test_crcrcrlf2z)AbstractSourceEncodingTest.test_crcrcrlf2�s"��1���&�&�s�L�9�9���rN)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r��s�������2�2�2�8�8�8�
8�8�8�2�2�2�8�8�8�8�8�8�
8�8�8�
8�8�8�2�2�2�2�2�2�
6�6�6�8�8�8�:�:�:�:�:�:�:�:rr�c�t�eZdZejej�d��d��d���ZdS)�UTF8ValidatorTest�linuxz&Too slow to run on non-Linux platformsc������d�t���t������fd�}d�tdd��D��}d�tdd��D��}d�td	d
��D��}||z|zd�tdd
��D��z}|D]
}||���|D]}|D]}|||z����|D]0}|dd�D]#}	|dd�D]}
|||	zdz|
z����$�1d�tdd��D��D]$}|d|zdz��|d|zdz���%d�tdd��D��D]$}|d|zdz��|d|zdz���%d�tdd��D��D]$}|d|zdz��|d|zdz���%d�tdd��D��D]$}|d|zdz��|d|zdz���%dS)Ns


"%s"
c�<��t�d��5}|��|z��ddd��n#1swxYwYtj���\}}}��|d����d|����d|��dS)Nrzr7sNon-UTF-8 code starting withs	on line 4)r[rkrr{�assertGreaterEqualr})�contentr^�rcr�r6�fnr�templates     ���r�checkz2UTF8ValidatorTest.test_invalid_utf8.<locals>.checks�����b�$���
-�2�����G�+�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-�!.�!D�R�!H�!H��B���
�#�#�B��*�*�*��M�M�9�6�B�B�B��M�M�,��/�/�/�/�/s�7�;�;c�.�g|]}t|g����Sr��r_��.0�xs  r�
<listcomp>z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>s ��D�D�D�Q�e�Q�C�j�j�D�D�Dr��c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>� ��%L�%L�%L�Q�e�Q�C�j�j�%L�%L�%Lr��c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>r�r��c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>!s ��)Q�)Q�)Q��%���*�*�)Q�)Q�)Qr�����c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>0� ��9�9�9�!�5�!��:�:�9�9�9r�����c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>4r�r��c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>7r�r���s��s��c�.�g|]}t|g����Sr�r�r�s  rr�z7UTF8ValidatorTest.test_invalid_utf8.<locals>.<listcomp>:r�r��)r�
addCleanupr�range)
rr��continuation_bytes�invalid_2B_seq_start_bytes�invalid_4B_seq_start_bytes�invalid_start_bytes�byte�sb�cb�cb1�cb3r�r�s
`          @@r�test_invalid_utf8z#UTF8ValidatorTest.test_invalid_utf8�s�����#��
�������#�#�#�	0�	0�	0�	0�	0�	0�	0�E�D�%��d�2C�2C�D�D�D��%L�%L�%��d�:K�:K�%L�%L�%L�"�%L�%L�%��d�:K�:K�%L�%L�%L�"��!;�;�&�
'�)Q�)Q�e�D�%�>P�>P�)Q�)Q�)Q�
R�	�
(�	�	�D��E�$�K�K�K�K�,�	�	�B�(�
�
����b�2�g�����
�-�	.�	.�B�)�"�1�"�-�
.�
.��-�b�q�b�1�.�.�C��E�"�S�&��.��,�-�-�-�-�.�
.�:�9�u�T�4�'8�'8�9�9�9�	&�	&�B��E�'�"�*�W�$�%�%�%��E�'�"�*�W�$�%�%�%�%�9�9�u�T�4�'8�'8�9�9�9�	&�	&�B��E�'�"�*�W�$�%�%�%��E�'�"�*�W�$�%�%�%�%�9�9�u�T�4�'8�'8�9�9�9�	*�	*�B��E�'�"�*�[�(�)�)�)��E�'�"�*�[�(�)�)�)�)�9�9�u�T�4�'8�'8�9�9�9�	*�	*�B��E�'�"�*�[�(�)�)�)��E�'�"�*�[�(�)�)�)�)�	*�	*rN)	r�r�r��unittest�skipIfr:�platformrur�r�rrr�r��sV�������X�_���0�0��9�9�9�=�?�?�>*�>*�?�?�>*�>*�>*rr�c��eZdZd�ZdS)�BytesSourceEncodingTestc��t��5}t|��ddd��n#1swxYwY|����d��}|�|���|��dS)N�latin1)rr�getvaluerrr%)rr�rwr�r�s     rr�z+BytesSourceEncodingTest.check_script_outputAs���
�
�
�	�&���I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��o�o���&�&�x�0�0����������x�0�0�0�0�0s�+�/�/N�r�r�r�r�r�rrr�r�?s#������1�1�1�1�1rr�c��eZdZd�ZdS)�FileSourceEncodingTestc��tj��5}tj�|d��}t|d��5}|�|��ddd��n#1swxYwYtj|��}ddd��n#1swxYwY|�	|j
���|��dS)Nztest.pyrz)�tempfile�TemporaryDirectoryr<r=r>r[rkrr�rr�r%)rr�rw�tmpdr�r^�ress       rr�z*FileSourceEncodingTest.check_script_outputJs!��
�
(�
*�
*�	5�d�����d�I�.�.�B��b�$���
�2�����
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��0��4�4�C�		5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
	
�������)�)�8�4�4�4�4�4s5�1B�A'�B�'A+	�+B�.A+	�/B�B�BNr�r�rrr�r�Hs#������5�5�5�5�5rr��__main__)r��test.supportrrr�test.support.os_helperrrr�test.support.import_helperr	rlr<r:r8r��TestCaserr�r�r�r�r��mainr�rr�<module>rs�������L�L�L�L�L�L�L�L�L�L�9�9�9�9�9�9�9�9�9�9�-�-�-�-�-�-�����	�	�	�	�
�
�
�
���������`�`�`�`�`�X�.�`�`�`�FH:�H:�H:�H:�H:�H:�H:�H:�VA*�A*�A*�A*�A*��)�A*�A*�A*�H1�1�1�1�1�8�(�:K�1�1�1�5�5�5�5�5�7��9J�5�5�5��z����H�M�O�O�O�O�O��r