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

�Kepq���ddlmZmZddlZddlZddlZddlmZddlZejZ	dd�Z
dd�Zd�Zd�Z
Gd�d	ej��Zed
krej��dSdS)�)�verbose�
TestFailedNFc��trN|r'td�|||��d���n%td�||��d���	||z}|r8|�6||kr0trtd��t|�d|�d|�d|�����|r�|��t	|��t	|��ks|d|�|d|�krftrtd��tt|���dt|���dt|���dt|������dStrtd	��dSdS#t$r |s�trtd
��YdSYdSwxYw)Nz{!a} % {!a} =? {!a} ...� )�endz{!a} % {!a} works? ...�noz % z == z != �yeszoverflow (this is fine))r�print�format�AssertionError�len�repr�
OverflowError)�	formatstr�args�output�limit�
overflowok�results      �:/usr/local/apps/python3/lib/python3.11/test/test_format.py�
testformatrs����M��	M��+�2�2�9�d�F�K�K��
�
�
�
�
�
�*�1�1�)�T�B�B��L�L�L�L���T�!���	�e�m��&�(8�(8��
��d���� �!*���D�D�D�&�&�&�&�&�"B�C�C�
C��	��)��F���S��[�[�(�(�F�6�E�6�N�F�6�E�6�N�,J�,J��
��d������	�?�?�?�?�D��J�J�J�J��V�����d�6�l�l�l�L�
M�
M�
M�
M�
M��
��e������
�
��/�-�-�-��	���	-��+�,�,�,�,�,�,�	-�	-�	-�-���s�E�#E:�9E:c���t|t��r)t|||||��|�d��}n|}t	|��}g}t|t
��s|f}t|��}|�dx}}	n<t|t��r|�d��}n|}t	|��}	t|||||��t|||	||��dS�N�ascii)�
isinstance�strr�encode�	bytearray�tuple)
rrrrr�b_format�	ba_format�b_args�b_output�	ba_outputs
          r�
