Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_pyexpat.cpython-312.pyc

�

'Μgiu����ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZddl
mZmZmZGd�d	ej&�Zd
ZGd�dej&�ZGd
�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�dej&�ZGd�d ej&�Z Gd!�d"ej&�Z!e"d#k(rejF�yy)$�N)�BytesIO)�support)�	os_helper)�expat)�errors)�sortdict�
is_emscripten�is_wasic�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�SetAttributeTestc�:�tjd��|_y�N�!��namespace_separator)r�ParserCreate�parser��selfs �./usr/local/lib/python3.12/test/test_pyexpat.py�setUpzSetAttributeTest.setUps���(�(�S�A���c���|j|jjd�dD]B}||j_|j|jjt|���Dy�NF)r��r)�assertIsr�buffer_text�bool�r�xs  r�test_buffer_textz!SetAttributeTest.test_buffer_textsL���
�
�d�k�k�-�-�u�5��A�&'�D�K�K�#��M�M�$�+�+�1�1�4��7�;�rc���|j|jjd�dD]B}||j_|j|jjt|���Dyr)rr�namespace_prefixesrr s  r�test_namespace_prefixesz(SetAttributeTest.test_namespace_prefixes�L���
�
�d�k�k�4�4�e�<��A�-.�D�K�K�*��M�M�$�+�+�8�8�$�q�'�B�rc���|j|jjd�dD]B}||j_|j|jjt|���Dyr)rr�ordered_attributesrr s  r�test_ordered_attributesz(SetAttributeTest.test_ordered_attributes$r&rc���|j|jjd�dD]B}||j_|j|jjt|���Dyr)rr�specified_attributesrr s  r�test_specified_attributesz*SetAttributeTest.test_specified_attributes*sL���
�
�d�k�k�6�6��>��A�/0�D�K�K�,��M�M�$�+�+�:�:�D��G�D�rc�"�|jt�5d|j_ddd�|jt�5|jjddd�|jtt
|jt
d�d�|jt|jjt
d�d�|jtt|jt
d��y#1swY��xYw#1swY��xYw)Nr�r)	�assertRaises�AttributeErrorr�returns_unicode�	TypeError�setattr�range�__setattr__�getattrrs r�test_invalid_attributesz(SetAttributeTest.test_invalid_attributes0s���
�
�
�~�
.�*+�D�K�K�'�/�
�
�
�~�
.��K�K�'�'�/�	
���)�W�d�k�k�5��:�q�I����)�T�[�[�%<�%<�e�C�j�!�L����)�W�d�k�k�5��:�F�/�
.��
.�
.�s�C9�D�9D�DN)	�__name__�
__module__�__qualname__rr"r%r)r,r7�rrrrs%��B�<�C�C�E�	Grrs�<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<?xml-stylesheet href="stylesheet.css"?>
<!-- comment data -->
<!DOCTYPE quotations SYSTEM "quotations.dtd" [
<!ELEMENT root ANY>
<!ATTLIST root attr1 CDATA #REQUIRED attr2 CDATA #IMPLIED>
<!NOTATION notation SYSTEM "notation.jpeg">
<!ENTITY acirc "&#226;">
<!ENTITY external_entity SYSTEM "entity.file">
<!ENTITY unparsed_entity SYSTEM "entity.file" NDATA notation>
%unparsed_entity;
]>

<root attr1="value1" attr2="value2&#8000;">
<myns:subelement xmlns:myns="http://www.python.org/namespace">
     Contents of subelements
