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:/Python315/Lib/test/test_tools/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/test_tools/__pycache__/test_i18n.cpython-315.opt-1.pyc
R
>lqj�cc�@�Qs]PHs]PHs]PHs]PHs]QHGs]QHGs]QH$G
s
]QH,GsG
s
Gs]QH<GsGs\
2\\2O'2O(Q*s\Q29^tt^2]QHXGsGsGsGsPPP2Q	sQ
Q\O82sQsQ
s\ Q6Xc\\!\OD2]6�c2\OD]*Q6Xc\2\OF]2\OH2P!P!)%fhK�9h)z%Tests to cover the Tools/i18n package)�dedent)�Path)�assert_python_ok)�imports_under_tool�skip_if_missing�toolsdir)�temp_cwd�temp_dir�	i18n_data�i18n)�
parse_spec�process_keywords�DEFAULTKEYWORDS�unparse_specc�$�[OQ2oQo[OVU2o[OQ2oQo[OV4U2o[OQ2oQo[OVVU2oU!)zjNormalize the POT creation timestamp, charset and
file locations to make the POT file easier to compare.

z"POT-Creation-Date: .+?\\n"z-"POT-Creation-Date: 2000-01-01 00:00+0000\\n"z*"Content-Type: text/plain; charset=.+?\\n"z,"Content-Type: text/plain; charset=UTF-8\\n"z#:.+c�R�U]*O[OQ2!)��/)�replace�os�sep)�matchs&�.C:\Python315\\Lib\test\test_tools\test_i18n.pyr�#normalize_POT_file.<locals>.replace,s���Q�x�������,�,�)�re�compile�sub)�pot�date_pattern�header�charset_pattern�charset�fileloc_patternrs&      r�normalize_POT_filer#sx���:�:�<�=�L�
=�F�
�&�&��s�
+�C��j�j�!N�O�O�=�G�
�&�&��3�
/�C��j�j��)�O�-�
�&�&��3�
/�C��Jrc��`�\sQs]2snQs\\QQ2sQsQs	Qs
QQ;QP	Q	P
Q
P
-QksQsQ
s
Qs\O \O$O'Q2Q2Q2sQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Q s#Q!s$Q"s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Q+s.Q,s/Q-s0Q.s1Q/s2Q0s3Q1s4Q2s5Q3s6Q4s7Q5s8Q6s9Q7s:Q8s;Q9s<Q:s=Us>P!)<�Test_pygettextzTests for the pygettext.py toolr
zpygettext.pyc���-oUOQ2FD[oU%cUOQ2%cJ$UOQ2oUOQ]2vqEUO2V$$J]	U!)z9utility: return the header of a .po file as a dictionary �
�"�:)�#�msgid�msgstr)�split�
startswith�strip)�self�data�headers�line�key�vals&&    r�
get_header�Test_pygettext.get_header7sb�����J�J�t�$�D��4�?�?�+C�D�D���:�:�c�?�D��z�z�#�q�)�H�C��9�9�;�G�L�%��rc���,oP
o,oUOQ2FD�oU%c_UOQ2%c"UOUOQ22L&UOQO	U22,oP
oJiUOQ2%fJ�U[Q2PoUOUOQ22P	oJ�	U%c!UOQO	U22U!)z<utility: return all msgids in .po file as a list of strings r'r(zmsgid )r-r.�appendr/�join�len)r0r1�msgids�
reading_msgid�	cur_msgidr3s&&    r�
get_msgids�Test_pygettext.get_msgidsBs������
��	��J�J�t�$�D���?�?�3�'�'��$�$�T�Z�Z��_�5��M�M�$�)�)�I�"6�7� "�I�$)�M�����x�(�(��C��M�N�+��� � ����C��1� $�
�%���
�
�d�i�i�	�2�3��
rc�^�PUmUO[U2[U22P!)z Check if two POT files are equal)�maxDiff�assertEqualr#)r0�expected�actuals&&&r�assert_POT_equal�Test_pygettext.assert_POT_equalZs%��������+�H�5�7I�&�7Q�Rr�args�strict�with_stderr�rawc	�N�Qo[P29^tt^2[UQQQ59^tt^2oUOU2PPP2[QUO,UNUM3oU%cUOUOQ2[QQQ59^tt^2oUO2o	PPP2PPP2U%fUOW	2o	U%fW	!W	WO1!)%fhK�9h)%fhK\9h)%fhKg9h)z0Return all msgids extracted from module_content.ztest.py�w�utf-8��encoding�-Xutf8r�messages.pot)	r�open�writer�scriptrC�err�readr?)
r0�module_contentrHrIrJrK�filename�fp�resr1s
&&$$$$    r�extract_from_str�Test_pygettext.extract_from_str_s�����
�d�^�^��h��g�6�6�"�����(�7�"�8�T�[�[�J�4�J��J�C��� � ����#�.��n�w�7�7�2��w�w�y��8�
���?�?�4�(�D���K��S�W�W�}��7�6��
8�7��
�^�sR�D�C.	�*D�+1D�D	�-D�.C>
�7C>
�9D�D
�
D
�D�D$	�D$	c�,�UOUQP
Q5!)z4Return all docstrings extracted from module_content.)rHrI�z--docstrings�r\�r0rXs&&r�extract_docstrings_from_str�*Test_pygettext.extract_docstrings_from_strqs���$�$�^�:K�TY�$�Z�Zrc�:�UOUP
P	Q5]*!)F)rIrJr`ras&&r�
get_stderr�Test_pygettext.get_stderrus ���$�$�^�E�t�$�T�UV�W�Wrc	�|�[P29^tt^2o[QUO2[QQQ59^tt^2oUO	2oPPP2UOW2oUO
QU2UO
QU2UO
QU2UO
QU2UO
Q	U2UO
Q
U2UO
QU2UO
QU2UO
Q
U2PPP2P!)%fhK�9h)%fhP!9h)z�Make sure the required fields are in the header, according to:
http://www.gnu.org/software/gettext/manual/gettext.html#Header-Entry
rQrRrNrOzProject-Id-Version�POT-Creation-DatezPO-Revision-DatezLast-Translatorz
Language-TeamzMIME-VersionzContent-TypezContent-Transfer-EncodingzGenerated-By)rrrUrSrWr6�assertIn)r0�cwdrZr1rs&    r�test_header�Test_pygettext.test_headerxs����d�^�^�s��X�t�{�{�3��n�w�7�7�2��w�w�y��8��_�_�T�*�F��M�M�.��7��M�M�-�v�6��M�M�,�f�5��M�M�+�V�4��M�M�/�6�2��M�M�.�&�1��M�M�.�&�1��M�M�5�v�>��M�M�.�&�1��^�7�7���^�^�s0�,D*�D	�B;D*�D'
� D'
�"D*�*D;	�3D;	�aixzbpo-29972: broken test on AIXc	���]QHGo[P29^tt^2o[QUO2[	QQQ59^tt^2oUO2oPPP2UO
W2oUQ*oUOQ2%cUP[Q2'oUOUQ2PPP2P!)%fhKl9h)%fhP!9h)	z:Match the date format from xgettext for POT-Creation-Date )�datetimerQrRrNrOrhz\nz%Y-%m-%d %H:%M%z)
rorrrUrSrWr6�endswithr;�strptime)r0rorjrZr1r�creationDates&      r�test_POT_Creation_Date�%Test_pygettext.test_POT_Creation_Date�s���	&�
�d�^�^�s��X�t�{�{�3��n�w�7�7�2��w�w�y��8��_�_�T�*�F�!�"5�6�L��$�$�U�+�+�+�L�c�%�j�[�9��
���l�,>�?��^�7�7���^�^�s5�,C�B<	�8C�!C�<C
�C
�C�C 	�C 	c	�r�QFD�o[29^tt^2[UOUQ02UO[O
O
Q22[UOUQ02oUOQUO2PPP2J�	P!)%fhJ�9h)�-o�test�-s#Project-Id-Version: PACKAGE VERSION)rvz	--output=)	rrrU�
assertTruer�path�existsri�out)r0�optr[s&  r�test_output_option�!Test_pygettext.test_output_option�sx��&�C���� ������T�l�;���������v� 6�7�&�t�{�{�s�e�1�I�>���
�
�D�c�g�g�N�	��'����s�A=B%	�%B6
�.B6
c
���QFDXoUOU29^tt^2UO[QU*22oUOQU2PPP2JZ	P!)%fhJo9h)�	"""doc"""zE                def foo(bar):
                    %s
                �doc�r�z
r'''doc'''zR'doc'zu"doc"��subTestrbrri�r0r�r<s&  r�test_funcdocstring�!Test_pygettext.test_funcdocstring��f��B�C����c�"�"��9�9�&�B��B�;����
�
�e�V�,�#�"�C�"�"�"���4A#	�#A4
�,A4
c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z5        def foo(bar):
            b"""doc"""
        r��rbr�assertFalse�r0r<r+s&  r�test_funcdocstring_bytes�'Test_pygettext.test_funcdocstring_bytes��H���1�1�&�:�3
���	
���V�F�V�E�u��~�%�%�V�F�G��F�
�A	�A	c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z5        def foo(bar):
            f"""doc"""
        r�r�r�s&  r�test_funcdocstring_fstring�)Test_pygettext.test_funcdocstring_fstring�r�r�c
���QFDXoUOU29^tt^2UO[QU*22oUOQU2PPP2JZ	P!)%fhJo9h)r�z@                class C:
                    %s
                r�r�r�r�s&  r�test_classdocstring�"Test_pygettext.test_classdocstring�r�r�c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z0        class C:
            b"""doc"""
        r�r�r�s&  r�test_classdocstring_bytes�(Test_pygettext.test_classdocstring_bytes�r�r�c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z0        class C:
            f"""doc"""
        r�r�r�s&  r�test_classdocstring_fstring�*Test_pygettext.test_classdocstring_fstring�r�r�c
���QFDXoUOU29^tt^2UO[QU*22oUOQU2PPP2JZ	P!)%fhJo9h)r�z#                %s
                r�r�r�r�s&  r�test_moduledocstring�#Test_pygettext.test_moduledocstring�sd��B�C����c�"�"��9�9�&�B��B�;����
�
�e�V�,�	#�"�C�"�"�"�r�c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z        b"""doc"""
        r�r�r�s&  r�test_moduledocstring_bytes�)Test_pygettext.test_moduledocstring_bytes��H���1�1�&�:�3
���	
���V�F�V�E�u��~�%�%�V�F�G��Fr�c��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z        f"""doc"""
        r�r�r�s&  r�test_moduledocstring_fstring�+Test_pygettext.test_moduledocstring_fstring�r�r�c�N�UOQ2oUOQU2P!)z_("""doc""" r'str' u"ing")�	docstring)rbri�r0r<s& r�
test_msgid�Test_pygettext.test_msgid�s#���1�1�0�2���
�
�k�6�*rc��UOQ2oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z
_(b"""doc""")r��rbr�r�s&  r�test_msgid_bytes�Test_pygettext.test_msgid_bytes��:���1�1�/�B�����V�F�V�E�u��~�%�%�V�F�G��F�
�A�Ac��UOQ2oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z
_(f"""doc""")r�r�r�s&  r�test_msgid_fstring�!Test_pygettext.test_msgid_fstring�r�r�c�`�UO[Q22oUOQU2P!)z2Test docstrings for functions with annotated args z9        def foo(bar: str):
            """doc"""
        r��rbrrir�s& r�!test_funcdocstring_annotated_args�0Test_pygettext.test_funcdocstring_annotated_args��.���1�1�&�:�3
���	
�
�
�e�V�$rc�`�UO[Q22oUOQU2P!)z9Test docstrings for functions with annotated return type z;        def foo(bar) -> str:
            """doc"""
        r�r�r�s& r�#test_funcdocstring_annotated_return�2Test_pygettext.test_funcdocstring_annotated_returnr�rc�`�UO[Q22oUOQU2P!)z5Test docstring for functions with default arg values z7        def foo(bar=()):
            """doc"""
        r�r�r�s& r� test_funcdocstring_defvalue_args�/Test_pygettext.test_funcdocstring_defvalue_argsr�rc��UO[Q22oUOQU2UOQU2UOQU2P!)zyTest docstring extraction for multiple functions combining
annotated args, annotated return types and default arg values
z�        def foo1(bar: tuple=()) -> str:
            """doc1"""

        def foo2(bar: List[1:2]) -> (lambda x: x):
            """doc2"""

        def foo3(bar: 'func'=lambda x: x) -> {1: 2}:
            """doc3"""
        �doc1�doc2�doc3r�r�s& r�!test_funcdocstring_multiple_funcs�0Test_pygettext.test_funcdocstring_multiple_funcssL���1�1�&�	:�	3
�	��	
�
�
�f�f�%��
�
�f�f�%��
�
�f�f�%rc�`�UO[Q22oUOQU2P!)zTTest docstring extraction for a class with colons occurring within
the parentheses.
z\        class D(L[1:2], F({1: 2}), metaclass=M(lambda x: x)):
            """doc"""
        r�r�r�s& r�test_classdocstring_early_colon�.Test_pygettext.test_classdocstring_early_colon&s0���1�1�&�:�3
���	
�
�
�e�V�$rc�`�UO[Q22oUOQU2P!)z"        f"{_('foo bar')}"
        �foo barr�r�s& r�test_calls_in_fstrings�%Test_pygettext.test_calls_in_fstrings0�.���1�1�&�:�3
���	
�
�
�i��(rc�`�UO[Q22oUOQU2P!)z#        rf"{_('foo bar')}"
        r�r�r�s& r�test_calls_in_fstrings_raw�)Test_pygettext.test_calls_in_fstrings_raw6r�rc�`�UO[Q22oUOQU2P!)z+        f"""{f'{_("foo bar")}'}"""
        r�r�r�s& r�test_calls_in_fstrings_nested�,Test_pygettext.test_calls_in_fstrings_nested<r�rc�`�UO[Q22oUOQU2P!)z&        f"{obj._('foo bar')}"
        r�r�r�s& r� test_calls_in_fstrings_attribute�/Test_pygettext.test_calls_in_fstrings_attributeBr�rc�`�UO[Q22oUOQU2P!)z*        f"{type(str)('foo bar')}"
        r��rbr�assertNotInr�s& r�(test_calls_in_fstrings_with_call_on_call�7Test_pygettext.test_calls_in_fstrings_with_call_on_callHs0���1�1�&�:�3
���	
����F�+rc�`�UO[Q22oUOQU2P!)z6        f"{_('foo {bar}').format(bar='baz')}"
        �	foo {bar}r�r�s& r�"test_calls_in_fstrings_with_format�1Test_pygettext.test_calls_in_fstrings_with_formatNs.���1�1�&�:�3
���	
�
�
�k�6�*rc��UO[Q22oSOSTt,tFDoQU7fJUMJ	to2P!ttoh)z%        f"{_(f'foo {bar}')}"
        r�r�r�s&  r�)test_calls_in_fstrings_with_wrong_input_1�8Test_pygettext.test_calls_in_fstrings_with_wrong_input_1TsI���1�1�&�:�3
���	
���V�L�V�E�{�e�7K�%�%�V�L�M��Lr�c�`�UO[Q22oUO]U2P!)z        f"{_(1)}"
        r�r�s& r�)test_calls_in_fstrings_with_wrong_input_2�8Test_pygettext.test_calls_in_fstrings_with_wrong_input_2Zs0���1�1�&�:�3
���	
����F�#rc��UO[Q22oUOQU2UOQU2P!)z%        f"{_('foo', 'bar')}"
        �foo�bar�rbrrir�r�s& r�(test_calls_in_fstring_with_multiple_args�7Test_pygettext.test_calls_in_fstring_with_multiple_args`s>���1�1�&�:�3
���	
�
�
�e�V�$������'rc��UO[Q22oUOQU2UOQU2UOQU2P!)z)        f"{_('foo', bar='baz')}"
        r�r��bazr�r�s& r�'test_calls_in_fstring_with_keyword_args�6Test_pygettext.test_calls_in_fstring_with_keyword_argsgsN���1�1�&�:�3
���	
�
�
�e�V�$������'������'rc��UO[Q22oUOQU2UOQU2P!)z*        f"{_(f'foo') + _('bar')}"
        r�r�)rbrr�rir�s& r�5test_calls_in_fstring_with_partially_wrong_expression�DTest_pygettext.test_calls_in_fstring_with_partially_wrong_expressionos>���1�1�&�:�3
���	
�����'��
�
�e�V�$rc�b�UO[Q22oUOUP,2P!)z@Test that function and class names are not mistakenly extracted.z�        def _(x):
            pass

        def _(x="foo"):
            pass

        async def _(x):
            pass

        class _(object):
            pass
        )r\rrCr�s& r�test_function_and_class_names�,Test_pygettext.test_function_and_class_namesvs2���&�&�v�/�(
���	
����"��&rc	���[2FDLvqoUOUQ59^tt^2UOQQ5oUOVC2PPP2JN	P!)%fhJc9h)z9Test that the pygettext output exactly matches snapshots.)�
input_filerNrO)�extract_from_snapshotsr��	read_textrF)r0r��output_file�outputrDs&    r�test_pygettext_output�$Test_pygettext.test_pygettext_output�sY��/E�/G�+�J�V������4�4�&�0�0�'�0�B���%�%�h�7�5�4�0H�4�4�4�s�$A	�A0
�(A0
c	�*�QoQoQo[P29^tt^2[P29^tt^2o[UQQ2oUOO	2UOQU8Q0QQ	5[UQ
Q2oUOO	2UOQU8Q0QQ	5[UQQ
2oUOO	2UOQU8Q0QQ	5[
QUOU2[Q2OQQ	5oUOQUQ0U2UOQUQ0U2UOV82PPP2PPP2P!)%fhK9h)%fhP!9h)zCMake sure the directories are inspected for source files
bpo-31920
zText to translate1zText to translate2zText to ignore�pypkgzpymod.pyz_(�)rNrOzpkg.pyz	pymod2.py�CVSz	pymod3.pyrQrRzmsgid "r()rrr�parent�mkdir�
write_textrrUr�rir�)	r0�text1�text2�text3�sdir�pymod�pymod2�pymod3r1s	&        r�test_files_list�Test_pygettext.test_files_list�sJ��%��$�� ��
�d�^�^�X�d�^�^�t���w�
�3�E��L�L��� ����r�%��!�_�w��?��$��+�6�F��M�M���!�����5�)�1�o���@��$��{�3�F��M�M���!�����5�)�1�o���@��X�t�{�{�D�9���'�1�1�7�1�C�D��M�M�G�E�7�!�,�d�3��M�M�G�E�7�!�,�d�3����U�)�#,�^�^�^�^��^�^�^�s/�F�D-E.	�F�.E>
�7E>
�9F�F	�
F	c��[UOQ2oUOUOQ2UO	QUO
2P!)z%Test that the help text is displayed.z--helprs-pygettext -- Python equivalent of xgettext(1))rrUrCr|rirV)r0r[s& r�test_help_text�Test_pygettext.test_help_text�s9���t�{�{�H�5��������#�&��
�
�F����Prc��UO[Q22oUOQ2OQP2oUO	UQ2P!)z5Test that pygettext outputs error messages to stderr.zN        _(1+2)
        ngettext('foo')
        dgettext(*args, 'foo')
        rN�
z�*** test.py:1: Expected a string constant for argument 1, got 1 + 2
*** test.py:2: Expected at least 2 positional argument(s) in gettext call, got 1
*** test.py:3: Variable positional arguments are not allowed in gettext calls
)rer�decoderrC)r0�stderrs& r�test_error_messages�"Test_pygettext.test_error_messages�sP������)�"
������w�'�/�/��b�9������
^�	
rc
���QFDVoUOUQ59^tt^2UO[Q2U1P	Q5oUOQU2PPP2JX	P!)%fhJm9h)z_
Test that the --add-comments option without an
explicit tag extracts all translator comments.
��argzN                # Translator comment
                _("foo")
                �rHrKz#. Translator comment)z--add-commentsz-c)r�r\rri)r0rr1s&  r�test_extract_all_comments�(Test_pygettext.test_extract_all_comments�sl��
,�C����#��&�&��,�,�V�5�.� �6�t�-�-���
�
�5�t�<�'�&�,�&�&�&�s�1A!	�!A2
�*A2
c
�t�Q	FD�oUOUQ59^tt^2UOQ2UOQ21oUO[Q2UP	Q5oUO	QU2UO	QU2UOQU2PPP2J�	P!)%fhJ�9h)
z:
Test that multiple --add-comments tags can be specified.
r�foo:zbar:z�                # foo: comment
                _("foo")

                # bar: comment
                _("bar")

                # baz: comment
                _("baz")
                rz#. foo: commentz#. bar: commentz#. baz: comment)z--add-comments={}z-c{})r��formatr\rrir�)r0rrHr1s&   r� test_comments_with_multiple_tags�/Test_pygettext.test_comments_with_multiple_tags�s���1�C����#��&�&��
�
�6�*�C�J�J�v�,>�?���,�,�V�	5�	.� �T�-�	+���
�
�/��6��
�
�/��6�� � �!2�D�9�'�&�1�&�&�&�s�A6B&	�&B7
�/B7
c�d�UO[Q2P	Q5oUOQU2P!)zT
Test that translator comments are not extracted without
specifying --add-comments.
z6        # Translator comment
        _("foo")
        )rKz#.)r\rr�)r0r1s& r�(test_comments_not_extracted_without_tags�7Test_pygettext.test_comments_not_extracted_without_tags�s<��
�$�$�V�-�&
��%���	
����t�$rc�$�QQQ]-11QQQ]-11QQQ]Q]-11QQQ]Q]-11QQQ]Q]-11QQQ]Q]-11Q	QQ]Q]-11Q
QQ]Q]Q]-11QQQ]Q]Q]-11QQQ]Q]Q]-111
oSFDfvq#UOUQ
59^tt^2UO[U2U2UO[[U2U2PPP2Jh	QoSFD~vq%UOUQ
59^tt^2UO	[
29^tt^2o[U2PPP2UO[
WO2U2PPP2J�	P!)%fhCJ9h)%fhKX9h)%fhJ�9h)r�r+zfoo:1�foo:1,2�msgid_pluralzfoo:1, 2zfoo:1,2c�msgctxtzfoo:2c,1z	foo:2c ,1z
foo:1,2,3czfoo:1, 2, 3cz
foo:3c,1,2)�spec)
)r z7Invalid keyword spec 'foo:': missing argument positions)zfoo:barz:Invalid keyword spec 'foo:bar': position is not an integer)zfoo:0zJInvalid keyword spec 'foo:0': argument positions must be strictly positive)zfoo:-2zKInvalid keyword spec 'foo:-2': argument positions must be strictly positive)zfoo:1,1z3Invalid keyword spec 'foo:1,1': duplicate positions)z	foo:1,2,1z5Invalid keyword spec 'foo:1,2,1': duplicate positions)zfoo:1c,2,1cz7Invalid keyword spec 'foo:1c,2,1c': duplicate positions)zfoo:1c,2,3cz@Invalid keyword spec 'foo:1c,2,3c': msgctxt can only appear once)z	foo:1,2,3z4Invalid keyword spec 'foo:1,2,3': too many positions)zfoo:1czBInvalid keyword spec 'foo:1c': msgctxt cannot appear without msgid)r�rCrr�assertRaises�
ValueError�str�	exception)r0�validr+rD�invalid�message�cms&      r�test_parse_keyword_spec�&Test_pygettext.test_parse_keyword_spec�s���
�U�W�a�L�)�*�
�u�w��l�+�,�
���!�^�Q� ?�@�A�
�%�'�1�n�a�!@�A�B�
�%�'�1�i��!;�<�=�
�%�'�1�i��!;�<�=�
�5�7�A�y�!�"<�=�>�
�E�G�Q���9�a�#P�Q�R�
�e�g�q�.�!�Y�PQ�%R�S�T�
�E�G�Q���9�a�#P�Q�R�
��$�N�D����4��(�(�� � ��D�!1�8�<�� � ��L�(�,C�!D�h�O�)�(�$�
��%�M�D����4��(�(��&�&�z�2�2�b��t�$�3�� � ��R�\�\�!2�G�<�)�(�%�#)�(�(��&3�2��)�(�(�sB�?E	�1E>	�E+
�-E>	�E(
�E(
�+E;�4E;�6E>	�>F
�F
c
�*�[O2TTt-tFDvqV,aJ
	oooQ,P	1Q,P	1QQ,P	1Q,P
1,Q
NP
1QQ,P	1Q,P
11oQQ]-,-QQ]Q]-,-QQ]-Q]Q]-,-UQQ]-,-*UQQ]Q]-Q]Q]Q]-Q]-,QQ]-Q]Q]-,-*QQ]-,-U1o[VE2FDJvvqgoUOUUQ59^tt^2[	UUQ	5oUOV�2PPP2JL	P!ttooh)%fhJg9h)r��_:1,2r(�pgettext�_r+r)r*)�keywords�no_default_keywords)r;)r7z_:1c,2,3r8)r
�items�zipr�rrC)	r0�namer+�default_keywords�inputsrDr:r;�	processeds	&        r�test_process_keywords�$Test_pygettext.test_process_keywordss���.�4�4�6�8�6�.8�T�D�&�L�6�	�8��W�d�O��Y����Y�
��&��W�e��
.��6��U�^�T�"��U�E�N�	
���g�q�\�N�#�
�G�Q���2�3�4�
�g�q�\�G�Q���#B�C�D����!��~�6�6���w��>�1�&E�'0�!�W�a��QR�&S�'.��l�&4�!+�g�q�\�.7��G�Q�-G�-I� J�
J�
�g�q�\�N�#��
��:=�V�9N�5�+�X�X����x�2E��G�G�,��(;�=�	�� � ��5�G�G�:O��38�4G�G�G�s�C;�D	�D
�
D
c�~�UO[Q2Q
P	Q5vqUOQU2UOQU2UOUQ2UO[Q2Q
P	P
Q5vqUOUP,2UO	Q2OQP2oUOUQ	2P!)z2        _("foo", 42)
        _(42, "bar")
        )rHrJr�r�rz*        _(x, 42)
        _(42, y)
        )rHrJrIrNral*** test.py:1: No keywords matched gettext call "_":
	keyword="_": Expected a string constant for argument 1, got x
	keyword="_:2": Expected a string constant for argument 2, got 42
*** test.py:2: No keywords matched gettext call "_":
	keyword="_": Expected a string constant for argument 1, got 42
	keyword="_:2": Expected a string constant for argument 2, got y
)z
--keyword=_:1z
--keyword=_:2)r\rrirCrr)r0r<rs&  r�+test_multiple_keywords_same_funcname_errors�:Test_pygettext.test_multiple_keywords_same_funcname_errors4s����.�.�v�7�0
�6�4�/�I���	
�
�
�e�V�$��
�
�e�V�$������%��.�.�v�7�0
�6�4��	/����
	
����"��&����w�'�/�/��b�9������
R�	Sr)rB�)?�__name__�
__module__�__qualname__�__firstlineno__�__doc__rrrUr6r?rFr\rbrerk�unittest�skipIf�sys�platformr.rsr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr"r%r4rBrE�__static_attributes__�__classdictcell__)�
__classdict__s@rr%r%2si����)�
�(�F�N�
3�F�	��0S�
�r��$��%*��05��$[�X�2�4�_�_�S�\�\�,�,�U�3�4�6�@�6�@�"O�-�H�H�-�H�H�-�H�H�+�
H�H�%�%�%�&�$%�)�)�)�)�,�+�N�$�(�(�%�'�"8�*�4Q�
�$=�:�*	%�#=�J 6�DS�Srr%c#�j �QQQQ
QQ
QQQQQQQQQQ-oUO2FD�vq[U[2%c Uvq[U*o[U*oL[U*oUO	Q2oUO2o[
P29^tt^2[UO2OU2[Q[O,UNUOM3VC[Q	2OQ
Q51w�PPP2J�	P!)%fhCJ	9h3h)zmessages.pyz
fileloc.pyz
docstrings.pyzcomments.pyzcustom_keywords.pyzmultiple_keywords.py�
escapes.pyz.potrQrRrNrOrGr_)z--add-comments=i18n:)�
--keyword=fooz--keyword=nfoo:1,2z--keyword=pfoo:1c,2z--keyword=npfoo:1c,2,3z--keyword=_:1,2)z--keyword=foo:1c,2,3z--keyword=foo:1c,2z--keyword=foo:1,2rVrV)z--escape�--add-comments=)rUzascii-escapes.pot)rW)r<�
isinstance�tuple�DATA_DIR�with_suffix�
read_bytesrrr>�write_bytesrr%rUr�)�	snapshotsrYrHr�r��contentss      rr�r�Ss%����r��'��*��0��L�	�!C�	�5�+�-A�!�I�&$�/�/�+����h��&�&�$,�!�H�"�[�0�K�!�H�,�J�!�H�,�J�$�0�0��8�K��(�(�*��
�d�^�^�����!�-�-�h�7��X�~�'<�'<�
.�t�
.�'�_�_�
.����'�1�1�7�1�C�E�
E�	�^�,��^�^�s+�?D3�A D3�"A.D	�D3�D0
�'D0
�)
D3c�n�[2FD$vqo[U2oUOUQQ5J&	P!)rNrO)r�r#r)r9r�r�s   r�update_POT_snapshotsraxs1��"8�":����#�F�+�����v���8�#;r�__main__z--snapshot-update)%rLrrrOrM�textwrapr�pathlibr�test.support.script_helperr�test.test_toolsrrr�test.support.os_helperrr�__file__�resolverrZ�	pygettextrrr
rr#�TestCaser%r�rarHr;�argv�exit�mainrGrr�<module>ros���+�	�	�
����7�I�I�5�����>�!�!�#�*�*�[�8������)�)� �
�2^S�X�&�&�^S�B"E�J9��z��
�3�8�8�}�q��S�X�X�a�[�,?�?���������M�M�O��U ��s�6
D
�
D	�D	

Youez - 2016 - github.com/yon3zu
LinuXploit