403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_fstring.cpython-313.opt-1.pyc
�

��i�"����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
 SSKJr SSK
JrJr Sr"SS\R"5r\S:Xa\R&"5 gg)	�N)�support)�temp_cwd)�assert_python_failure�assert_python_okzglobal variablec��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSr\R."\R2S5S5r\R."\R2S5S5rSrSrSrSrSr Sr!Sr"Sr#Sr$S r%S!r&S"r'S#r(S$r)S%r*S&r+S'r,S(r-S)r.S*r/S+r0S,r1S-r2S.r3S/r4S0r5S1r6S2r7S3r8S4r9S5r:S6r;S7r<S8r=S9r>S:r?S;r@S<rAS=rBS>rCS?rDS@rESArFSBrGSCrHSDrISErJSFrKSGrLSHrMSIrNSJrOSKrPSLrQSMrRSNrSSOrTSPrUSQrVSRrWSSrXSTrYSUrZSVr[SWr\SXr]SYr^SZr_S[r`S\raS]rbS^rcg_)`�TestCase� c���UH@nURUS9 URX5 [U5 SSS5 SSS5 MB g!,(df   N=f!,(df   Me=f)N��str)�subTest�assertRaisesRegex�eval)�self�exception_type�regex�
error_stringsrs     �&C:\Python313\\Lib\test\test_fstring.py�assertAllRaise�TestCase.assertAllRaise!sM�� �C����#��&��+�+�N�B���I�C�'�&�!�B�B��'�&�s!�A�A�A�
A�A�
A(	c�D�"SS5nU"5nU"5n[R"SU5UlURU[	U55 URUS5 UR[	U5[	U55 URURS5S5 URURS5S5 UR[U5RUS5S5 UR[U5RUS5S5 g)Nc��\rSrSrSrSrg)�(TestCase.test__format__lookup.<locals>.X�)c��g)N�class��r�specs  r�
__format__�3TestCase.test__format__lookup.<locals>.X.__format__*s���rN��__name__�
__module__�__qualname__�__firstlineno__r �__static_attributes__rr"r�Xr)s��
r"r)c��g)N�instancerrs  r�<lambda>�/TestCase.test__format__lookup.<locals>.<lambda>2s��:r"r�r+)�types�
MethodTyper �assertEqual�format�type)rr)�x�ys    r�test__format__lookup�TestCase.test__format__lookup's���	�	�
�C��
�C���'�'�(E�q�I������A�3����+����A�3��)�������F�1�I�.�
	