testcommonr%2s����)�S�!�!���9�d�F�E�:�>�>�>��#�#�G�,�,������(�#�#�I�
�F��d�E�"�"���x��
�4�[�[�F�
�~�#�#��9�9��f�c�"�"�	��}�}�W�-�-�H�H��H��h�'�'�	��x���5�*�=�=�=��y�&�)�U�J�?�?�?�?�?�c��	t||��td|z���#|$r}}t|��|krtrt	d��nHtrt	d��t	d|dtt|������Yd}~dSYd}~dSd}~wtrt	d��t	d���xYw)Nz"did not get expected exception: %sr	rzUnexpected �:zUnexpected exception)rrrrr
r)rr�	exception�excmsg�excs     r�test_excr,Js���H��9�d�#�#�#��=��F�G�G�G���A�A�A��s�8�8�v����
��e������#��d�����-��C��c�#�h�h���@�@�@�@�@�@�@�@�@��������������E�$�K�K�K�
�$�%�%�%�
���s�$�C�A,B!�!+Cc�t�t||||��t|�d��|||��dSr)r,r)rrr)r*s    r�test_exc_commonr.[s>���Y��i��0�0�0��Y�
�
�g�
&�
&��i��@�@�@�@�@r&c��eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
d���Zd�Ze	j
d	���Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�
FormatTestc��tddd��tddd��tdtjdfd	�
��tdddd	�
��td
ddd	�
��tdddd	�
��tddd��tdd��tdd��tdd��tdd��tdd��tdd��tdd��tdd��tddd��tdd d!��td"dd#��td"d d$��td%dd&��td%d d'��d(}td%|d)��td%|d*��td+|d*��td,|d*��td-|d.��td/|d0��td1|d2��td3|d0��td4|d5��td4|d6��td7|d8��td9|d:��td;|d<��td=|d)��td>|d)��td?|d@��tdA|dB��td%t|��dCdD��dE}td|dF��td|dG��tdH|dG��tdI|dG��tdJ|dK��tdL|dM��tdN|dO��tdP|dM��tdQ|dR��tdQ|dS��tdT|dU��tdV|dW��tdX|dY��tdZ|dF��td[|dF��td\|d]��td^|d_��td`|da��tdb|dc��tdd|de��tdf|dg��tdf|dh��tdi|dj��tdk|dl��tdm|dn��tdo|dp��tdo|dq��tdr|ds��tdt|du��tdv|dn��tdw|dx��tdy|dz��td{|d|��td}|d~��td|d���td�|d���td�|d���td�|d���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���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���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Ħ�td�|d���td�|dǦ�td�|dĦ�td%d�dʦ�td%d�d̦�td%d�dʦ�tdfddΦ�tddddϦ�td�ddЦ�td�d�dҦ�td"d�dӦ�td%d�dӦ�tdfd�dԦ�tddd�dզ�tdd�dʦ�tdd�d̦�td"d�dʦ�td"d�d̦�td�d�dܦ�td�d�dަ�trtdߦ�t
ddtd��t
d�dtd��t
d%dtd��t
d%d�td��t
ddtd��t
dd�td��dS)�Nz%%��%z%.1d)��1z%.*dr4T)rz%.100d�d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%#.117x�w0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%#.118x�x0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z%f���?z1.000000z%#.*g)�m�ц��>�)�nr<)r=gQ�2<b��z%12.*f)i@�r:z%#.*Gz%#.*fz%#.*Fz%x�
�alh�]�
174876e800z%o�12�
1351035564000z%d�10�100000000000l�
~��l!]c�123456789012345678901234567890z-123456789012345678901234567890z%5dz%31dz%32dz  -123456789012345678901234567890z%-32dz -123456789012345678901234567890 z%032dz -0123456789012345678901234567890z%-032dz%034dz"-000123456789012345678901234567890�"0000123456789012345678901234567890z%0+34dz"+000123456789012345678901234567890z%+34dz"   +123456789012345678901234567890z%34dz"    123456789012345678901234567890z%.2dz%.30dz%.31d�0123456789012345678901234567890z%32.31dz  0123456789012345678901234567890�123456________________________�lE#�=�*H<V4$�1234567890abcdef12345z-1234567890abcdef12345z%5xz%22xz%23xz -1234567890abcdef12345z%-23xz-1234567890abcdef12345 z%023xz-01234567890abcdef12345z%-023xz%025xz-0001234567890abcdef12345�00001234567890abcdef12345z%0+25xz+0001234567890abcdef12345z%+25xz   +1234567890abcdef12345z%25xz    1234567890abcdef12345z%.2xz%.21xz%.22x�01234567890abcdef12345z%23.22xz 01234567890abcdef12345z%-23.22xz01234567890abcdef12345 z%X�1234567890ABCDEF12345z%#X�0X1234567890ABCDEF12345z%#x�0x1234567890abcdef12345z-0x1234567890abcdef12345z%#27xz    0x1234567890abcdef12345z%#-27xz0x1234567890abcdef12345    z%#027x�0x00001234567890abcdef12345z%#.23x�0x001234567890abcdef12345z-0x001234567890abcdef12345z%#27.23xz  0x001234567890abcdef12345z	%#-27.23xz0x001234567890abcdef12345  z	%#027.23xz%#+.23xz+0x001234567890abcdef12345z%# .23xz 0x001234567890abcdef12345z%#+.23Xz+0X001234567890ABCDEF12345z
%#+027.23Xz+0X0001234567890ABCDEF12345z
%# 027.23Xz 0X0001234567890ABCDEF12345z	%#+27.23Xz +0X001234567890ABCDEF12345z
%#-+27.23xz+0x001234567890abcdef12345 z
%#- 27.23xz 0x001234567890abcdef12345 l�KSp.'�]�w9
� 12345670123456701234567012345670z!-12345670123456701234567012345670z%5oz%33oz%34oz" -12345670123456701234567012345670z%-34oz"-12345670123456701234567012345670 z%034oz"-012345670123456701234567012345670z%-034oz%036oz$-00012345670123456701234567012345670�$000012345670123456701234567012345670z%0+36oz$+00012345670123456701234567012345670z%+36oz$   +12345670123456701234567012345670z%36oz$    12345670123456701234567012345670z%.2oz%.32oz%.33o�!012345670123456701234567012345670z%34.33oz" 012345670123456701234567012345670z%-34.33oz"012345670123456701234567012345670 z%#o�"0o12345670123456701234567012345670z#-0o12345670123456701234567012345670z%#38oz&    0o12345670123456701234567012345670z%#-38oz&0o12345670123456701234567012345670    z%#038o�&0o000012345670123456701234567012345670z%#.34o�$0o0012345670123456701234567012345670z%-0o0012345670123456701234567012345670z%#38.34oz&  0o0012345670123456701234567012345670z	%#-38.34oz&0o0012345670123456701234567012345670  z	%#038.34oz%#+.34oz%+0o0012345670123456701234567012345670z%# .34oz% 0o0012345670123456701234567012345670z	%#+38.34oz& +0o0012345670123456701234567012345670z
%#-+38.34oz&+0o0012345670123456701234567012345670 z
%#- 38.34oz& 0o0012345670123456701234567012345670 z
%#+038.34oz&+0o00012345670123456701234567012345670z
%# 038.34oz& 0o00012345670123456701234567012345670z%#.33o�#0o012345670123456701234567012345670z%#.32oz%035.33o�#00012345670123456701234567012345670z	%0#35.33o�*�42i���z-42gE@�0x1�0X1�0o1r�0o0�0�0x0�0X0�Bi�����"i����%gg�������?z1.1z%#gz1.10000�Testing exceptionszincomplete formatz% %sz2unsupported format character '%' (0x25) at index 2z-%d format: a real number is required, not str�1z/%d format: a real number is required, not bytesz*%x format: an integer is required, not str���Q�	@z,%x format: an integer is required, not float)	r%�sys�maxsize�floatrr
r.�
ValueError�	TypeError)�self�bigs  r�test_common_formatzFormatTest.test_common_formatbsE��	�4��S�!�!�!��6�4��%�%�%��6�C�K��?�t�<�<�<�<��8�T�$�(,�	.�	.�	.�	.�	�9�d�%0�!�	"�	"�	"�	"�	�9�d�%1�!�	"�	"�	"�	"�
	�4���,�,�,�	�7�-�.�.�.��7�-�.�.�.��7�.�/�/�/��8�]�+�+�+�
	�7�.�/�/�/��7�.�/�/�/��7�.�/�/�/��7�.�/�/�/��4��S�!�!�!��4��|�4�4�4��4��T�"�"�"��4���7�7�7��4��T�"�"�"��4��~�6�6�6�,���4��>�?�?�?��4�#��@�A�A�A��5�3�$� A�B�B�B��6�C�4�!B�C�C�C��6�C�4�!C�D�D�D��7�S�D�"D�E�E�E��7�S�D�"D�E�E�E��8�c�T�#E�F�F�F��7�S�D�"F�G�G�G��7�C�!E�F�F�F��8�S�"F�G�G�G��7�C�!E�F�F�F��6�3� D�E�E�E��6�3� @�A�A�A��7�C�!A�B�B�B��7�C�!B�C�C�C��9�c�#E�F�F�F��4��s���%E�q�I�I�I�%���4��5�6�6�6��4�#��7�8�8�8��5�3�$� 8�9�9�9��6�C�4�!9�:�:�:��6�C�4�!:�;�;�;��7�S�D�";�<�<�<��7�S�D�";�<�<�<��8�c�T�#<�=�=�=��7�S�D�"=�>�>�>��7�C�!<�=�=�=��8�S�"=�>�>�>��7�C�!<�=�=�=��6�3� ;�<�<�<��6�3� 7�8�8�8��7�C�!8�9�9�9��7�C�!9�:�:�:��9�c�#<�=�=�=��:�s�$=�>�>�>��4��5�6�6�6��5�#�8�9�9�9��5�#�8�9�9�9��5�3�$� :�;�;�;��7�C�!>�?�?�?��8�S�"?�@�@�@��8�S�"?�@�@�@��8�S�"=�>�>�>��8�c�T�#?�@�@�@��:�s�$A�B�B�B��;��%B�C�C�C��;��%B�C�C�C��9�c�#?�@�@�@��9�c�#?�@�@�@��9�c�#?�@�@�@�	�<��&C�D�D�D��<��&C�D�D�D��;��%B�C�C�C��<��&C�D�D�D��<��&C�D�D�D�0���4��@�A�A�A��4�#��B�C�C�C��5�3�$� C�D�D�D��6�C�4�!D�E�E�E��6�C�4�!E�F�F�F��7�S�D�"F�G�G�G��7�S�D�"F�G�G�G��8�c�T�#G�H�H�H��7�S�D�"H�I�I�I��7�C�!G�H�H�H��8�S�"H�I�I�I��7�C�!G�H�H�H��6�3� F�G�G�G��6�3� B�C�C�C��7�C�!C�D�D�D��7�C�!D�E�E�E��9�c�#G�H�H�H��:�s�$H�I�I�I��4��@�A�A�A��5�#�C�D�D�D��5�3�$� E�F�F�F��7�C�!I�J�J�J��8�S�"J�K�K�K��8�S�"J�K�K�K��8�S�"H�I�I�I��8�c�T�#J�K�K�K��:�s�$L�M�M�M��;��%M�N�N�N��;��%M�N�N�N��9�c�#J�K�K�K��9�c�#J�K�K�K��;��%M�N�N�N��<��&N�O�O�O��<��&N�O�O�O��<��&N�O�O�O��<��&N�O�O�O��7�C�!D�E�E�E��8�S�"G�H�H�H��8�S�"F�G�G�G��:�s�$I�J�J�J��;��%J�K�K�K�	�4��T�"�"�"��4��e�$�$�$��4��t�$�$�$��5�!�U�#�#�#��5�!�U�#�#�#��5�!�U�#�#�#��5�!�U�#�#�#��4��C� � � ��4��C� � � ��5�!�U�#�#�#��5�!�U�#�#�#��4��t�$�$�$��4���&�&�&��4��t�$�$�$��4���&�&�&��4��e�$�$�$��5�#�y�)�)�)��	(��&�'�'�'���R��-@�A�A�A����:�L�	N�	N�	N���c�9�G�	I�	I�	I���d�I�I�	K�	K�	K���c�9�D�	F�	F�	F���d�I�F�	H�	H�	H�	H�	Hr&c��tddd��tddd��tddd��tddd��trtd��td	d