</myns:subelement>
<sub2><![CDATA[contents of CDATA section]]></sub2>
&external_entity;
&skipped_entity;
�
</root>
c�L�eZdZGd�d�Zgd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
y
)�	ParseTestc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�ParseTest.Outputterc��g|_y�N)�outrs r�__init__zParseTest.Outputter.__init__Ys	���D�Hrc�p�|jjdt|�zdzt|�z�y)NzStart element: � )rB�append�reprr�r�name�attrss   r�StartElementHandlerz'ParseTest.Outputter.StartElementHandler\s/���H�H�O�O�-��T�
�:�S�@�$�U�O�,�
-rc�R�|jjdt|�z�y)Nz
End element: �rBrFrG�rrIs  r�EndElementHandlerz%ParseTest.Outputter.EndElementHandler`s���H�H�O�O�O�d�4�j�8�9rc�x�|j�}|r(|jjdt|�z�yy)NzCharacter data: )�striprBrFrG�r�datas  r�CharacterDataHandlerz(ParseTest.Outputter.CharacterDataHandlercs/���:�:�<�D������� 2�T�$�Z� ?�@�rc�p�|jjdt|�zdzt|�z�y)NzPI: rErM)r�targetrSs   r�ProcessingInstructionHandlerz0ParseTest.Outputter.ProcessingInstructionHandlerhs)���H�H�O�O�F�T�&�\�1�C�7�$�t�*�D�Erc�p�|jjdt|�zdzt|�z�y)Nz	NS decl: rErM)r�prefix�uris   r�StartNamespaceDeclHandlerz-ParseTest.Outputter.StartNamespaceDeclHandlerks)���H�H�O�O�K�$�v�,�6��<�t�C�y�H�Irc�R�|jjdt|�z�y)NzEnd of NS decl: rM)rrYs  r�EndNamespaceDeclHandlerz+ParseTest.Outputter.EndNamespaceDeclHandlerns���H�H�O�O�.��f��=�>rc�:�|jjd�y)N�Start of CDATA section�rBrFrs r�StartCdataSectionHandlerz,ParseTest.Outputter.StartCdataSectionHandlerqs���H�H�O�O�4�5rc�:�|jjd�y)N�End of CDATA sectionr`rs r�EndCdataSectionHandlerz*ParseTest.Outputter.EndCdataSectionHandlerts���H�H�O�O�2�3rc�R�|jjdt|�z�y)Nz	Comment: rM�r�texts  r�CommentHandlerz"ParseTest.Outputter.CommentHandlerws���H�H�O�O�K�$�t�*�4�5rc�N�|\}}}}|jjd|���y)NzNotation declared: r`)r�argsrI�base�sysid�pubids      r�NotationDeclHandlerz'ParseTest.Outputter.NotationDeclHandlerzs#��'+�$�D�$��u��H�H�O�O�d�<�=rc�P�|\}}}}}|jjd|���y)NzUnparsed entity decl: r`)rrj�
entityNamerk�systemId�publicId�notationNames       r�UnparsedEntityDeclHandlerz-ParseTest.Outputter.UnparsedEntityDeclHandler~s%��AE�>�J��h��,��H�H�O�O��?�@rc�:�|jjd�y)N�Not standalonerr`rs r�NotStandaloneHandlerz(ParseTest.Outputter.NotStandaloneHandler�s���H�H�O�O�,�-�rc�T�|\}}}}|jjd|dd���y)NzExternal entity ref: rr`)rrj�contextrk�sysId�pubIds      r�ExternalEntityRefHandlerz,ParseTest.Outputter.ExternalEntityRefHandler�s,��*.�'�G�T�5�%��H�H�O�O��Q�R��B�C�rc�>�|jjd|f�y)N�
Start doctyperr`�rrjs  r�StartDoctypeDeclHandlerz+ParseTest.Outputter.StartDoctypeDeclHandler�s���H�H�O�O�_�d�3�4�rc�:�|jjd�y)N�End doctyperr`rs r�EndDoctypeDeclHandlerz)ParseTest.Outputter.EndDoctypeDeclHandler�s���H�H�O�O�M�*�rc�>�|jjd|f�y)N�Entity declarationrr`rs  r�EntityDeclHandlerz%ParseTest.Outputter.EntityDeclHandler�s���H�H�O�O�1�4�8�9�rc�>�|jjd|f�y)N�XML declarationrr`rs  r�XmlDeclHandlerz"ParseTest.Outputter.XmlDeclHandler�s���H�H�O�O�.��5�6�rc�>�|jjd|f�y)N�Element declarationrr`rs  r�ElementDeclHandlerz&ParseTest.Outputter.ElementDeclHandler�s���H�H�O�O�2�D�9�:�rc�>�|jjd|f�y)N�Attribute list declarationrr`rs  r�AttlistDeclHandlerz&ParseTest.Outputter.AttlistDeclHandler�s���H�H�O�O�9�4�@�A�rc�>�|jjd|f�y)N�Skipped entityrr`rs  r�SkippedEntityHandlerz(ParseTest.Outputter.SkippedEntityHandler�s���H�H�O�O�-�t�4�5�rc��yrAr;�r�userDatas  r�DefaultHandlerz"ParseTest.Outputter.DefaultHandler����rc��yrAr;r�s  r�DefaultHandlerExpandz(ParseTest.Outputter.DefaultHandlerExpand�r�rN)r8r9r:rCrKrOrTrWr[r]rardrhrnrtrwr|r�r�r�r�r�r�r�r�r�r;rr�	Outputterr?Xsy��	�	-�	:�	A�
	F�	J�	?�	6�	4�	6�	>�	A�	�	�
	�	�	�	�	�	�	�	�	rr�)rKrOrTrWrtrnr[r]rhrardr�r�rwr|r�r�r�r�r�r�r�c	�T�|jD]}t||t||���y)z{
        Set each of the callbacks defined on handler and named in
        self.handler_names on the given parser.
        N)�
handler_namesr3r6)rr�handlerrIs    r�_hookup_callbackszParseTest._hookup_callbacks�s'��
�&�&�D��F�D�'�'�4�"8�9�'rc�X�gd�}t||�D]\}}|j||��y)N))r�)z1.0�
iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'rv)r~)�
quotationszquotations.dtdNr)r�)�root)rrNr;)r�)r��attr1�CDATANr)r�)r��attr2r�Nrz<Notation declared: ('notation', None, 'notation.jpeg', None))r�)�acircr�âNNNN)r�)�external_entityrNNzentity.fileNNzPUnparsed entity decl: ('unparsed_entity', None, 'entity.file', None, 'notation')rvr�u?Start element: 'root' {'attr1': 'value1', 'attr2': 'value2ὀ'}z1NS decl: 'myns' 'http://www.python.org/namespace'z>Start element: 'http://www.python.org/namespace!subelement' {}z)Character data: 'Contents of subelements'z9End element: 'http://www.python.org/namespace!subelement'zEnd of NS decl: 'myns'zStart element: 'sub2' {}r_z+Character data: 'contents of CDATA section'rczEnd element: 'sub2'z0External entity ref: (None, 'entity.file', None))r�)�skipped_entityruCharacter data: 'µ'zEnd element: 'root')�zip�assertEqual)r�
operations�expected_operations�	operation�expected_operations     r�_verify_parse_outputzParseTest._verify_parse_output�s7��!
��D.1��=P�-Q�)�I�)����Y�(:�;�.Rrc��|j�}tjd��}|j||�|j	t
d�|j}|j|�|jtt|d�y)NrrTu�)r�rrr��ParserSrBr�r/r0r6�rrBrr�s    r�test_parse_byteszParseTest.test_parse_bytes�sg���n�n����#�#��<�����v�s�+����T�4� ��W�W�
��!�!�*�-����.�'�6�8�Drc��|j�}tjd��}|j||�|j	t
j
d�d�|j}|j|�y)Nrrr�T)	r�rrr�r�rS�decoderBr�r�s    r�test_parse_strzParseTest.test_parse_str�s\���n�n����#�#��<�����v�s�+����T�[�[��.��5��W�W�
��!�!�*�-rc���|j�}tjd��}|j||�t	t
�}|j
|�|j}|j|�yr)	r�rrr�rrS�	ParseFilerBr�)rrBr�filer�s     r�test_parse_filezParseTest.test_parse_file�s\���n�n����#�#��<�����v�s�+��t�}��������W�W�
��!�!�*�-rc��tj�}tt�}|j	|�|jtj�5}|j	|�ddd�|jtjjj�tjj�y#1swY�[xYwrA)
rrrrSr�r/�errorr��ErrorString�	exception�coder�XML_ERROR_FINISHED)rrr��cms    r�test_parse_againzParseTest.test_parse_again	s����#�#�%���t�}��������
�
�u�{�{�
+�r����T�"�,�����*�*�2�<�<�+<�+<�=��,�,�9�9�	;�,�
+�s�C�C	N)r8r9r:r�r�r�r�r�r�r�r�r;rrr=r=Ws6��S�S�j

�M�:�$<�L
E�.�
.�
;rr=c��eZdZd�Zd�Zd�Zy)�NamespaceSeparatorTestc��tj�tjd��tjd��y)NrrE�rrrs r�
test_legalz!NamespaceSeparatorTest.test_legals,��	����
���t�4�
���s�3rc�d�	tjd��|j�	tjd��|j�y#t$r%}|j	t|�d�Yd}~�Qd}~wwxYw#t$r%}|j	t|�d�Yd}~yd}~wwxYw)N�*rzJParserCreate() argument 'namespace_separator' must be str or None, not intztoo longzCnamespace_separator must be at most one character, omitted, or None)rr�failr2r��str�
ValueError)r�es  r�test_illegalz#NamespaceSeparatorTest.test_illegals���	^����2�6��I�I�K�
	W����:�>��I�I�K��
�	^����S��V�\�
^�
^��	^���	W����S��V�U�
W�
W��	W�s.�&A�&B�	A>�A9�9A>�	B/�
B*�*B/c�0�tjd��y)N�rr�rs r�test_zero_lengthz'NamespaceSeparatorTest.test_zero_length,s��	���r�2rN)r8r9r:r�r�r�r;rrr�r�s��4�
W�	3rr�c��eZdZd�Zd�Zy)�
InterningTestc����tj�}g��fd�}||_||_|j	dd��d}|jt
��d��D]}|j||u��y)Nc�(���j|�yrA�rF)rIrj�Ls  �r�	collectorz%InterningTest.test.<locals>.collector=s���
�H�H�T�Nrs<e> <e/> <e></e> </e>Tr�)rrrKrOr�r��len�
assertTrue)r�pr��tag�entryr�s     @r�testzInterningTest.test9sq������ ����	� )���'���	���(�$�/���d������Q���#��E��O�O�C�5�L�)�rc���Gd�d�}tjd��}d|_||�}|j|_|j	t
d�|j
|jd�y)Nc��eZdZd�Zd�Zy)�7InterningTest.test_issue9402.<locals>.ExternalOutputterc� �||_d|_yrA)r�
parser_result�rrs  rrCz@InterningTest.test_issue9402.<locals>.ExternalOutputter.__init__Ks��$���%)��"rc�h�|jjd�}|jdd�|_y)Nr�rTr)r�ExternalEntityParserCreater�r�)rryrkrzr{�external_parsers      rr|zPInterningTest.test_issue9402.<locals>.ExternalOutputter.ExternalEntityRefHandlerOs.��"&�+�+�"H�"H��"L��%4�%:�%:�3��%E��"�rN)r8r9r:rCr|r;rr�ExternalOutputterr�Js��
*�
rr�rrrT)rrrr|r�rSr�r�)rr�rrBs    r�test_issue9402zInterningTest.test_issue9402Hsb��	�	��#�#��<�������'��*-�*F�*F��'����T�4� �����*�*�A�.rN)r8r9r:r�r�r;rrr�r�8s��
*�/rr�c�p�eZdZd�Zd�Zd�Zd�Zd�Zd�Zgfd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�BufferTextTestc��g|_tj�|_d|j_|j
|j_y�Nr)�stuffrrrrrTrs rrzBufferTextTest.setUp]s7����
��(�(�*���"#�����+/�+D�+D����(rc�~�|j|j||�d|j�dtt|����y)Nz
stuff    = z
expected = )r�r��mapr�)r�expected�labels   r�checkzBufferTextTest.checkcs/��������X��$�*�*�c�#�x�&8�:�	;rc�:�|jj|�yrA�r�rFrfs  rrTz#BufferTextTest.CharacterDataHandlerhs���
�
���$�rc��|jjd|z�|jd�}|dk(rd|j_y|dk(rd|j_yy)Nz<%s>zbuffer-text�yesr�nor)r�rF�getrr)rrIrJ�bts    rrKz"BufferTextTest.StartElementHandlerksQ���
�
���&�4�-�(�
�Y�Y�}�
%��
��;�&'�D�K�K�#�
�4�Z�&'�D�K�K�#�rc�@�|jjd|z�y)Nz</%s>r�rNs  rrOz BufferTextTest.EndElementHandlerss���
�
���'�D�.�)rc�@�|jjd|z�y)Nz	<!--%s-->r�rRs  rrhzBufferTextTest.CommentHandlervs���
�
���+��,�-rc	�T�|D]#}t|j|t||���%yrA)r3rr6)r�handlersrIs   r�setHandlerszBufferTextTest.setHandlersys#���D��D�K�K��w�t�T�':�;�rc�b�tj�}|j|j�yrA)rr�assertFalserr�s  r�test_default_to_disabledz'BufferTextTest.test_default_to_disabled}s$���#�#�%������+�+�,rc���|j|jj�|jjdd�|j	|j
dgd�y)N�<a>1<b/>2<c/>3</a>T�123�$buffered text not properly collapsed)r�rrr�r�r�rs r�test_buffering_enabledz%BufferTextTest.test_buffering_enabled�sI��������/�/�0������/��6�������e�W�?�	Arc��|jdg�|jjdd�|j|jgd�d�y)NrKs9<a>1<b buffer-text='no'/>2
3<c buffer-text='yes'/>4
5</a>T)�<a>�1�<b>�2�
�3�<c>z4
5z*buffering control not reacting as expected�rrr�r�r�rs r�test1zBufferTextTest.test1�sG��	
���/�0�1������X�Z^�_�������K�E�	Grc�x�|jjdd�|j|jdgd�y)Ns&<a>1<b/>&lt;2&gt;<c/>&#32;
&#x20;3</a>Tz1<2> 
 3r)rr�r�r�rs r�test2zBufferTextTest.test2�s3�������D�d�K�������k�]�?�	Arc��|jdg�|jjdd�|j|jgd�d�y)NrKrT)rrr