������b�)�7�3�������b�)�:�6�	
����a��+�+�A�r�2�G�<�����a��+�+�A�r�2�G�<r"c���"SS5nU"5nSn[R"U5n[USS5nURUR5 [U5 UR
UR5 g)Nc� �\rSrSrSrSrSrg)�TestCase.test_ast.<locals>.X�Dc��SUlg)NF��called�rs r�__init__�%TestCase.test_ast.<locals>.X.__init__Es	��#��r"c��SUlg)NT�r=r?s r�__call__�%TestCase.test_ast.<locals>.X.__call__Gs��"���r"r=N)r$r%r&r'r@rDr(rr"rr)r:Ds��
$�
r"r)�
a = 10
f'{a * x()}'r.�exec)�ast�parse�compile�assertFalser>rG�
assertTrue)rr)r4�expr�t�cs      r�test_ast�TestCase.test_astBsh��	�	�
�C����
�I�I�d�O���A�r�6�"��	
������"�	
�Q��	
������!r"c�H�Sn[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 URURSRS5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 URURSRS5 URURSRRS5 URURSRRSRS5 URSRRSRnUR[U5[R5 UR[UR5[R 5 UR[UR"5[R$5 UR[UR&5[R(5 URURS5 URURRS5 URUR&RS5 URUR*S5 URURR*S5 URUR&R*S5 g)NrF�r���)rHrIr1r3�Module�len�body�Assign�lineno�Expr�value�	JoinedStr�values�FormattedValue�BinOp�left�Name�op�Mult�right�Call�
col_offset�rrMrN�binops    r�test_ast_line_numbers�TestCase.test_ast_line_numbersZs�����
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�*�*�5���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�H�H�5�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�1�-�������.�.��2�������/�/��3r"c���Sn[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 UR[URSR5[R5 URURSRS5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 UR[URSRRSR5[5 UR[URSRRS5[R5 UR[URSRRS5[R5 UR[URSRRSR5[5 UR[URSRRS5[R5 URURSRS5 URURSRRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URSRRSRnUR[U5[R5 UR[UR 5[R"5 UR[UR$5[R&5 UR[UR(5[R*5 URURS5 URUR RS5 URUR(RS5 URUR,S5 URUR R,S5 URUR(R,S5 URSRRSRnUR[U5[R5 UR[UR 5[R"5 UR[UR$5[R.5 UR[UR(5[R*5 URURS5 URUR RS5 URUR(RS5 URUR,S	5 URUR R,S	5 URUR(R,S
5 g)Nz8
f'no formatted values'
f'eggs {a * x()} spam {b + y()}'rSrrTrCrU����)rHrIr1r3rWrXrYr\r]r^r[r_�Constantrr`rarbrcrdrerfrgrh�Add)rrMrN�binop1�binop2s     r�.test_ast_line_numbers_multiple_formattedvalues�7TestCase.test_ast_line_numbers_multiple_formattedvaluesysw��$��
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=��������'�'��*�0�0������f��s�y�y�1�����f�k�k�*�C�H�H�5�����f�i�i��#�(�(�3�����f�l�l�+�S�X�X�6��������*�������+�+�Q�/�������,�,�a�0�����*�*�A�.�������/�/��3�������0�0�"�5��������'�'��*�0�0������f��s�y�y�1�����f�k�k�*�C�H�H�5�����f�i�i��#�'�'�2�����f�l�l�+�S�X�X�6��������*�������+�+�Q�/�������,�,�a�0�����*�*�B�/�������/�/��4�������0�0�"�5r"c�`
�Sn[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 URURSRS5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 URURSRS5 URURSRRS5 URURSRRSRS5 URSRRSRnUR[U5[R5 UR[UR5[R 5 UR[UR"5[R$5 UR[UR&5[R5 URURS5 URURRS5 URUR&RS5 URUR(S5 URURR(S5 URUR&R(S5 UR[UR&R5S5 UR[UR&RS5[R*5 UR[UR&RSR5[,5 UR[UR&RS5[R5 UR[UR&RS5[R*5 UR[UR&RSR5[,5 URUR&RSRS5 URUR&RSRS5 URUR&RSRS5 UR&RSRnUR[U5[R.5 URURS5 URUR(S5 g)Nz
a = 10
f'{a * f"-{x()}-"}'rSrrTrUrV�)rHrIr1r3rWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrhrrrrg)rrMrNrj�calls     r�test_ast_line_numbers_nested�%TestCase.test_ast_line_numbers_nested�si����
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�*�*�5���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�M�M�:�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�1�-�������.�.��2�������/�/��3�����U�[�[�/�/�0�!�4�����e�k�k�0�0��3�4�c�l�l�C�����e�k�k�0�0��3�9�9�:�C�@�����e�k�k�0�0��3�4�c�6H�6H�I�����e�k�k�0�0��3�4�c�l�l�C�����e�k�k�0�0��3�9�9�:�C�@�������+�+�A�.�5�5�q�9�������+�+�A�.�5�5�q�9�������+�+�A�.�5�5�q�9��{�{�!�!�!�$�*�*������d��S�X�X�.�������a�(�������"�-r"c���Sn[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 URURSRS5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 UR[URSRRS5[R5 UR[URSRRSR5[5 UR[URSRRS5[R5 UR[URSRRS5[R5 UR[URSRRSR5[5 UR[URSRRS5[R5 URURSRS5 URURSRRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URSRRSRnUR[U5[R 5 UR[UR"5[R$5 UR[UR&5[R(5 UR[UR*5[R,5 URURS5 URUR"RS5 URUR*RS5 URUR.S5 URUR"R.S5 URUR*R.S5 URSRRSRnUR[U5[R 5 UR[UR"5[R$5 UR[UR&5[R(5 UR[UR*5[R,5 URURS5 URUR"RS5 URUR*RS5 URUR.S	5 URUR"R.S	5 URUR*R.S
5 URSRRSRnUR[U5[R 5 UR[UR"5[R$5 UR[UR&5[R(5 UR[UR*5[R,5 URURS5 URUR"RS5 URUR*RS5 URUR.S5 URUR"R.S5 URUR*R.S5 g)
Nz)
a = 10
f'{a * x()} {a * x()} {a * x()}'
rSrrT�rUrCrV�
�rprq)rHrIr1r3rWrXrYrZr[r\r]r^r_r`rrrrarbrcrdrerfrgrhris    r�*test_ast_line_numbers_duplicate_expression�3TestCase.test_ast_line_numbers_duplicate_expression�s�����
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�*�*�5���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�H�H�5�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�1�-�������.�.��2�������/�/��3����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�H�H�5�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�2�.�������.�.��3�������/�/��4����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�H�H�5�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�2�.�������.�.��3�������/�/��4r"c��[R"S5nUR[UR5S5 URURSR
S5 UR[
URS5[R5 UR[
URSR5[R5 UR[URSRR5S5 UR[
URSRRS5[R5 UR[
URSRRS5[R5 UR[
URSRRS5[R5 URSRRup#nURnUR[
U5[R5 URUR
S5 URURS5 URURS5 URUR S5 g)Nz%f"Here is that pesky {xxx:.3f} again"rTrrUrS��)rHrIr1rXrYr[r3r\r]r^r_rrr`rc�
end_linenorh�end_col_offset)rrN�_rM�names     r�(test_ast_numbers_fstring_with_formatting�1TestCase.test_ast_numbers_fstring_with_formattings����I�I�=�>������Q�V�V��a�(���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G��V�V�A�Y�_�_�+�+�
����z�z������d��S�X�X�.�������a�(�������!�,�������"�-�����,�,�b�1r"c�r�Sn[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 URURSRS5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 UR[URSRRSR5[5 UR[URSRRS5[R5 UR[URSRRS5[R5 UR[URSRRSR5[5 URURSRS5 URURSRRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URURSR S5 URURSRR S5 URURSRRSR S5 URURSRRSR S5 URURSRRSR S5 URSRRSRnUR[U5[R"5 UR[UR$5[R&5 UR[UR(5[R*5 UR[UR,5[R.5 URURS5 URUR$RS5 URUR,RS5 URUR S5 URUR$R S5 URUR,R S	5 S
n[R"U5nUR[U5[R5 UR[UR5S5 UR[URS5[R5 UR[URSR5[R5 UR[URSRR5S5 UR[URSRRS5[R5 URURSRS5 URURSRRS5 URURSRRSRS5 URURSRRSRS5 URURSRRSRS5 URURSR S5 URURSRR S5 URURSRRSR S5 URURSRRSR S5 URURSRRSR S
5 URURSRRSRRS5 URURSRRSRR0S5 URURSRRSRR S5 URURSRRSRR2S5 g)Nz?
a = 10
f'''
  {a
     *
       x()}
non-important content
'''
rSrrTrUrC�ryrVz$
a = f'''
          {blech}
    '''
rn�
r��)rHrIr1r3rWrXrYrZr[r\r]r^r_rrrr`rhrarbrcrdrerfrgr�r�ris    r�'test_ast_line_numbers_multiline_fstring�0TestCase.test_ast_line_numbers_multiline_fstring3s�����
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�*�*�5���������)�)�1�-�����a�f�f�Q�i��#�(�(�3�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�,�,�G�����a�f�f�Q�i�o�o�4�4�Q�7�=�=�>��D���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=���������-�-�q�1�����������3�3�Q�7�����������/�/��2�=�=�q�A�����������/�/��2�=�=�q�A�����������/�/��2�=�=�r�B����q�	���&�&�q�)�/�/������e��c�i�i�0�����e�j�j�)�3�8�8�4�����e�h�h�����2�����e�k�k�*�C�H�H�5�������q�)�������*�*�A�.�������+�+�Q�/�����)�)�1�-�������.�.��2�������/�/��3���

�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(�����a�f�f�Q�i��#�*�*�5�����a�f�f�Q�i�o�o�.��
�
�>�����Q�V�V�A�Y�_�_�3�3�4�a�8�����a�f�f�Q�i�o�o�4�4�Q�7�8�#�:L�:L�M���������)�)�1�-�����������/�/��3�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=�����������/�/��2�9�9�1�=���������-�-�q�1�����������3�3�Q�7�����������/�/��2�=�=�q�A�����������/�/��2�=�=�r�B�����������/�/��2�=�=�r�B�����������/�/��2�8�8�?�?��C�����������/�/��2�8�8�C�C�Q�G�����������/�/��2�8�8�C�C�R�H�����������/�/��2�8�8�G�G��Lr"c�l
�Sn[R"U5nUR[U5[R5 UR[UR5S5 URSRnUR[U5[R5 URURS5 URURS5 URURS5 URURS5 URSRRSnUR[U5[R5 URURS5 URURS5 URURS5 URURS5 URSRRSRnUR[U5[R5 URURS5 URURS5 URURS	5 URURS
5 Sn[R"U5nUR[U5[R5 UR[UR5S5 URupgURR Vs/sHnURUR4PM n	nUR#[%S
U	555 URR Vs/sHnURUR4PM n	nUR#[%SU	555 Sn[R"U5nUR[U5[R5 UR[UR5S5 URSRR Sn
UR[U
5[R5 UR[U
R5S5 U
Rup�n
UR[U5[R&5 URURS5 URURS5 URURS5 URURS5 URnUR[U5[R5 URURS5 URURS5 URURS5 URURS5 UR[U
5[R&5 URU
RS5 URU
RS5 URU
RS5 URU
RS5 URU
RS5 gs snfs snf)Nz
x = (
    f" {test(t)}"
)rTrrUrCr�rVr�rn�z�
x = (
    u'wat',
    u"wat",
    b'wat',
    b"wat",
    f'wat',
    f"wat",
)

y = (
    u'''wat''',
    u"""wat""",
    b'''wat''',
    b"""wat""",
    f'''wat''',
    f"""wat""",
)
        rSc3�,# �UH
nUS:Hv� M g7f))rCr�Nr��.0�offsets  r�	<genexpr>�BTestCase.test_ast_line_numbers_with_parentheses.<locals>.<genexpr>�����
�!��
�g��!���c3�,# �UH
nUS:Hv� M g7f))rC�Nrr�s  rr�r��r�r�zv
x = (
        'PERL_MM_OPT', (
            f'wat'
            f'some_string={f(x)} '
            f'wat'
        ),
)
r~r��rq�r�r	�)rHrIr1r3rWrXrYr]r^r[r�rhr�r_r`rg�eltsrL�allrr)rrMrN�	joinedstr�fvrzr4r5�elt�offsets�fstring�wat1�middle�wat2s              r�&test_ast_line_numbers_with_parentheses�/TestCase.test_ast_line_numbers_with_parentheses�s�����
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(��F�F�1�I�O�O�	�����i��#�-�-�8�����)�)�1�-�����-�-�q�1�����-�-�q�1�����1�1�2�6�
�V�V�A�Y�_�_�
#�
#�A�
&������b��3�#5�#5�6�������A�&��������*��������*�����*�*�B�/��v�v�a�y���%�%�a�(�.�.������d��S�X�X�.�������a�(�������!�,�������!�,�����,�,�b�1���&
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(��v�v���
�w�w�|�|�
�#���^�^�S�/�/�0�#�	�
�	
����
�!�
�
�	��w�w�|�|�
�#���^�^�S�/�/�0�#�	�
�	
����
�!�
�
�	�
��
�I�I�d�O������a��#�*�*�-�����Q�V�V��a�(��&�&��)�/�/�&�&�q�)������g���
�
�6�����W�^�^�,�a�0�$�^�^���d�����d��S�\�\�2�������a�(�������!�,�������"�-�����,�,�b�1��|�|������d��S�X�X�.�������a�(�������!�,�������"�-�����,�,�b�1�����d��S�\�\�2�������a�(�������!�,�������"�-�	
����,�,�b�1�����/�/��4��u
��
s�-"Z,�
"Z1c���Sn[R"U5nUR[U5[R5 UR[UR5S5 URSRnUR[U5[R5 UR[UR5S5 URSnUR[U5[R5 URnUR[U5[R5 UR[UR5S5 g)Nz
f'{expr:}'rTr)rHrIr1r3rWrXrYr]r^r_r`�format_spec)rrM�modr�r�r�s      r�"test_ast_fstring_empty_format_spec�+TestCase.test_ast_fstring_empty_format_spec�s������i�i��o������c��C�J�J�/�����S�X�X���*��(�(�1�+�#�#������g���
�
�6�����W�^�^�,�a�0�
�^�^�A�
������b��3�#5�#5�6��n�n������k�*�C�M�M�:�����[�/�/�0�!�4r"c��Sn[R"U5nUR[U5[R5 UR[UR5S5 URSRnUR[U5[R5 UR[UR5S5 URSnUR[U5[R5 URnUR[U5[R5 UR[UR5S5 URSnUR[U5[R5 URURRS5 Sn[R"U5nUR[U5[R5 UR[UR5S5 URSRnUR[U5[R5 UR[UR5S5 URSnUR[U5[R5 URnUR[U5[R5 UR[UR5S5 URSnUR[U5[R5 URURRS5 URSnUR[U5[R5 URURRS5 g)	Nz
f'{1:{name}}'rTrr�zf'{1:{name1}{name2}}'rS�name1�name2)
rHrIr1r3rWrXrYr]r^r_r`r��id)rrMr�r�r�r��format_spec_values       r�test_ast_fstring_format_spec�%TestCase.test_ast_fstring_format_specs������i�i��o������c��C�J�J�/�����S�X�X���*��(�(�1�+�#�#������g���
�
�6�����W�^�^�,�a�0�
�^�^�A�
������b��3�#5�#5�6��n�n������k�*�C�M�M�:�����[�/�/�0�!�4�'�.�.�q�1������/�0�#�2D�2D�E����*�0�0�3�3�V�<�&���i�i��o������c��C�J�J�/�����S�X�X���*��(�(�1�+�#�#������g���
�
�6�����W�^�^�,�a�0�
�^�^�A�
������b��3�#5�#5�6��n�n������k�*�C�M�M�:�����[�/�/�0�!�4�'�.�.�q�1������/�0�#�2D�2D�E����*�0�0�3�3�W�=�'�.�.�q�1������/�0�#�2D�2D�E����*�0�0�3�3�W�=r"c�|�SnURUR5 SnURUR5 g)Nc��g�Nrrr"r�f�"TestCase.test_docstring.<locals>.f8s��r"c��gr�rrr"r�g�"TestCase.test_docstring.<locals>.g;s��!r")�assertIsNone�__doc__)rr�r�s   r�test_docstring�TestCase.test_docstring7s2��	#����!�)�)�$�	�	
���!�)�)�$r"c��UR[S5 [R"S5 SSS5 g!,(df   g=f)Nzmalformed node or stringzf'x')r�
ValueErrorrH�literal_evalr?s r�test_literal_eval�TestCase.test_literal_eval@s.��
�
#�
#�J�0J�
K����V�$�L�
K�
K�s	�7�
Ac��S/nSn[R"U5n[USS5n[U5 UR	USS5 g)Nr.zx[0] = 'foo' f'{3}'rGr�foo3)rHrIrJrGr1)rr4rMrNrOs     r�test_ast_compile_time_concat�%TestCase.test_ast_compile_time_concatDsD��
�D��(���I�I�d�O���A�r�6�"���Q������1��v�&r"c�6�UR[SSS/5 g)Nz&cannot mix bytes and nonbytes literalszf'' b''zb'' f''�r�SyntaxErrorr?s r�test_compile_time_concat_errors�(TestCase.test_compile_time_concat_errorsMs �����K�D�+�+��	 r"c�p�URSS5 URSS5 URSS5 g)Nr.�a� �r1r?s r�test_literal�TestCase.test_literalTs2������b�!����1�s�#����1�s�#r"c�6�UR[S/SQ5 g)Nzunterminated string)zf'{"x'zf'{"x}'zf'{("x'zf'{("x}'r�r?s r�test_unterminated_string�!TestCase.test_unterminated_stringYs�����K�)>��	 r"zexhausts limited stack on WASIc�*�UR[SS/5 UR[SS/5 UR[SS/5 UR[SS/5 UR[SS	/5 UR[[S
5 g)Nz@closing parenthesis '\}' does not match opening parenthesis '\('zf'{((}'z@closing parenthesis '\)' does not match opening parenthesis '\['z	f'{a[4)}'z@closing parenthesis '\]' does not match opening parenthesis '\('z	f'{a(4]}'z@closing parenthesis '\}' does not match opening parenthesis '\['zf'{a[4}'zf'{a(4}'a�f'{((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((}')rr��assertRaisesrr?s r�test_mismatched_parens�TestCase.test_mismatched_parensas������K�*G�&��	 �	
���K�*G�(��	�	
���K�*G�(��	�	
���K�*G�'��	�	
���K�*G�'��	�	
���+�t�-C�Dr"c�~^�UR[SS/5 U4SjmUR[ST"S5/5 g)Nz'f-string: expressions nested too deeplyzf"{1+2:{1+2:{1+1:{1}}}}"c�4>�US:XagT"US-
5nSUS3$)Nrz1+1rTzf"{z}"r)�n�prev�create_nested_fstrings  �rr��FTestCase.test_fstring_nested_too_deeply.<locals>.create_nested_fstrings*����A�v��(��1��-�D��$��s�#�#r"ztoo many nested f-strings�r�)rr�s @r�test_fstring_nested_too_deeply�'TestCase.test_fstring_nested_too_deeplyysA������K�E�7�8�	:�	$�	
���K�7�2�3�7�8�	:r"c�4�UR[SS/5 g)N�invalid syntaxa�f"{1 1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:{f"1:r�r?s r�#test_syntax_error_in_nested_fstring�,TestCase.test_syntax_error_in_nested_fstring�s�����K�,�8�9�	;r"c���URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URS	S	5 URS
S
5 URSS5 URSS5 URS
S
5 URSS5 URSS5 URSS5 URSS3S5 URSS3S5 URSS3S5 URSS3S5 URSS3S5 URSS3S5 URSS3S5 URSS3S5 URSS5 UR[SS/5 g) N�{za{z{bza{b�}za}z}bza}bz{}za{}z{b}z{}cza{b}za{}cz{b}cza{b}cr�z{10z}10z}{z}{10z}a{z}a{10z10{z10}z10}{z}a{}z10}a{}z{{}}zunhashable typezf'{ {{}} }')r1r�	TypeErrorr?s r�test_double_braces�TestCase.test_double_braces�s������2��$����3��&����3��&����4�%�(����2��$����3��&����3��&����4�%�(����4�$�'����5�5�)����5�5�)����5�5�)����6�F�+����6�F�+����6�F�+����7�W�-����2�b�T��E�*����2�b�T��E�*����4��t��f�-����5����w�/����B�4�r��E�*����B�4�r��E�*����B�4�t��f�-����B�4�z�)�8�4�	
���F�8�f�-����I�'8�*��	 r"c�*�SnURSUS3S5 URSUS3S5 URSUSUS3S5 URS	U3S
5 URSU3S5 URS	U3S
5 URS
U3S5 URSU3S5 URSU3S5 URUS3S5 URUS5 URUS5 URUS5 URUS3S5 URSUS3S5 URSU3S5 URUSU3S5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 UR[SS/5 g)N�defzabc## �ghizabc## defghi�abc�	abcdefghi�4z
abcdefghidef z{x}z{x}defz{xz{xdefz{{x}}z{{x}}defz{{xz{{xdefzx}}zx}}defzdefx}}�2�def2�1�1def2�1def�-zdef-defr.z fz
expecting '}'z
f'{3' f"}"�r1rr��rr4s  r�test_compile_time_concat�!TestCase.test_compile_time_concat�s$��������Q�C�s�+�^�<�����!��e�+�[�9�����!��h�q��e�4�o�F�����!���x�0��������g�.�����!���x�0�����A�3���4�����!���x�0�����!���x�0����A�3���x�0����A�3�E�*����q�c�u�-����q�c�E�*����A�3���V�,������s�C���1������s��V�,����A�3�!�A�3���3������$�����B�'������+�����b�!������$�����R�(������+�	
���D�6�D�)����K��-��	 r"c���SS0nURSS5 URUSS5 UR[S/SQ5 UR[SS/5 URSS3S	5 URS
S3S5 URS
S3S5 URS
S3S5 URS
S3S5 UR[SS/5 g)N�#�hashz'{' was never closed)zf'{1#}'zf'{#}'zf'one: {1#}'z(f'{1# one} {2 this is a comment still#}'�f-string: unmatched '\)'zf'{)#}'zA complex trick: rSzA complex trick: 2�
�*z
42z
# this is not a comment
r�z
# this is not a comment
6�Vz
86�.f-string: valid expression required before '}'zf'''
{
# only a comment
}'''
r��r�ds  r�
test_comments�TestCase.test_comments�sL��
�&�M�����C�5�3�'����A�c�F�8�f�-����K�)?��	 �	
���K�)D�&��	 �	
���.��/���	�	
�������

�	�	
�������

�	�	
�������
(�		)�
	
�������
�		�	
���K�)Z���	 r"c�r�SSjnSnSn[SS5H*nUR[U"U55US-U-5 M, UR[U"S5S-5US-S	-5 U"S
S5nUR[U5US-S-5 S
S-nUR[U5S5 g)Nc��SSU--U-S-$)N�f'z{x} �'r)r��extras  r�
build_fstr�2TestCase.test_many_expressions.<locals>.build_fstrs���6�A�:�&��.��4�4r"r)rT�ir���i��z{x:{width}} �zf'{1}' 'x' 'y'i�1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy)r.)�ranger1r)rrr4�width�i�ss      r�test_many_expressions�TestCase.test_many_expressions
s���
	5�
�����s�C��A����T�*�Q�-�0�1�S�5�!�)�<�!�	
����j��o�c�1�2�Q�s�U�W�4E�F��s�N�+������a��1�S�5�#�+�.�
�t�#������a��,�/r"c	�@�SnSn[R"S5nURSX1SU33S5 URSX1<SU33S5 URSX1SSUS33S5 URSUS	S
SSUS33S5 URSUS	S
SSUS33S5 URSSS	S3S
5 URSSSS
S3S
5 URSSSSS
S3S5 URSSSS	SS3S5 URSSSSS0:g=(a US3S
5 URSX1S
SUS33S5 UR[SS/5 UR[SS/5 UR[SS/5 g)Nr�rCz12.34567zresult: �.zresult:      12.35�0r�rTrr�0xz
       0xar4i����r�z
      -0xarUr~zf-string: expecting ':' or '}'zf'{"s"!r{":10"}}'�0f-string: expecting a valid expression after '{'zf'{4:{/5}}'�&f-string: invalid conversion characterzf'{"s"!{"r"}}')�decimal�Decimalr1rr�)rr�	precisionr]s    r�!test_format_specifier_expressions�*TestCase.test_format_specifier_expressions#s�����	����
�+�����8�E�'��9�+�)=�#>�?�AU�V����8�E�)�1�Y�K�)?�#@�A�CW�X����8�E��)�1�Y�q�M�)A�#B�C�EY�Z����8�E�1�#�a��U�!�I�a�=�)@�#A�B�DX�Y����8�E�A�$��!�f�A�y��^�)C�#D�E�G[�\����B�q���2�g�;��6����B��u�A�a�S���o�.��>����C��#��a��s�!�|�,�|�<����C���Q�q�c��3�%�/�0�<�@����B�q��q��e��!5�� 6�a�7�8�<�H����8�E�!��+�Q�y��m�)C�#D�E�G[�\����K�)I�4��	 �
	
���K�N�*��	 �	
���K�)Q�2��	 r"c��"SS5nURU"5SS5 URU"5SS5 UR[5 [SSU05 SSS5 g!,(df   g=f)Nc��\rSrSrSrSrg)�;TestCase.test_custom_format_specifier.<locals>.CustomFormatiEc��U$r�r)rr�s  rr �FTestCase.test_custom_format_specifier.<locals>.CustomFormat.__format__Fs��"�"r"rNr#rr"r�CustomFormatr/Es��
#r"r2ru☃uf"{F():¯\_(ツ)_/¯}"�F)r1�assertWarns�
SyntaxWarningrG)rr2s  r�test_custom_format_specifier�%TestCase.test_custom_format_specifierDsf��	#�	#�	
���L�N�2�.��6����L�N�6�2�U�;�
�
�
�m�
,��*�S�,�,?�@�-�
,�
,�s�A*�*
A8c�T�"SS5nU"5nURUSU3S5 g)Nc� �\rSrSrSrSrSrg)�*TestCase.test_side_effect_order.<locals>.XiOc��SUlg)Nr�rr?s rr@�3TestCase.test_side_effect_order.<locals>.X.__init__Ps	����r"c�V�U=RS-
sl[UR5$)NrT)rrrs  rr �5TestCase.test_side_effect_order.<locals>.X.__format__Rs�����!����4�6�6�{�"r"r<N)r$r%r&r'r@r r(rr"rr)r:Os��
�
#r"r)r�z1 2r�)rr)r4s   r�test_side_effect_order�TestCase.test_side_effect_orderNs/��	#�	#�
�C�����A�3�a��s��U�+r"c��UR[S/SQ5 UR[S/SQ5 UR[S/SQ5 UR[S/SQ5 UR[S	S
S/5 g)Nr
)zf'{}'z
f'{ }'f' {} 'zf'{10:{ }}'zf' { } 'z
f'''{	
}'''z.f-string: valid expression required before '!')zf'{!r}'zf'{ !r}'zf'{!}'zf'''{	
!a}'''zf'{!'zf'{!s:'zf'{!x}'z	f'{ !xr}'zf'{!x:}'z	f'{!x:a}'z
f'{ !xr:}'zf'{ !xr:a}'z.f-string: valid expression required before ':')zf'{:}'zf'{ :!}'zf'{:2}'zf'''{	
:a}'''zf'{:'zF'{[F'{:'}[F'{:'}]]]z.f-string: valid expression required before '=')zf'{=}'zf'{ =}'zf'{ =:}'z
f'{   =!}'zf'''{	
=}'''zf'{='z'invalid non-printable character U\+00A0uf'''{ }'''� r�r?s r�test_missing_expression� TestCase.test_missing_expressionYs������K�L�	�	 �	
���K�L��	 �,	
���K�L��	 �	
���K�L��	 �	
���K�)S�,�#��	 r"c��URSS5 UR[SS/5 UR[SS/5 g)N)rUz(3,)r&zf'{,}'rz
f'{3)+(4}'r�r?s r�test_parens_in_expressions�#TestCase.test_parens_in_expressions�sL�����B�4�&�)����K�N�%��	 �
	
���K�)D�)��	 r"c�6�UR[S/SQ5 g)Nr&)zf'{.}'z
f'{.}'z

f'{.}'r�r?s r�!test_newlines_before_syntax_error�*TestCase.test_newlines_before_syntax_error�s�����K�N�4�	6r"c�^�URSS5 URSS5 URSS5 URSS3S5 URSSS3S5 URSS3S5 URSS5 URS	S	5 URS	S	5 URSS3S
5 URSSS3S5 URSS3S5 URSS5 URS
S
5 URS
S
5 URSS3S
5 URSSS3S5 URSS3S5 URSS5 URSS3S
5 URSSS3S5 URSS3S5 URS
S
5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS3S5 URSSS3S5 URSS3S5 URSS5 URSS5 URSS5 UR[5 [S5nSSS5 URWS5 UR[5 [S5nSSS5 URUS5 URSS3S5 URSS3S5 SnURSS5 URSU3S5 URSU3S5 URSS5 g!,(df   N�=f!,(df   N�=f)N�	z\trSz2	rUz2	3z	3uΔz\u0394u2Δu2Δ3uΔ3z
\U00000394r�z\x20z2 z2 3z 3z	f'\{6*7}'z\42zf'\g'z\g�\r�spam�&z\Nz\Nspamz\&)r1r4r5r)rr]�	AMPERSANDs   r�test_backslashes_in_string_part�(TestCase.test_backslashes_in_string_part�s������2��%������&����B��'����A�3�b��5�)����A�3�b����f�-����2�a�S��5�)����6�H�-�����I�.����F�Y�/����A�3�f��y�1����A�3�f�Q�C��*�5����6�!���y�1����:��1�����
�6����J��7����A�3�j�)�9�5����A�3�j���,�j�9����:�a�S�)�9�5����9�H�E����A�3�<�=�y�I����A�3�<�Q�C�@�*�M����9�!��=�y�I����:�Y�G����;�j�I����:�Y�G����4�#�&�����'�*����D�7�+����A�3�d��T�*����A�3�d�1�#���.����4��s��T�*����5�4�(����6�E�*����5�4�(�
�
�
�m�
,���&�E�-������'�
�
�
�m�
,���N�E�-������&����2�c�U��V�,����A�c�U��V�,��	�	
���=�3�/����3�y�k�*�I�6����B�y�k�*�I�6����?�U�3�-�
,��-�
,�s�1N
�,N�
N�
N,c�6�UR[S/SQ5 g)Nzi\(unicode error\) 'unicodeescape' codec can't decode bytes in position .*: malformed \\N character escape)
zf'\N'zf'\N 'zf'\N  'zf'\N{'z f'\N{GREEK CAPITAL LETTER DELTA'z'\N'z'\N 'z'\N  'z'\N{'z'\N{GREEK CAPITAL LETTER DELTA'r�r?s r�%test_misformed_unicode_character_name�.TestCase.test_misformed_unicode_character_name�s��	
���K�*V�
�	 r"c���URSS5 URSS5 URSS5 URSS5 UR[SS/5 g)NrU�3r�r
zf'{
}'r�r?s r�#test_backslashes_in_expression_part�,TestCase.test_backslashes_in_expression_part�su��������	�
	
���1�3�7����4�5��<����5�6��=����K�L�&��	 r"c	��SVVs/sHnSHnURUS9PM M nnnUR[SU5 gs snnf)N)z{expr}z
f'{{{expr}}}'zrf'{{{expr}}}')z\'a\'z\t3rN)rMz,unexpected character after line continuation)r2rr�)r�
formattingrM�casess    r�/test_invalid_backslashes_inside_fstring_context�8TestCase.test_invalid_backslashes_inside_fstring_contextsd��
�
��
�
��

���4��(��

)��	�
�	
���K�)W�!�	#��
s�#Ac��URSS5 URSS5 URSS5 URSS5 g)z0
Only literal curly braces begin an expression.
z{1+1}z{1+1Nr�r?s r�test_no_escapes_for_braces�#TestCase.test_no_escapes_for_bracessE��
	
���9�w�/����7�V�,����9�v�.����K�g�Vr"c�P�URSS5 URSS5 g)Nrr$rV�7r�r?s r�test_newlines_in_expressions�%TestCase.test_newlines_in_expressions!s/�����A�3��%���� ��
�	r"c��^�SmURU4Sj"S5<S5 URU4Sj"S5<SS5 URU4Sj"S5SS	5 UR[S
/SQ5 UR[S5 [	S
SS5 SSS5 UR[S5 [S5 SSS5 g!,(df   N9=f!,(df   g=f)Nr~c�>�TU-$r�r�r5r4s �rr,�&TestCase.test_lambda.<locals>.<lambda>(�	���a��cr"�8z'88888'c�>�TU-$r�rris �rr,rj)rkr"�10z
'88888'   c�>�TU-$r�rris �rr,rj*rkr"z
88888     z@f-string: lambda expressions are not allowed without parentheses)zf'{lambda x:x}'zf'{lambda :x}'zf'{lambda *arg, :x}'zf'{1, lambda:x}'zf'{lambda x:}'z
f'{lambda :}'r�z)lambda name_3=f'{name_4}': {name_3}
1 $ 1�<string>rGr&zf'{+ lambda:None}')r1rr�rrJrrs @r�test_lambda�TestCase.test_lambda&s����
�����\�3�/�2�Y�?����\�3�/�5�"�5��E����\�3�/��3�l�C�
	
���K�2��		 ��
#�
#�K�1A�
B��@�*�f�U�C��
#�
#�K�1c�
d��%�&�e�
d�	C�
B��e�
d�s�C�:C �
C� 
C.c�v�URSS5 URSS5 URSS5 g)NrTr�rSr�rUrXr�r?s r�test_valid_prefixes�TestCase.test_valid_prefixesBs8�����A�3��%����Q�C�#�&����Q�C�#�&r"c��URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 g)Nz\'z\"z\"\'z\'\"z\"\'\"z\'\"\'z\"\'\"\'r�r?s r�test_roundtrip_raw_quotes�"TestCase.test_roundtrip_raw_quotesGss�����B��'����B��'����D�9�-����D�9�-����F�\�2����F�]�3����H�'7�8r"c���/SQnUHXup#URX#S9 UR[5 [U5nSSS5 UR	WU5 SSS5 MZ UR	SS5 UR	SS5 UR	SS3S5 UR	SS3S5 UR	SS3S	5 g!,(df   N�=f!,(df   M�=f)
N))z	f'\{{\}}'�\{\})�f'\{{'�\{)zf'\{{{1+1}'�\{2)zf'\}}{1+1}'�\}2)zf'{1+1}\}}'�2\})�case�expected_resultrzr|rSr}z\}r~r)r
r4r5rr1)r�deprecated_casesr�r��results     r�,test_fstring_backslash_before_double_bracket�5TestCase.test_fstring_backslash_before_double_bracketPs���
��&6�!�D����4��I��%�%�m�4�!�$�Z�F�5�� � ���9�J�I�&6�
	
���F�X�.����C�%�(����C��u��v�.����C��u��v�.����S�E���v�.�5�4��J�I�s!�C�C�C�
C�C�
C'	c��UR[5n[S5 SSS5 UR[	WR
5S5 URUR
SR[5 g!,(df   Na=f)Nr{rTr)r4r5rr1rX�warnings�category)r�ws  r�7test_fstring_backslash_before_double_bracket_warns_once�@TestCase.test_fstring_backslash_before_double_bracket_warns_oncecs]��
�
�
�m�
,����O�-�����Q�Z�Z��!�,�������A��/�/��?�-�
,�s�A=�=
Bc��URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 g)NrNz\\z\\\\r�r?s r�!test_fstring_backslash_prefix_raw�*TestCase.test_fstring_backslash_prefix_rawis������2��%����4�&�)����B��'����D�7�+����B��'����D�7�+����B��'����D�7�+����B��'����D�7�+����B��'����D�7�+r"c�b�URSSS3S5 URSSS3S3S5 g)NrTr.r�z1}z>3r~z$                                  1}r�r?s r�(test_fstring_format_spec_greedy_matching�1TestCase.test_fstring_format_spec_greedy_matchingws9�����A�Q�4�r��D�)����A�b���V�9�B��)O�Pr"c��SnU"S5nUR[U5S5 UR[U5S5 g)Nc3�*# �SUS-v�3 Sv� g7f)Nzy:rSr)r5s r�fn�TestCase.test_yield.<locals>.fn~s����q��s�����g�s�rCrn)r1�next)rr�r�s   r�
test_yield�TestCase.test_yield{s:��	�
�q�E������a��!�$�����a��$�'r"c��SnU"S5n[U5nURU"S5S5 URURS5S5 g)Nc3�(^# �SU4Sjv�3v� g7f)N�x:c�>�TU-$r�r)rr4s �rr,�6TestCase.test_yield_send.<locals>.fn.<locals>.<lambda>�s	����A�r"r�r4s`rr��$TestCase.test_yield_send.<locals>.fn�s�����o�.�/�0�0�s�r�rC�(�stringzx:string)r�r1�send)rr�r��
the_lambdas    r�test_yield_send�TestCase.test_yield_send�sH��	1�
�r�F���!�W�
�����A���+��������)�:�6r"c�4�URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 g)Nr4zeric'szxeric"syzxeric"szeric"syr�r?s r�+test_expressions_with_triple_quoted_strings�4TestCase.test_expressions_with_triple_quoted_strings�s������G�9�s�+����L�>�H�5�	
���0�1�J�?����,�-�	�:����,�-�	�:����4�5�
�C����8�9�J�G����9�:�Z�Hr"c��SnSnURUU3S5 URSUU3S5 URUSU3S5 URUUS3S5 URSUSU3S	5 URSUUS3S
5 URUSUS3S5 URSUSUS3S
5 g)N�br��98abcr)�X98abc�98Xabc�98abcX�Y�X98Yabc�X98abcY�98XabcY�Z�X98YabcZr��rr4r5s   r�test_multiple_vars�TestCase.test_multiple_vars�s����������A�3�q�c��G�,����1�Q�C��s��X�.����A�3�a��s��X�.����A�3�q�c���X�.����1�Q�C�q����i�0����1�Q�C��s�!��i�0����A�3�a��s�!��i�0����1�Q�C�q���1��z�2r"c�~�SnURU"S5"5S5 URU"S5"5S5 g)Nc�^�U4SjnU$)Nc�>�ST3$)Nr�rr�s�r�inner�3TestCase.test_closure.<locals>.outer.<locals>.inner�s����A�3�x�r"r)r4r�s` r�outer�$TestCase.test_closure.<locals>.outer�s
���
 ��Lr"�987zx:987rVzx:7r�)rr�s  r�test_closure�TestCase.test_closure�s5��	�
	
����u����1�����q���U�+r"c�~^�SmU4SjnURU"SS5S5 SnURU"SS5S5 g)NrSc�>�SUT-U3$�N�x=r)r4rr5s  �rr��"TestCase.test_arguments.<locals>.f�s�����!��U�G�}�%�%r"�foor�zx=foofoo    �barzx=        20r�)rr�r4r5s   @r�test_arguments�TestCase.test_arguments�s@���
��	&�	
����5�"��~�6�������2�r��N�3r"c�2�SnURSU3S5 g)N�{�v:zv:123r�)rr]s  r�test_locals�TestCase.test_locals�s�������2�e�W��w�/r"c�t�UR[5 S[3 SSS5 g!,(df   g=f)Nr�)r��	NameErrorr]r?s r�test_missing_variable�TestCase.test_missing_variable�s%��
�
�
�y�
)����L�*�
)�
)�s�
)�
7c��"SS5nURU"5SS5 URU"5S5 URU"5SS5 URSSS5 URS<SS5 g)Nc��\rSrSrSrSrg)�,TestCase.test_missing_format_spec.<locals>.Oi�c��U(dgU$)N�*rrs  rr �7TestCase.test_missing_format_spec.<locals>.O.__format__�s
�����r"rNr#rr"r�Or��s��
r"r�r4r�r.rUrXr�)rr�s  r�test_missing_format_spec�!TestCase.test_missing_format_spec�sx��	�	�	
���A�C��7�S�)����A�C�5�3�'����A�C�q�6�C�(����A�Q�4�#�&����A�6�q�6�C�(r"c�B�URS[3S5 URS[<3S5 SnURS[SU3S5 URS[<3S5 URS[SU<3S5 URS[5 g)	N�g:zg:global variablezg:'global variable'�local variable� l:z"g:global variable l:local variablez$g:global variable l:'local variable'zmodule 'unittest' from)r1�a_global�assertIn�unittest)r�a_locals  r�test_global�TestCase.test_global�s������2�h�Z��*=�>����2�h�\�*�,A�B�"�����2�h�Z�s�7�)�4�=�	?����2�h�\�*�.�	0����2�h�Z�s�7�+�6�?�	A�	
�
�
�.�8�*�>r"c���SnURSU3S5 URSU<3S5 SnURSUSU3S5 URSU<3S5 URSUSU<3S5 g)	Nzreally a localr�zg:really a localzg:'really a local'r�r�z!g:really a local l:local variablez#g:really a local l:'local variable'r�)rr�r�s   r�test_shadowed_global�TestCase.test_shadowed_global�s���#�����2�h�Z��*<�=����2�h�\�*�,@�A�"�����2�h�Z�s�7�)�4�<�	>����2�h�\�*�-�	/����2�h�Z�s�7�+�6�>�	@r"c�<�SnURU"S5S5 g)Nc��S[U5-$r�rr�s rr��TestCase.test_call.<locals>.foo�s���#�a�&�=� r"r�zx=10r�)rr�s  r�	test_call�TestCase.test_call�s��	!�	
���C��G�9�v�.r"c�d�SnURSS-S5 URUS-S5 g)Nr~rrU�000�555r�)rr5s  r�test_nested_fstrings�TestCase.test_nested_fstrings�s7��
�����q�c�1�H�:��.����q�c�1�H�:��.r"c��/SQnUVs/sHo"RSS5PM nnUR[SX-5 gs snf)N)zfu''zuf''zFu''zfU''zUf''zuF''zufr''zurf''zfur''zfru''zrfu''zruf''zFUR''zFur''zfb''zfB''zFb''zFB''zbf''zbF''zBf''zBF''r�"r�)�replacerr�)r�single_quote_casesr��double_quote_casess    r�test_invalid_string_prefixes�%TestCase.test_invalid_string_prefixes�sN��&��,BT�T�AS��l�l�3��4�AS��T����K�)9�.�C�	E��Us�Ac	�\�URSS5 URSS5 URSS5 URSS5 URSSVVs0sHupX_M	 snn3S5 URSSVVs0sHupX_M	 snn3S5 gs snnfs snnf)NrUrXzexpr=))rTrSzexpr={1: 2}r�r�s   r�test_leading_trailing_spaces�%TestCase.test_leading_trailing_spacess������Q�4�#�&����a�5�3�'����A�4�#�&����A�5�3�'����5�J�"?�J�D�A�1�4�J�"?� @�A�&�	(����5�J�"?�J�D�A�1�4�J�"?� A�B�&�	(��#@��"?s�B"�B(c��URSS:gS5 URSS:gSS5 URSS:g<S5 URSS:g<SS5 g)NrUrC�Truer.z.3�Trur�r?s r�test_not_equal�TestCase.test_not_equalsb��
	
���A�q�D�6�F�+����A�q�D��7�V�,����A�q�D�8�f�-����A�q�D�;�2�;��/r"c�0�URSS:HS5 g)NrrT�Falser�r?s r�test_equal_equal�TestCase.test_equal_equal(s��	
���A�q�D�6�G�,r"c�F�URSSS5 URS<SS5 URS<SS5 URS<SS5 URSS5 URS<S5 URS<S5 URS<S	5 URS<SS5 URS
S
5 URSSS5 UR[S
/SQ5 UR[S/SQ5 SH$nUR[SU-SU-S-/5 M& SH!nUR[SSU-S-/5 M# SH!nUR[SSU-S-/5 M# UR[S/SQ5 g)Ng��Q�	@z10.10z
      3.14g�?z
1.25      r�z'a'rUrXza!rz!<10.10z
3.14!!!!!!�f-string: expecting '}')�f'{3!'�f'{3!s'zf'{3!g'z&f-string: missing conversion character)zf'{3!}'zf'{3!:'zf'{3!:}')r��A�G�äuɐzDf-string: invalid conversion character %r: expected 's', 'r', or 'a'zf'{3!z}')rX�!r')z sz s zDf-string: conversion type must come right after the exclamation markzFf-string: invalid conversion character 'ss': expected 's', 'r', or 'a')z	f'{3!ss}'z
f'{3!ss:}'zf'{3!ss:s}'r�)r�conv_identifier�conv_non_identifier�convs    r�test_conversions�TestCase.test_conversions.s������D��<�,�7����D�>�5�>�L�9����D�>�5�>�L�9����D�>�5�>�L�9����C�5�3�'����C�7�U�+����C�7�U�+�	
���A�7�S�)����D�+�U�+�l�;�	
���E�7�U�+�	
���D��>�L�9����K�)B��	 �	
���K�)Q��	 � 9�O�����!<�>M�!N�!(�?�!:�T�!A� B�
D� 9�$,������ H�!(�+>�!>��!E� F�
H�$,�
 �D�����!4�!(�4��$�!6� 7�
9� �	
���K�8��	 r"c�6�UR[S/SQ5 g)Nr�)zf'' = 3z
f'{0}' = xz
f'{x}' = xr�r?s r�test_assignment�TestCase.test_assignmenths�����K�):��	 r"c�6�UR[SSS/5 g)Nr�zdel f''z
del '' f''r�r?s r�test_del�TestCase.test_delos �����K�)9�&�)��	 r"c�@�UR[S/SQ5 UR[S/SQ5 UR[SS/5 URSS5 URSS5 URS	SS
3S5 URSSS
3S
5 g)Nz#f-string: single '}' is not allowed)zf'{{}'zf'{{}}}'zf'}'zf'x}'zf'x}x'z
f'\u007b}'zf'{3:}>10}'zf'{3:}}>10}'r)zf'{3'r	zf'{3:'r
zf'{3!s:'z	f'{3!s:3'zf'x{'zf'x{x'zf'{x'zf'{3:s'zf'{{{'zf'{{}}{'zf'{'zf'{i='r&zf'{3:{{>10}'r�r�rUz>10z
}}}}}}}}}3rSz
{{{{{{{{{2)rr�r1r?s r�test_mismatched_braces�TestCase.test_mismatched_bracesus������K�)N�
�	 �	
���K�)B��	 �"	
���K�N�+��	 �	
���C�5�3�'����C�5�3�'����A�s�e�3�Y�<�,�7����A�s�e�3�Y�<�,�7r"c�^�U4SjnU4SjnU4SjnU"SS5 U"SS5 U"SS5 U"SS5 U"SS5 U"SS5 g)Nc�F>�SnU(aSnOSnTRX!5 g�NrrTrSr��r4�expected�flagrs   �r�test_fstring�2TestCase.test_if_conditional.<locals>.test_fstring�s'����D���v��������T�,r"c�F>�SnU(aSnOSnTRX!5 grr�r s   �r�test_concat_empty�7TestCase.test_if_conditional.<locals>.test_concat_empty�s'����D��C�y��������T�,r"c�J>�SnSU3(aSnOSnTRX!5 g)Nrr�rTrSr�r s   �r�test_concat_non_empty�;TestCase.test_if_conditional.<locals>.test_concat_non_empty�s)����D��a�S�z��������T�,r"r.rSr�rTr)rr#r&r)s`   r�test_if_conditional�TestCase.test_if_conditional�sP���
	-�	-�	-�	�R����S�!���"�a� ��#�q�!��b�!�$��c�1�%r"c��SnURUS5 URUSS5 URU<SS5 URU<SS5 g)N�testr.z'test'r�rs  r�test_empty_format_specifier�$TestCase.test_empty_format_specifier�sY�������A�3��(����A�Q�4�&�)����A�6�q�6�F�+����A�6�q�6�H�-r"c��SSS.nSnURUSS5 URUSS5 URXS5 URSRUS9S5 URSRUS9S5 g)	Nr��integer)r�rrr�z{d[a]})rz{d[0]})r1r2)rrr�s   r�test_str_format_differences�$TestCase.test_str_format_differences�s�����
��
�����A�a�D�6�I�.����A�c�F�8�h�/����A�D�6�I�.�������1��-�x�8�������1��-�y�9r"c�h�UR[SSS/5 UR[SSS/5 g)N�unsupportedzf'{(lambda: 0):x}'zf'{(0,):x}'zUnknown format codezf'{1000:j}')rr�r�r?s r�test_errors�TestCase.test_errors�s?�����I�}�2�+��	 �	
���J�(=�+�+��	r"c�V�[5n[RRUS5n[	USSS9nURS5 SSS5 [
USS9u pESSS5 URWRSS5W5 g!,(df   NF=f!,(df   NB=f)	Nzt.pyr��utf-8)�encodingzf"{a b}"�ascii)�PYTHONIOENCODING�backslashreplace)	r�os�path�join�open�writerr��encode)r�cwd�	file_pathr�r��stderrs      r�test_filename_in_syntaxerror�%TestCase.test_filename_in_syntaxerror�s���
�Z�3������S�&�1�I��i��w�7�1����
�#�8�0��BI�K�L�A�q�	�	
�
�
�i�&�&�w�0B�C�V�L�	8�7���Z�s"�,B�B	�	B�	
B	�B�
B(c�j�[S5H$nURSU3S[U5-5 M& g)Ni�zi:)rr1r)rrs  r�	test_loop�TestCase.test_loop�s.���t��A����r�!��X�t�c�!�f�}�5�r"c��SSSS.nURUSS5 URUSS5 URUSS5 URUSS5 g)N�dquote�squoter�)r�rr�rr�r�r�rs  r�	test_dict�TestCase.test_dict�sl�����
��	
���a��f�X�(�3����a��f�X�(�3����A�e�H�:��.����A�e�H�:��.r"c�p�UR[S5S5 UR[S5S5 g)Nzf"\
"r.zf"\
")r1rr?s r�test_backslash_char�TestCase.test_backslash_char�s,��	
����i��"�-�����i��"�-r"c	�T^�SmURST<3S[T5-5 URST<3S[T5-5 URST<3S[T5-5 URST<3S[T5-5 URST<3S[T5-5 SmURSTS3S[	TS5-5 URSTS3S[	TS5-5 URST<S3S[	[T5S5-5 URST<S3S[	[T5S5-5 URST<S3S[	[T5S5-5 SmURS	S
T-S-<3S5 S
nURSUS3S5 URSS<3S5 URSSS3SS5 SnURSU<S3S5 URSS
<3S5 URSS:HS 5 URSS:gS!5 URSS:*S!5 URSS:�S 5 URS"=mS"5 URTS"5 URS#=mS"5 URTS#5 URS$S$5 S%mURTS&S'5 U4S(jnSmURU"S)S*9S+5 URTS)5 URU"S,S*9S)5 URTS,5 S%nURS-S.U<3S/5 UR[
R
R
5S0U<S1U<S2U<3S35 "S4S55nURS6U"5<3S75 URS6U"5<3S75 URS6U"5S3S85 URS6U"5S93S:5 URS6U"5S;3S<5 URS6U"5<S3S=5 URU"5S>S%<3S?5 UR[[S@5 SAmURSBT<SC3SB[T5-SC-5 URSDT<SC3SD[T5-SC-5 URSET<SC3SE[T5-SC-5 URSFT<SC3SF[T5-SC-5 URSGS-S-SHSI33SJ5 URSKS
<3SL5 URSMSN<3SO5 URSPSQ<3SR5 URSSST<3SU5 URSVSW<3SX5 URSYSY5 g)ZNzA stringr�zx =g����	�@z.2fr.z^20�	z3*x+15=rUr�z	3*x+15=42gffffff?@utenπ=utenπ=31.40u"Σ"=uΣu	"Σ"='Σ'z3.1415=go���!	@z.1fz*^20z*****3.1415=3.1*****uπualpha α pi=u	 ω omegaualpha α pi='π' ω omegaz
3
=z
3
=3rrTrr��5r~�=��=10�
        20c�>�TnUmU$r�r)r��oldxr4s  �rr��)TestCase.test_debug_conversion.<locals>.f<s����D��A��Kr"z3=)r�r$rCrSzy=�yyyyyyyyyyyyyyyyyyy2zh1y=zh2y=zh3y=zh1y=20h2y=20h3y=20c� �\rSrSrSrSrSrg)�)TestCase.test_debug_conversion.<locals>.CiNc��SU3$)NzFORMAT-r)rrs  rr �4TestCase.test_debug_conversion.<locals>.C.__format__Os�� ���}�$r"c��g)N�REPRrr?s r�__repr__�2TestCase.test_debug_conversion.<locals>.C.__repr__Qs��r"rN)r$r%r&r'r rfr(rr"r�CraNs��
%�
r"rhzC()=zC()=REPRzC()=FORMAT-r�zC()=FORMAT- r4zC()=FORMAT-xzC()=********REPR********z20=zFORMAT-20=20zf'{C=]'r�zXx=r�zXx  =zXx=  zXx  =  zsadsd 1 + 1 =  �1dr�zsadsd 1 + 1 =  2.000000z	1+2 = 
  z
1+2 = 
  3z""" # booo
  """=z
 # booo
  z""" # booo
  """=' # booo\n  'z" # nooo "=z # nooo z" # nooo "=' # nooo 'z" \" # nooo \" "=z " # nooo " z" \" # nooo \" "=' " # nooo " 'z 
  """hello"""=�helloz 
  """hello"""='hello'z!# this is not a comment
        a)
r1�reprrr<r2�datetime�nowr�r�r)r�tenπ�pir�r5rhr4s      @r�test_debug_conversion�TestCase.test_debug_conversions��������B�A�4��$��a��.�1����C�A�5��5�4��7�?�3����B�A�6��D�3�q�6�M�2����B�A�6��D�4��7�N�3����B�A�6��D�5��8�O�4������B�A�s�8��d�V�A�u�-=�&=�>����B�A�a�5��4�&��B�-�#7�8����B�A�:��:���v�d�1�g�u�/E�(E�F����B�A�:��:���v�c�!�f�e�/D�(D�E����B�A�:��:���v�e�A�h��/F�(F�G�
�����G�A�a�C��F�9��{�3������F�E�3�<��-�8�	
���E�D�7��]�3�	
���w�v�s�m�,�T�2�5K�L������=�R�E��3�5P�Q�	
��������	�	
���A�q�D�6�G�,����A�q�D�6�F�+����A�q�D�6�F�+����A�q�D�6�G�,�����V�Q�:��,�����C� �����T�Q�8�c�*�����A�����C�5�3�'���	
���A�c�7�\�2�	�

�����A��I�;��-�����D�!����A��F�8�d�+�����A��
�����A�r�q�d�U�8�&<�=����H�-�-�1�1�3�E�q�d�%�Q�D��1�$�3F�G�-�	/�	�	�	
���D�A�C�6��J�/����D�A�C�8��j�1����D�A�C��7��]�3����D�A�C��8��n�5����D�A�C��8��n�5����D�A�C�=�4�=�)�+E�F����A�C����v�;��8����+�t�Y�7�
�����4�Q�D���E�$�q�'�M�#�$5�6�	
���6�Q�F�!��g�d�1�g�o�c�&9�:����6�Q�F�!��g�d�1�g�o�c�&9�:����8�Q�H�A��	�$�q�'�(9�#�(=�>����+�%�U�2�J�a�<�!8�9�;T�U�����C����	�	
������	�
.�	0�	
���K�J�=�)�+D�E����-�,�.�/�1V�W�����
���/�	1����
�
�0�	2r"c�~�[R"5 [R"S[5 UR	[S5S5 SSS5 UR	SS<3S5 UR	SS<3S	5 UR	S
S<3S5 UR	S
S<3S5 g!,(df   Ng=f)N�ignorezf'{b"\N{OX}"=}'zb"\N{OX}"=b'\\N{OX}'zr"\xff"=z\xffzr"\xff"='\\xff'zr"\n"=�\nzr"\n"='\\n'z'\''=rz'\''="'"z'\xc5'=�Åu'\xc5'='Å')r��catch_warnings�simplefilterr5r1rr?s r�&test_debug_expressions_are_raw_strings�/TestCase.test_debug_expressions_are_raw_strings�s���
�
$�
$�
&��!�!�(�M�:����T�"8�9�;V�W�'�	
���H�G�:��(>�?����F�E�8��&8�9����E�D�7��]�3����G�F�9��~�6�
'�
&�s�7B.�.
B<c�~�SnURUSS5 URS=nS5 URUS5 g)NrYrZr[r�rnr�rs  r�test_walrus�TestCase.test_walrus�sE����	
���A�c�7�\�2�	
����U�Q�9�t�,�����B�r"c�~�UR[S5 [SSS5 SSS5 g!,(df   g=f)N�/f-string: expecting '=', or '!', or ':', or '}'z
f'{a $ b}'�?rG�rr�rJr?s r�!test_invalid_syntax_error_message�*TestCase.test_invalid_syntax_error_message�s5��
�
#�
#�K�$U�W��L�#�v�.�W�W�W�s�.�
<c��[R"S5nUR[U5 SS SSS5 g!,(df   g=f)NzCannot specify ',' with ','.rTz,,��re�escaperr��r�	error_msgs  r�(test_with_two_commas_in_format_specifier�1TestCase.test_with_two_commas_in_format_specifier��4���I�I�<�=�	�
�
#�
#�J�	�
:���f�;�
:�
:��	�;�
A	c��[R"S5nUR[U5 SS SSS5 g!,(df   g=f)NzCannot specify '_' with '_'.rT�__r�r�s  r�,test_with_two_underscore_in_format_specifier�5TestCase.test_with_two_underscore_in_format_specifier�r�r�c��[R"S5nUR[U5 SS SSS5 g!,(df   g=f)N� Cannot specify both ',' and '_'.rTz,_r�r�s  r�8test_with_a_commas_and_an_underscore_in_format_specifier�ATestCase.test_with_a_commas_and_an_underscore_in_format_specifier��4���I�I�@�A�	�
�
#�
#�J�	�
:���f�;�
:�
:�r�c��[R"S5nUR[U5 SS SSS5 g!,(df   g=f)Nr�rTz_,r�r�s  r�7test_with_an_underscore_and_a_comma_in_format_specifier�@TestCase.test_with_an_underscore_and_a_comma_in_format_specifier�r�r�c��UR[S5 [SSS5 SSS5 UR[S5 [SSS5 SSS5 g!,(df   N;=f!,(df   g=f)Nz!can't use starred expression herezf'{*a}'rrGr&zf'{**a}'r�r?s r�)test_syntax_error_for_starred_expressions�2TestCase.test_syntax_error_for_starred_expressions�sj��
�
#�
#�K�1T�
U��I�s�F�+�V��
#�
#�K�$V�X��J��V�,�X�X�V�
U��X�X�s�A�A+�
A(�+
A9c�&�UR[SSS/5 UR[SSS/5 Sn[USS	5 g![aBnURURS
5 URUR
S5 SnAgSnAff=f)Nzunterminated f-string literalzf"rz+unterminated triple-quoted f-string literalzf"""zf'''zNx = 1 + 1
y = 2 + 2
z = f"""
sdfjnsdfjsdf
sdfsdfs{1+
2} dfigdf {3+
4}sdufsd""
rrGzz = f"""rU)rr�rJr1�textr[)r�data�es   r�test_not_closing_quotes� TestCase.test_not_closing_quotes�s������K�)H�4�QU�,�W����K�)V�#�V�,�	.���	*��D�#�v�&���	*����Q�V�V�Z�0����Q�X�X�q�)�)��	*�s�
A�
B�8B�Bc�h�UR[S/SQ5 UR[SSS/5 g)Nr&)z	f'{1=}{;'z
f'{1=}{+;'zf'{1=}{2}{;'zf'{1=}{3}{;'r~z
f'{1=}{1;'zf'{1=}{1;}'r�r?s r�test_syntax_error_after_debug�&TestCase.test_syntax_error_after_debug�s:�����K�)[��	�	
���K�)Z� ,� -��	r"c�x�[5 Sn[SS5nURS5 SSS5 [U5up4nSSS5 UR	WRS5R
5RSS5RSS5S5 g!,(df   Nt=f!,(df   No=f)	N�	script.pyr�zprint(f'''{
3
=}''')r:z
r�
z3
=3)rrBrCrr1�decode�stripr�)r�scriptr�r��stdouts     r�test_debug_in_file�TestCase.test_debug_in_file�s���
�Z� �F��k�3�'�1������(�,�F�3�L�A�q��	
������w�/�5�5�7�?�?���M�U�U�VZ�\`�a� �	"�(�'���Z�s!�B+�B�B+�
B(	�$B+�+
B9c�l�[5 Sn[US5nURS5 SSS5 [U5up4nUR	SU5 UR[
UR5R55S5 SSS5 g!,(df   Nn=f!,(df   g=f)Nr�r�zprint(f'\{1}')s\1rS)	rrBrCrr�r1rXr��
splitlines)rr�r�r�r�rGs      r�.test_syntax_warning_infinite_recursion_in_file�7TestCase.test_syntax_warning_infinite_recursion_in_file�s���
�Z� �F��f�c�"�a����)�*�#�!1�� 8��A�v��M�M�&�&�)����S�����!:�!:�!<�=�q�A��Z�"�"���Z�s"�B%�B�AB%�
B"	�B%�%
B3c	�h�SnSH)nURU"SUS35U"SUS355 M+ g)Nc��[R"U5Vs/sHoRUR4PM sn$s snfr�)�dis�get_instructions�opname�oparg)rrs  r�get_code�CTestCase.test_fstring_without_formatting_bytecode.<locals>.get_code�s2��14�1E�1E�a�1H�I�1H�A�X�X�q�w�w�'�1H�I�I��Is�!=)r.zsome stringrrr�)rr�rs   r�(test_fstring_without_formatting_bytecode�1TestCase.test_fstring_without_formatting_bytecode�s>��	J�%�A����X��!��A�h�/��B�q�c��)�1D�E�%r"c���URSSS:H<3S5 URSSS:H<3S5 URSSS:g<3S5 URS	SS:g<3S
5 URSSS:g<3S5 URS
SS:g<3S5 URSSSs=:g=(a Ss=:H=(a S:gOs <3S5 URSSSs=:H=(a Ss=:g=(a S:HOs <3S5 URSSSS:H<3<3S5 URSSSS:H<3<3S5 URSSSS:g<3<3S5 URSS	SS:g<3<3S5 g)Nz1==2=rTrSz
1==2=Falsez1 == 2=z1 == 2=Falsez1!=2=z	1!=2=Truez1 != 2=z1 != 2=Truez	(1) != 2=z
(1) != 2=Truez
(1*2) != (3)=rUz(1*2) != (3)=Truez1 != 2 == 3 != 4=rCz1 != 2 == 3 != 4=Falsez1 == 2 != 3 == 4=z1 == 2 != 3 == 4=Falsezf'{1==2=}'=zf'{1==2=}'='1==2=False'z
f'{1 == 2=}'=zf'{1 == 2=}'='1 == 2=False'zf'{1!=2=}'=zf'{1!=2=}'='1!=2=True'z
f'{1 != 2=}'=zf'{1 != 2=}'='1 != 2=True'r�r?s r�
test_gh129093�TestCase.test_gh129093�s������E�A�q�D�7��\�2����G�A��F�9��~�6����E�A�q�D�7��[�1����G�A��F�9��}�5����I�Q�1�H�;���9����M�S�a�L�?�+�-@�A����-�A��,�,�a�,�,�1�,�.�/�1I�J����-�A��,�,�a�,�,�1�,�.�/�1I�J����K�u�q�!�t�g�J�=�)�+D�E����M�w�q�A�v�i�L�?�+�-J�K����K�u�q�!�t�g�J�=�)�+C�D����M�w�q�A�v�i�L�?�+�-I�Jr"c�n�/SQnUR[SU5 SS/nUHn[USS5 M g)N)z	f'{1:d
}'z*f'__{
                1:d
            }__'z"f"{value:.
               {'2f'}}"z#f"{value:
               {'.2f'}f}"z"f"{value:
                #{'x'}}"z7f-string: newlines are not allowed in format specifiersz.f'''__{
                1:d
            }__'''z
f'''{1:d
}'''rprG)rr�rJ)rr]�valid_casesr�s    r�"test_newlines_in_format_specifiers�+TestCase.test_newlines_in_format_specifierssH��
��	
���K�)b�di�j�
�
!�	
�� �D��D�*�f�-� r"c���"SS5nURU"5SS5 URU"5SS5 URU"5SS5 URU"5SS5 URU"5SS5 URU"5SS5 URU"5SS5 URU"5SSU"5S3S5 g)	Nc��\rSrSrSrSrSrg)�>TestCase.test_raw_fstring_format_spec.<locals>.UnchangedFormati%z3Test helper that returns the format spec unchanged.c��U$r�r)rr2s  rr �ITestCase.test_raw_fstring_format_spec.<locals>.UnchangedFormat.__format__'s���
r"rN)r$r%r&r'r�r r(rr"r�UnchangedFormatr�%s
��E�
r"r��ÿz\xFF�abr�rtz\xFF \nr�)rr�s  r�test_raw_fstring_format_spec�%TestCase.test_raw_fstring_format_spec s��
	�	�	
���O�-�d�3�d�;����_�.�t�4�w�?�	
���_�.��x�8�4�@����O�-�w�i�8�7�C����_�.��y�9�G�D�	
���o�/�2�1��"&�	(�����0�3�2��#'�	)�	
���_�.�t�4�A�o�6G��5K�L�k�Zr"c���[5 Sn[US5nURSR55 SSS5 [	U5 SSS5 g!,(df   N"=f!,(df   g=f)Nr��wbu&def f(a): pass
f"{f(a=lambda: 'à'
)}")rrBrCrDr)rr�r�s   r�
test_gh139516�TestCase.test_gh139516<sQ��
�Z� �F��f�d�#�q����F�M�M�O�P�$��V�$�	�Z�#�#���Z�s!�A'� A�A'�
A$	� A'�'
A5rN)dr$r%r&r'rr6rPrkrvr{r�r�r�r�r�r�r�r�r�r�r�r�r��skipIfr�is_wasir�r�r�r�rr
r r+r6r@rDrGrJrRrUrYr^rarerqrtrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr+r/r3r7rHrKrPrSrprxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r(rr"rrr s,���=�6"�04�>26�h+.�Z@5�D2�.MM�^q5�f5�$->�`%�%�'� �$�
 ��_�_�W�_�_�&F�G�E�H�E�.�_�_�W�_�_�&F�G�
:�H�
:�;�! �F# �J1 �f0�2 �BA�	,�< �|
 �6�
84�t �&
 �#�&W��
'�8'�
9�/�&@�,�Q�	(�7�
I�
3�,�4�0��)�?�@�/�/�
E�6	(�0�-�8 �t � �(8�T$&�L.�	:�	�M�6�	/�.�u2�@7� �/�
�
�
�
�
-�*�&�"�B�F�K�".�2[�8%r"r�__main__)rHrlr�r?r�r/r(r�r�r.r�test.support.os_helperr�test.support.script_helperrrr�rr$�mainrr"r�<module>r�s]����
�	�	������+�N���a%�x� � �a%�H9�z���M�M�O�r"

Youez - 2016 - github.com/yon3zu
LinuXploit