td��tdd
t
d��tdd
t
d��tddtd��tdtjd
ztd��tddt
d��tddt
d��tddt
d��tdkr-	dtdfztd���#t$rYdSwxYwdS)Nz%ru͸z'\u0378'z%auʹu'ʹ'z'\u0374'rfzabc %br4z2unsupported format character 'b' (0x62) at index 5rer5zmust be real number, not strz	no formatz4not all arguments converted during string formattingz%c���z%c arg not in range(0x110000)rhz%c requires int or char�ab�x���%*d����!"%*d"%(maxsize, -127) should fail)rrr
r,rlrmrri�
maxunicoderjr�MemoryError�rns r�test_str_formatzFormatTest.test_str_formats����4��;�/�/�/��4��;�/�/�/��4��:�.�.�.��4��;�/�/�/��	(��&�'�'�'���1�j�E�	G�	G�	G�	��s�I�'E�F�F�F���c�9�G�	I�	I�	I���r�=�*I�J�J�J���s�~�a�'��0�	2�	2�	2�	��t�Y�(A�B�B�B���t�Y�(A�B�B�B���t�Y�(A�B�B�B��g���
F��w��o�%�%�!�!D�E�E�E���
�
�
����
����	�s�,E�
E�Ec��tddd��tddd��tdtd��d��tddd��tddd	��Gd
�dt��}|��}tdd
d
��tdtd��d��td|d��tdtd
��d
��tdd
d
��tdtd��d��td|d��tdtd
��d
��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��trtd��t
ddtd��t
ddtd ��t
d!dtd"��t
d!dtd"��t
d!td��td"��t
dd#td$��t
dd%td$��t
dd&d'ztd$��t
dd(td)��t
dd*td)��t
ddtd)��t
dd+td,��t
dd-td,��td.kr-	d/td0fztd1���#t$rYdSwxYwdS)2Ns%c���Zs%5c�As    As%-5csA    c��eZdZd�ZdS)�=FormatTest.test_bytes_and_bytearray_format.<locals>.FakeBytesc��dS)N�123r2r{s r�	__bytes__zGFormatTest.test_bytes_and_bytearray_format.<locals>.FakeBytes.__bytes__Js���vr&N)�__name__�
__module__�__qualname__r�r2r&r�	FakeBytesr�Is#������
�
�
�
�
r&r�s%bsabcsdefr�s%ss%arhs3.14sghisb'ghi'�jkls'jkl'uՄs'\u0544's%rrfs%gr5z float argument required, not strrgz"float argument required, not bytess	no formatz3not all arguments converted during bytes formattingrrz%c arg not in range(256)���sZaz5%c requires an integer in range(256) or a single byte�Y�XczR%b requires a bytes-like object, or an object that implements __bytes__, not 'str'�Wdrurvrwrx)r%r�object�
memoryviewrr
r,rmrrjrrz)rnr��fbs   r�test_bytes_and_bytearray_formatz*FormatTest.test_bytes_and_bytearray_format?s���	�5�!�W�%�%�%��5�$��%�%�%��5�)�D�/�/�4�0�0�0��6�2�x�(�(�(��7�B��)�)�)�	�	�	�	�	��	�	�	��Y�[�[���5�&�&�)�)�)��5�)�F�+�+�V�4�4�4��5�"�f�%�%�%��5�*�V�,�,�f�5�5�5��5�&�&�)�)�)��5�)�F�+�+�V�4�4�4��5�"�f�%�%�%��5�*�V�,�,�f�5�5�5�	�5�$��(�(�(��5�&�)�,�,�,��5�%��*�*�*��5�(�L�1�1�1��5�$��(�(�(��5�&�)�,�,�,��5�%��*�*�*��5�(�L�1�1�1��	(��&�'�'�'����Y�(J�K�K�K����i�)M�N�N�N���q�)�F�	H�	H�	H���t�Y�F�	H�	H�	H���y����	�F�	H�	H�	H����M�*�	,�	,�	,����]�*�	,�	,�	,����3��
�*�	,�	,�	,����y�G�	I�	I�	I����Y�G�	I�	I�	I����i�G�	I�	I�	I����i�E�	F�	F�	F�	���i�E�	F�	F�	F��g���
F��w��o�%�%�!�!D�E�E�E���
�
�
����
����	�s�!L<�<
M
�	M
c��tddd��tddd��tddd��tdd	d
��dS)Nzabr2za%cb)rza%sb)zcdzacdbsa%sb)scdsacdb)r%rr{s r�test_nulzFormatTest.test_nul�sP���6�2�v�&�&�&��6�4��(�(�(��6�9�h�/�/�/��7�J�	�2�2�2�2�2r&c�`�tddd��|�tdd��d��|�tdd��d��|�td	d
��d��|�tdd
��d��|�tdd��d��|�tdd��d��|�tdd��d��|�td	d��d��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d��|�td	d��d��|�tdd ��d!��|�tdd"��d#��dS)$Nu€=%fr9u€=1.000000�abcu <5u	abc  �{u	123  g������(@u <6u
12.3  �u <4u0j  y�?@u <8u(1+2j)  u >5u	  abcu	  123u >6u
  12.3u >8u  (1+2j)u >4u  0ju ^5u	 abc u	 123 u ^6u
 12.3 u ^8u (1+2j) u ^4u 0j )r�assertEqualrr{s r�test_non_asciizFormatTest.test_non_ascii�s
���;��(9�:�:�:������z�2�2�4E�F�F�F������Z�0�0�2C�D�D�D������j�1�1�3E�F�F�F������J�/�/�1A�B�B�B������j�1�1�3G�H�H�H������z�2�2�4E�F�F�F������Z�0�0�2C�D�D�D������j�1�1�3E�F�F�F������j�1�1�3G�H�H�H������J�/�/�1A�B�B�B������z�2�2�4E�F�F�F������Z�0�0�2C�D�D�D������j�1�1�3E�F�F�F������j�1�1�3G�H�H�H������J�/�/�1A�B�B�B�B�Br&c�j�	tjtj��}tjtjd��nD#tj$r2}|�d�|����Yd}~nd}~wwxYw	tj��}|d}|d}|d}tdd��}|r|�||��|�|�	|d��d��td	d��}|r|�||��|�||��|�|�	|d��d
|zdz��tjtj|��dS#tjtj|��wxYw)N�zCannot set locale: {}�
thousands_sep�
decimal_point�groupingi�[�n�	123456789gJ�@�1234�5)
�locale�	setlocale�LC_ALL�Error�skipTestr�
localeconv�assertInr��replace)rn�oldloc�errr��sep�pointr��texts        r�test_localezFormatTest.test_locale�s���	?��%�f�m�4�4�F���V�]�B�/�/�/�/���|�	?�	?�	?��M�M�1�8�8��=�=�>�>�>�>�>�>�>�>�����	?����	4��*�,�,�J��_�-�C���/�E�!�*�-�H��)�S�)�)�D��
)��
�
�c�4�(�(�(����T�\�\�#�r�2�2�K�@�@�@��&�#�&�&�D��
)��
�
�c�4�(�(�(��M�M�%��&�&�&����T�\�\�#�r�2�2�F�U�N�S�4H�I�I�I���V�]�F�3�3�3�3�3��F��V�]�F�3�3�3�3���s$�=A�B�(A<�<B�C+F�!F2c�r�d}|�d|z|��|�d|z|��|�d|z|��|�d|z|��|�d|z|��|�d�|��|��|�d�|��|��|�d	�|��|��|�d
�|��|��|�d�|��|��|�d�|��|��|�|d
z|��|�|���|��dS)N�abcdez%sz%.5sz%.10sz%1sz%5sz{0}z{0:s}z{0:.5s}z{0:.10s}z{0:1s}z{0:5s}r2)�assertIsr)rnr�s  r�test_optimisationszFormatTest.test_optimisations�s}�����
�
�d�T�k�4�(�(�(��
�
�f�t�m�T�*�*�*��
�
�g��n�d�+�+�+��
�
�e�d�l�D�)�)�)��
�
�e�d�l�D�)�)�)��
�
�e�l�l�4�(�(�$�/�/�/��
�
�g�n�n�T�*�*�D�1�1�1��
�
�i�&�&�t�,�,�d�3�3�3��
�
�j�'�'��-�-�t�4�4�4��
�
�h�o�o�d�+�+�T�2�2�2��
�
�h�o�o�d�+�+�T�2�2�2��
�
�d�R�i��&�&�&��
�
�d�k�k�m�m�T�*�*�*�*�*r&c��d}|�t|d��d��|�t|d��d��|�t��5}t|dtjdzz��ddd��n#1swxYwYt
|��}|�t|d��d��|�t|d��d	��|�t��5}t|dtjdzz��ddd��dS#1swxYwYdS)
N�333333�?z.0fr5z.3fz1.200�.%sfr4z1+0jz1.200+0.000j)r�r�assertRaisesrlrirj�complex)rn�f�cm�cs    r�test_precisionzFormatTest.test_precision�s����������5�)�)�3�/�/�/������5�)�)�7�3�3�3�
�
�
�z�
*�
*�	2�b��1�f���a��0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�A�J�J�������5�)�)�6�2�2�2������5�)�)�>�:�:�:�
�
�
�z�
*�
*�	2�b��1�f���a��0�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s$�%!B�B�B�!D<�<E�Ec�V�ddlm}d}|�t��5}t	|d|dzz��ddd��n#1swxYwYt|��}|�t��5}t	|d|dzz��ddd��dS#1swxYwYdS)Nr)�INT_MAXr�r�r4)�	_testcapir�r�rlrr�)rnr�r�r�r�s     r�test_precision_c_limitsz"FormatTest.test_precision_c_limits�s3��%�%�%�%�%�%���
�
�
�z�
*�
*�	.�b��1�f��!��,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�A�J�J��
�
�
�z�
*�
*�	.�b��1�f��!��,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s#�A�A
�
A
�:B�B"�%B"c��|�ddzd��|�ddzd��|�tdd��d��|�tdd��d��|�tdd	��d
��|�tdd��d��dS)
Nz%.3gg��@z1.5e+03z%#.3gz1.50e+03z.3gz#.3gg@�ugAz.6gz1.23e+07z#.6gz1.23000e+07)r�rr{s r�#test_g_format_has_no_trailing_zerosz.FormatTest.test_g_format_has_no_trailing_zeros�s�������&��)�4�4�4�����6�)�:�6�6�6�������.�.�	�:�:�:�������/�/��<�<�<�����
�E�2�2�J�?�?�?�����
�F�3�3�]�C�C�C�C�Cr&c��tjd��}|�t|��5d�d��ddd��dS#1swxYwYdS)NzCannot specify ',' with ','.z{:,,}r4��re�escape�assertRaisesRegexrlr�rn�	error_msgs  r�(test_with_two_commas_in_format_specifierz3FormatTest.test_with_two_commas_in_format_specifier�����I�<�=�=�	�
�
#�
#�J�	�
:�
:�	�	��N�N�1����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A�A�Ac��tjd��}|�t|��5d�d��ddd��dS#1swxYwYdS)NzCannot specify '_' with '_'.z{:__}r4r�r�s  r�,test_with_two_underscore_in_format_specifierz7FormatTest.test_with_two_underscore_in_format_specifier�r�r�c��tjd��}|�t|��5d�d��ddd��dS#1swxYwYdS)N� Cannot specify both ',' and '_'.z{:,_}r4r�r�s  r�8test_with_a_commas_and_an_underscore_in_format_specifierzCFormatTest.test_with_a_commas_and_an_underscore_in_format_specifier����I�@�A�A�	�
�
#�
#�J�	�
:�
:�	�	��N�N�1����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��tjd��}|�t|��5d�d��ddd��dS#1swxYwYdS)Nr�z{:_,}r4r�r�s  r�7test_with_an_underscore_and_a_comma_in_format_specifierzBFormatTest.test_with_an_underscore_and_a_comma_in_format_specifierr�r�c
�r�dD�]2}|�|���5d}tjd|�dt|��j�d���}|�t|��5d|�d��|���ddd��n#1swxYwY|�t|��5t||��ddd��n#1swxYwY|�t|��5td	��ddd��n#1swxYwYddd��n#1swxYwY��4dS)
N)y(@�g(@rA)�valuez%MzInvalid format specifier 'z' for object of type '�'z	xx{value:z}yyz f'xx{value:{bad_format_spec}}yy')	�subTestr�r��typer�r�rlr�eval)rnr��bad_format_specr�s    r� test_better_error_message_formatz+FormatTest.test_better_error_message_format
sc��*�	=�	=�E����E��*�*�
=�
=�#'���i�!<�$3�!<�!<�$(��K�K�$8�!<�!<�!<�=�=���+�+�J��<�<�K�K�6��6�6�6�=�=�E�=�J�J�J�K�K�K�K�K�K�K�K�K�K�K����K�K�K�K��+�+�J��<�<�3�3��5�/�2�2�2�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3��+�+�J��<�<�=�=��;�<�<�<�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=����
=�
=�
=�
=��	=�	=s~�AD*�'B�D*�B�D*�B�D*�4C�D*�C�D*�C�D*�7D�D*�D�D*�D�D*�*D.	�1D.	c���tjd��}|�t|��5d�d���ddd��dS#1swxYwYdS)Nu=Invalid format specifier '%ЫйЯЧ' for object of type 'str'u
{a:%ЫйЯЧ}r?)r?r�)rn�str_errs  r�test_unicode_in_error_messagez(FormatTest.test_unicode_in_error_messages����)�K�M�M��
�
#�
#�J��
8�
8�	*�	*��"�"�S�"�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A�A�Ac��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd	�d
��|�dd	�d��|�dd�d��|�d
d�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d��|�dd�d ��|�dd!�d"��|�dd#�d$��|�dd%�d&��|�dd!�d'��|�dd#�d'��|�dd%�d'��|�d(d�d)��|�d*d�d)��|�d+d�d)��|�d,d�d)��|�dd-�d.��|�dd/�d0��|�dd1�d2��|�dd3�d4��dS)5Ng�z.1fz-0.0g{�G�z��rz0.0gzz.1fzz6.1fz   0.0g�z  -1.0g{�G�z�?zz.2fz0.00g����MbP?g����MbP�zz.1ez0.0e+00zz.1Ez0.0E+00zz.2ez	-1.00e-03zz.2gz-0.001zz.2%z-0.10%g���ư�g
ףp=
�?z0.1g
ףp=
��z-0.1z z.0fz 0z+z.0fz+0z-z.0fr`z-1r�z0.0+0.0jy��y{�G�z�?y�{�G�z��zz>6.1fzzz-0.0zz>z6.1fzzzz0.0zx>z6.1fzxxx0.0u
🖤>z6.1fu🖤🖤🖤0.0)r�r{s r�test_negative_zerozFormatTest.test_negative_zero%s������C���v�.�.�.����D����/�/�/����B���e�,�,�,�	
���B���u�-�-�-����B����1�1�1����C����2�2�2����C����.�.�.����C����.�.�.����B���u�-�-�-����D����/�/�/����B���v�.�.�.����C����/�/�/����D����0�0�0����E���&�1�1�1����B���y�1�1�1����C���	�2�2�2����B���y�1�1�1����C���	�2�2�2����F�)�)�;�7�7�7����F�)�)�8�4�4�4����F�)�)�8�4�4�4����M�0�0�%�8�8�8����G�*�*�E�2�2�2����L�/�/��7�7�7����M�0�0�&�9�9�9����G�*�*�F�3�3�3����L�/�/��8�8�8����C����.�.�.����D����0�0�0����C����.�.�.����C����.�.�.����C����-�-�-����C����.�.�.����C����.�.�.����C����.�.�.����C���
�3�3�3����D����4�4�4����D����4�4�4����E���*�5�5�5����C���(�3�3�3����C�)�)�8�4�4�4����C�)�)�8�4�4�4����C�,�,�.?�@�@�@�@�@r&c��tjd��}|�t|��5dd�ddd��n#1swxYwY|�t|��5dd�ddd��n#1swxYwYtjd��}|�t|��5dd�ddd��n#1swxYwY|�t|��5dd�ddd��n#1swxYwYtjd	��}|�t|��5d
dzddd��dS#1swxYwYdS)Nz Invalid format specifier '.*z.*'rzz+f�fzz&Negative zero coercion (z) not allowed�zd�x�zsz unsupported format character 'z'z%z.1f)r��compiler�rlr�r�s  r�test_specifier_z_errorz!FormatTest.test_specifier_z_error^s����J�A�B�B�	�
�
#�
#�J�	�
:�
:�	�	��J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�J�	�
:�
:�	�	��I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��I�F�G�G�	�
�
#�
#�J�	�
:�
:�	�	��I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�J�	�
:�
:�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��I�@�A�A�	�
�
#�
#�J�	�
:�
:�	�	��a�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sY�A�A�A�'A8�8A<�?A<�2C�C�
C�)C:�:C>�C>�4E�E�EN)r�r�r�rpr|r�r�r�r��support�cpython_onlyr�r�r�r�r�r�r�r�r�r�r�r�r2r&rr0r0`s^������zH�zH�zH�xF�F�F�BHF�HF�HF�T3�3�3�C�C�C�*4�4�4�2
��+�+���+�&2�2�2�
��	.�	.���	.�	D�	D�	D����
���
���
���
=�=�=�**�*�*�7A�7A�7A�r����r&r0�__main__)NNF)�test.supportrrr�rir�r��unittest�MAX_Py_ssize_trjrr%r,r.�TestCaser0r��mainr2r&r�<module>r�s��,�,�,�,�,�,�,�,�
�
�
�
�
�
�
�
�	�	�	�	�����������
�
 ��!�!�!�!�F@�@�@�@�0H�H�H�"A�A�A�
M�M�M�M�M��"�M�M�M�`�z����H�M�O�O�O�O�O��r&