rrr� buffered text not properly splitrrs r�test3zBufferTextTest.test3�sC�����/�0�1������/��6�������%I�;�	=rc��|jddg�d|j_|jjdd�|j	|j
gd��y)NrKrOrT)rr
�</b>r�</c>�</a>)rrrTr�r�r�rs r�test4zBufferTextTest.test4�sP�����/�1D�E�F�+/����(������/��6�������F�	Hrc��|jddg�|jjdd�|j|jgd��y)NrKrOs<a>1<b></b>2<c/>3</a>T)	rrr
rrrrrrrrs r�test5zBufferTextTest.test5�sD�����/�1D�E�F������2�D�9�������H�	Jrc��|jgd��|jjdd�|j|jgd�d�y)N�rhrOrKs<a>1<b/>2<c></c>345</a> T)	rrr
rrrr�345rrrrs r�test6zBufferTextTest.test6�sD�����+�	,������5�t�<�������J�.�	0rc��|jgd��|jjdd�|j|jgd�d�y)Nr!s,<a>1<b/>2<c></c>3<!--abc-->4<!--def-->5</a> T)
rrr
rrrrrz
<!--abc-->�4z
<!--def-->�5rrrrs r�test7zBufferTextTest.test7�sG�����+�	,������I�4�P�������H�;�	=rN)r8r9r:rr�rTrKrOrhrrr	rrrrrr#r'r;rrr�r�\s]��E�;�
 �(�*�.�$&�<�-�A�G�A�
=�H�J�0�=rr�c�B�eZdZd�Zd�Zejd��Zd�Zy)�HandlerExceptionTestc� �td|�d���)NzStartElementHandler: <�>)�RuntimeErrorrHs   rrKz(HandlerExceptionTest.StartElementHandler�s���3�D�6��;�<�<rc��|jtjj|j�|�|j|j
|�yrA)r��os�path�basename�filenamerI)rr�r1�funcnames    r�check_traceback_entryz*HandlerExceptionTest.check_traceback_entry�s9��������)�)�%�.�.�9�8�D�������X�.rc��tjd�}|r tjj	|�}nd}|r0tj|�5|j|�ddd�y|j|�y#1swYyxYw)N�abs_builddirF)�	sysconfig�get_config_varr.r/�isdirr�
change_cwd�_test_exception)r�src_dir�have_sources   r�test_exceptionz#HandlerExceptionTest.test_exception�sn���*�*�>�:����'�'�-�-��0�K��K���%�%�g�.��$�$�[�1�/�.�
� � ��-�/�.�s�A>�>Bc��tjjdd�}tj�}|j
|_	|j
dd�|jd�|jt�d|�|j|dd	d
�|j|dtjj!|�d�|j|d
d	d�|r@tjj#|�r |j%d|dj&�yyy#t$rJ}|j|jdd|�tj|j�}Yd}~��d}~wwxYw)N�Modulesz	pyexpat.cs<a><b><c/></b></a>Tz%the parser did not raise RuntimeErrorrzStartElementHandler: <a>�ztest_pyexpat.pyr:r�StartElementrrKzcall_with_frame("StartElement")r.r/�joinrrrKr�r�r,r�rj�	traceback�
extract_tb�
__traceback__r�r3r0�exists�assertIn�line)rr<�	PYEXPAT_Cr�exc�entriess      rr:z$HandlerExceptionTest._test_exception�sF���G�G�L�L��K�8�	��#�#�%��%)�%=�%=��"�	>��L�L�.��5��I�I�=�>�
	
����W��q�'�2��"�"�7�1�:�#4�6G�	I��"�"�7�1�:�#%�7�7�#3�#3�I�#>�#1�	3�	
�"�"�7�1�:�#4�6K�	M��2�7�7�>�>�)�4��M�M�:�!�!�*�/�/�
+�5�;��!�	>����S�X�X�a�[�*D�c�J��*�*�3�+<�+<�=�G��	>�s�#D(�(	E;�1?E6�6E;N)	r8r9r:rKr3r�cpython_onlyr=r:r;rrr)r)�s+��=�/�
���.��.� +rr)c�$�eZdZd�Zd�Zd�Zd�Zy)�PositionTestc�&�|jd�y)N�s��	check_posrHs   rrKz PositionTest.StartElementHandler�������s�rc�&�|jd�y)Nr�rQrNs  rrOzPositionTest.EndElementHandler�rSrc�z�||jj|jj|jjf}|j	|j
t
|j�kd�|j|j
}|j||d|�d|���|xj
dz
c_y)Nztoo many parser eventszExpected position z, got position r)	r�CurrentByteIndex�CurrentLineNumber�CurrentColumnNumberr��uptor��
expected_listr�)r�event�posr�s    rrRzPositionTest.check_pos�s�����{�{�+�+��{�{�,�,��{�{�.�.�0��	
����	�	�C��(:�(:�$;�;�0�	2��%�%�d�i�i�0������h�:=�x�H�	J��	�	�Q��	rc��tj�|_|j|j_|j|j_d|_gd�|_d}|jj|d�y)Nr))rPrrr)rP�rr)rP�r@r)r�r.r@r�)r���r)r��r^rs<a>
 <b>
  <c/>
 </b>
</a>T)rrrrKrOrYrZr�)r�xmls  rr�zPositionTest.test	sc���(�(�*���*.�*B�*B����'�(,�(>�(>����%���	�Q���0�������#�t�$rN)r8r9r:rKrOrRr�r;rrrNrN�s����
�	%rrNc��eZdZd�Zy)�
sf1296433Testc����ddz}Gd�dt���fd�}tj�}||_|j	t|j
|j
d��y)Nz1<?xml version='1.0' encoding='iso8859'?><s>%s</s>�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac��eZdZy)�Asf1296433Test.test_parse_only_xml_data.<locals>.SpecificExceptionN)r8r9r:r;rr�SpecificExceptionris��rrjc�����rAr;)rgrjs �rr�z7sf1296433Test.test_parse_only_xml_data.<locals>.handler s	���#�#r�iso8859)�	ExceptionrrrTr/r��encode)rrcr�rrjs    @r�test_parse_only_xml_dataz&sf1296433Test.test_parse_only_xml_datasX���B�Z�P��	�	�	�	$��#�#�%��&-��#����)�V�\�\�3�:�:�i�3H�IrN)r8r9r:ror;rrreres��Jrrec�F�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�ChardataBufferTestz.
    test setting of chardata buffer size
    c�F�|j|jd�d�y)Nir�r��small_buffer_testrs r�test_1025_bytesz"ChardataBufferTest.test_1025_bytes-�������/�/��5�q�9rc�F�|j|jd�d�y)Ni�rrsrs r�test_1000_bytesz"ChardataBufferTest.test_1000_bytes0rvrc���tj�}d|_|jt�5d|_ddd�|jt�5d|_ddd�|jttf�5tjdz|_ddd�|jt�5d|_ddd�y#1swY��xYw#1swY�wxYw#1swY�GxYw#1swYyxYw)Nr���rg�@)
rrrr/r��buffer_size�
OverflowError�sys�maxsizer2r�s  r�test_wrong_sizez"ChardataBufferTest.test_wrong_size3s����#�#�%�����
�
�
�z�
*�!#�F��+�
�
�
�z�
*�!"�F��+�
�
�
�
�M�:�
;�!$���q��F��<�
�
�
�y�
)�!&�F��*�
)�
+�
*��
*�
*��
;�
;��
)�
)�s/�C�C�C �7C,�C�C� C)�,C5c��d}d}tj�}|j|_d|_d|_d|_|j|�|j|jd�|j|_|j|jd�|j|�|j|jd�y)Ns+<?xml version='1.0' encoding='iso8859'?><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s>irrr)	rr�counting_handlerrTr{r�nr�r��r�xml1�xml2rs    r�test_unchanged_sizez&ChardataBufferTest.test_unchanged_size?s���J��!���#�#�%��&*�&;�&;��#� ������������T���������#�$�/�/����������#�	���T���������#rc� �d}d}d}tj�}|j|_d|_d|_|j
|j
d�d|_|j|d�|j
|j
d�|j
|jd�d|_|j|j�|j
|j
d�td�D]}|j|d��|j
|jd	�d|_|j|j�|j
|j
d�|j|d
�|j
|jd�y)Ns+<?xml version='1.0' encoding='iso8859'?><a>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</a>r�rF�
r_T�)rrr�rTrr{r�r�r�rr4r�)rr�r��xml3r�is      r�test_disabling_bufferz(ChardataBufferTest.test_disabling_bufferVsJ��J����$���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�����+�+�T�2��������#��������+�+�,�����+�+�T�2��r��A��L�L��u�%���������$��������*�*�+�����+�+�T�2����T�4� ��������$rc�.�|xjdz
c_yr�)r�rfs  rr�z#ChardataBufferTest.counting_handlerts�����!��rc���dd|zzdz}tj�}|j|_d|_d|_d|_|j|�|jS)Ns+<?xml version='1.0' encoding='iso8859'?><s>�as</s>r�rr)rrr�rTr{rr�r�)r�
buffer_lenrcrs    rrtz$ChardataBufferTest.small_buffer_testws_��<�t�j�?P�P�SZ�Z���#�#�%��&*�&;�&;��#�!������������S���v�v�
rc��d}d}tj�}|j|_d|_d|_|j
|j
d�d|_|j|d�|xj
dzc_|j
|j
d�|j|d	�|j
|jd�y)
Ns.<?xml version='1.0' encoding='iso8859'?><a><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�aaa</s><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s></a>rr�rFr�T�	rrr�rTrr{r�r�r�r�s    r�test_change_size_1z%ChardataBufferTest.test_change_size_1�s���N��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!����a�������+�+�T�2����T�4� ��������#rc��d}d}tj�}|j|_d|_d|_|j
|j
d�d|_|j|d�|j
dz|_|j
|j
d�|j|d	�|j
|jd
�y)Ns.<?xml version='1.0' encoding='iso8859'?><a>a<s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�rr�rFrr�Trar�r�s    r�test_change_size_2z%ChardataBufferTest.test_change_size_2�s���O��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�#�/�/�1�4�������+�+�T�2����T�4� ��������#rN)
r8r9r:�__doc__rurxrr�r�r�rtr�r�r;rrrqrq(s4���:�:�
'�$�.%�<�	�$� $rrqc��eZdZd�Zd�Zy)�MalformedInputTestc���d}tj�}	|j|d�|j�y#tj$r%}|jt
|�d�Yd}~yd}~wwxYw)Ns
Tz unclosed token: line 2, column 0)rrr�r��
ExpatErrorr�r��rrcrr�s    rrzMalformedInputTest.test1�sb�����#�#�%��	I��L�L��d�#��I�I�K�����	I����S��V�%G�H�H��	I�s�";�A3�A.�.A3c���d}tj�}d}|jtj|�5|j	|d�ddd�y#1swYyxYw)Ns<?xml version…='1.0'?>
z3XML declaration not well-formed: line 1, column \d+T)rr�assertRaisesRegexr�r�)rrcr�err_patterns    rrzMalformedInputTest.test2�sK��2���#�#�%��L��
�
#�
#�E�$4�$4�k�
B��L�L��d�#�C�
B�
B�s�A�AN)r8r9r:rrr;rrr�r��s
��I�$rr�c��eZdZd�Zd�Zy)�ErrorMessageTestc��|jtjtjtjtj�yrA)r�r�XML_ERROR_SYNTAX�messages�codesrs r�
test_codeszErrorMessageTest.test_codes�s4������0�0�������f�6M�6M�)N�O�	Qrc�,�d}tj�}	|j|d�|j�y#tj$rE}|j|jtjtj�Yd}~yd}~wwxYw)N�<T)
rrr�r�r�r�r�rr��XML_ERROR_UNCLOSED_TOKENr�s    r�test_expaterrorz ErrorMessageTest.test_expaterror�sw�����#�#�%��	L��L�L��d�#��I�I�K�����	L����Q�V�V�#�\�\�&�*I�*I�J�
L�
L��	L�s�";�B�;B�BN)r8r9r:r�r�r;rrr�r��s��Q�
Lrr�c��eZdZdZd�Zd�Zy)�ForeignDTDTestszE
    Tests for the UseForeignDTD method of expat parser objects.
    c����g��fd�}tj�}|jd�|jtj�||_|j
d�|j�dg�g�ddtj�}|j�|jtj�||_|j
d�|j�dg�y)z�
        If UseForeignDTD is passed True and a document without an external
        entity reference is parsed, ExternalEntityRefHandler is first called
        with None for the public and system ids.
        c�,���j||f�yr�r��ryrk�	system_id�	public_id�handler_call_argss    �r�resolve_entityz<ForeignDTDTests.test_use_foreign_dtd.<locals>.resolve_entity������$�$�i��%;�<�rTs<?xml version='1.0'?><element/>)NNN�rr�
UseForeignDTD�SetParamEntityParsing�XML_PARAM_ENTITY_PARSING_ALWAYSr|r�r��rr�rr�s   @r�test_use_foreign_dtdz$ForeignDTDTests.test_use_foreign_dtd�s������	��#�#�%�����T�"��$�$�U�%J�%J�K�*8��'����7�8����*�\�N�;� "��!���#�#�%�������$�$�U�%J�%J�K�*8��'����7�8����*�\�N�;rc����g��fd�}tj�}|jd�|jtj�||_|j
d�|j�dg�y)z�
        If UseForeignDTD is passed True and a document with an external
        entity reference is parsed, ExternalEntityRefHandler is called with
        the public and system ids from the document.
        c�,���j||f�yr�r�r�s    �rr�zCForeignDTDTests.test_ignore_use_foreign_dtd.<locals>.resolve_entity�r�rTs@<?xml version='1.0'?><!DOCTYPE foo PUBLIC 'bar' 'baz'><element/>)�bar�bazNr�r�s   @r�test_ignore_use_foreign_dtdz+ForeignDTDTests.test_ignore_use_foreign_dtd�sn�����	��#�#�%�����T�"��$�$�U�%J�%J�K�*8��'����O�	Q����*�^�,<�=rN)r8r9r:r�r�r�r;rrr�r��s���<�8>rr�c��eZdZd�Zd�Zd�Zy)�ReparseDeferralTestc�V�tj�}tjdk\}|j|j	�|�|jd�|j|j	�d�|jd�|j|j	�|�y)N�rr�rFT)rr�version_infor�GetReparseDeferralEnabled�SetReparseDeferralEnabled)rr�enableds   r�test_getter_setter_round_tripz1ReparseDeferralTest.test_getter_setter_round_trip�s����#�#�%���%�%��2���
�
�f�6�6�8�'�B��(�(��/��
�
�f�6�6�8�%�@��(�(��.��
�
�f�6�6�8�'�Brc���tjdkr#|jdtj�d��g��fd�}tj�}||_|j|j
��dD]}|j|d��|j�g�|jdd�|j�d	g�y)
Nr�zExpat z" does not support reparse deferralc�(���j|�yrAr��rI�_�starteds  �r�
start_elementzHReparseDeferralTest.test_reparse_deferral_enabled.<locals>.start_element�����N�N�4� r�s<docs/>FrT�doc)	rr��skipTestrrKr�r�r�r��rr�r�chunkr�s    @r�test_reparse_deferral_enabledz1ReparseDeferralTest.test_reparse_deferral_enableds�������	�)��M�M�F�5�#5�#5�"6�75�5�
6���	!��#�#�%��%2��"�����8�8�:�;�%�E��L�L���&�&�	
����"�%����S�$������5�'�*rc�(��g��fd�}tj�}||_tjdk\r|j	d�|j|j
��dD]}|j|d��|j�dg�y)Nc�(���j|�yrAr�r�s  �rr�zIReparseDeferralTest.test_reparse_deferral_disabled.<locals>.start_elementr�rr�Fr�r�)	rrrKr�r�rr�r�r�r�s    @r�test_reparse_deferral_disabledz2ReparseDeferralTest.test_reparse_deferral_disableds������	!��#�#�%��%2��"�����*��,�,�U�3�����9�9�;�<�%�E��L�L���&�&�	
����5�'�*rN)r8r9r:r�r�r�r;rrr�r��s��C�+�0+rr��__main__)$r.�platformr}r6�unittestrC�iorr�r�test.supportr�xml.parsersr�xml.parsers.expatrrr	r
�TestCaserrSr=r�r�r�r)rNrerqr�r�r�r�r8�mainr;rr�<module>r�sN��
��
������"��$�9�9�%G�x�(�(�%G�P��6|;��!�!�|;�| 3�X�.�.� 3�F!/�H�%�%�!/�H\=�X�&�&�\=�@6+�8�,�,�6+�t%�8�$�$�%�>J�H�%�%�J�&x$��*�*�x$�t$��*�*�$�$L�x�(�(�L�"1>�h�'�'�1>�h3+�(�+�+�3+�l�z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists