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_pyexpat.cpython-313.opt-1.pyc
�

��i����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
 SSKJr SSK
JrJr SSKJr SSKJr SSK
Jr "SS	\R*5rS
r"SS\R*5r"S
S\R*5r"SS\R*5r"SS\R*5r"SS\R*5r"SS\R*5r"SS\R*5r"SS\R*5r"SS\R*5r "SS\R*5r!"SS \R*5r""S!S"\R*5r#"S#S$\R*5r$"S%S&\R*5r%"S'S(\R*5r&"S)S*\RN5r(\RR"\*"\RVS+5(+S,5"S-S.\(\R*55r,\-S/:Xa\R\"5 gg)0�N)�BytesIO)�support)�
import_helper�	os_helper)�expat)�errors)�sortdictc�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�SetAttributeTest�c�6�[R"SS9Ulg�N�!��namespace_separator)r�ParserCreate�parser��selfs �&C:\Python313\\Lib\test\test_pyexpat.py�setUp�SetAttributeTest.setUps���(�(�S�A���c���URURRS5 SHBnXRlURURR[U55 MD g�NF)r��r)�assertIsr�buffer_text�bool�r�xs  r�test_buffer_text�!SetAttributeTest.test_buffer_textsJ���
�
�d�k�k�-�-�u�5��A�&'�K�K�#��M�M�$�+�+�1�1�4��7�;�rc���URURRS5 SHBnXRlURURR[U55 MD gr)rr�namespace_prefixesr r!s  r�test_namespace_prefixes�(SetAttributeTest.test_namespace_prefixes �J���
�
�d�k�k�4�4�e�<��A�-.�K�K�*��M�M�$�+�+�8�8�$�q�'�B�rc���URURRS5 SHBnXRlURURR[U55 MD gr)rr�ordered_attributesr r!s  r�test_ordered_attributes�(SetAttributeTest.test_ordered_attributes&r)rc���URURRS5 SHBnXRlURURR[U55 MD gr)rr�specified_attributesr r!s  r�test_specified_attributes�*SetAttributeTest.test_specified_attributes,sJ���
�
�d�k�k�6�6��>��A�/0�K�K�,��M�M�$�+�+�:�:�D��G�D�rc�6�UR[5 SURlSSS5 UR[5 URR SSS5 UR[[
UR[
S5S5 UR[URR[
S5S5 UR[[UR[
S55 g!,(df   N�=f!,(df   N�=f)Nr�r)	�assertRaises�AttributeErrorr�returns_unicode�	TypeError�setattr�range�__setattr__�getattrrs r�test_invalid_attributes�(SetAttributeTest.test_invalid_attributes2s���
�
�
�~�
.�*+�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
�9
D�

D)rN)�__name__�
__module__�__qualname__�__firstlineno__rr#r'r,r0r<�__static_attributes__�rrrrs%��B�<�C�C�E�	Grrs�<?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�T�\rSrSr"SS5r/SQrSrSrSrSr	S	r
S
rSrg)
�	ParseTest�Yc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrg)�ParseTest.Outputter�Zc��/Ulg�N��outrs r�__init__�ParseTest.Outputter.__init__[s	���D�Hrc�p�URRS[U5-S-[U5-5 g)NzStart element: � )rM�append�reprr	�r�name�attrss   r�StartElementHandler�'ParseTest.Outputter.StartElementHandler^s/���H�H�O�O�-��T�
�:�S�@�$�U�O�,�
-rc�R�URRS[U5-5 g)Nz
End element: �rMrRrS�rrUs  r�EndElementHandler�%ParseTest.Outputter.EndElementHandlerbs���H�H�O�O�O�d�4�j�8�9rc��UR5nU(a(URRS[U5-5 gg)NzCharacter data: )�striprMrRrS�r�datas  r�CharacterDataHandler�(ParseTest.Outputter.CharacterDataHandleres/���:�:�<�D������� 2�T�$�Z� ?�@�rc�p�URRS[U5-S-[U5-5 g)NzPI: rQrZ)r�targetras   r�ProcessingInstructionHandler�0ParseTest.Outputter.ProcessingInstructionHandlerjs)���H�H�O�O�F�T�&�\�1�C�7�$�t�*�D�Erc�p�URRS[U5-S-[U5-5 g)Nz	NS decl: rQrZ)r�prefix�uris   r�StartNamespaceDeclHandler�-ParseTest.Outputter.StartNamespaceDeclHandlerms)���H�H�O�O�K�$�v�,�6��<�t�C�y�H�Irc�R�URRS[U5-5 g)NzEnd of NS decl: rZ)rris  r�EndNamespaceDeclHandler�+ParseTest.Outputter.EndNamespaceDeclHandlerps���H�H�O�O�.��f��=�>rc�:�URRS5 g)N�Start of CDATA section�rMrRrs r�StartCdataSectionHandler�,ParseTest.Outputter.StartCdataSectionHandlerss���H�H�O�O�4�5rc�:�URRS5 g)N�End of CDATA sectionrrrs r�EndCdataSectionHandler�*ParseTest.Outputter.EndCdataSectionHandlervs���H�H�O�O�2�3rc�R�URRS[U5-5 g)Nz	Comment: rZ�r�texts  r�CommentHandler�"ParseTest.Outputter.CommentHandlerys���H�H�O�O�K�$�t�*�4�5rc�L�Uup#pEURRSU<35 g)NzNotation declared: rr)r�argsrU�base�sysid�pubids      r�NotationDeclHandler�'ParseTest.Outputter.NotationDeclHandler|s��'+�$�D���H�H�O�O�d�<�=rc�N�Uup#pEnURRSU<35 g)NzUnparsed entity decl: rr)rr�
entityNamer��systemId�publicId�notationNames       r�UnparsedEntityDeclHandler�-ParseTest.Outputter.UnparsedEntityDeclHandler�s!��AE�>�J�h�,��H�H�O�O��?�@rc�:�URRS5 g)N�Not standalonerrrrs r�NotStandaloneHandler�(ParseTest.Outputter.NotStandaloneHandler�s���H�H�O�O�,�-�rc�R�Uup#pEURRSUSS<35 g)NzExternal entity ref: rrr)rr�contextr��sysId�pubIds      r�ExternalEntityRefHandler�,ParseTest.Outputter.ExternalEntityRefHandler�s(��*.�'�G�5��H�H�O�O��Q�R��B�C�rc�>�URRSU45 g)N�
Start doctyperrr�rrs  r�StartDoctypeDeclHandler�+ParseTest.Outputter.StartDoctypeDeclHandler�s���H�H�O�O�_�d�3�4�rc�:�URRS5 g)N�End doctyperrrrs r�EndDoctypeDeclHandler�)ParseTest.Outputter.EndDoctypeDeclHandler�s���H�H�O�O�M�*�rc�>�URRSU45 g)N�Entity declarationrrrr�s  r�EntityDeclHandler�%ParseTest.Outputter.EntityDeclHandler�s���H�H�O�O�1�4�8�9�rc�>�URRSU45 g)N�XML declarationrrrr�s  r�XmlDeclHandler�"ParseTest.Outputter.XmlDeclHandler�s���H�H�O�O�.��5�6�rc�>�URRSU45 g)N�Element declarationrrrr�s  r�ElementDeclHandler�&ParseTest.Outputter.ElementDeclHandler�s���H�H�O�O�2�D�9�:�rc�>�URRSU45 g)N�Attribute list declarationrrrr�s  r�AttlistDeclHandler�&ParseTest.Outputter.AttlistDeclHandler�s���H�H�O�O�9�4�@�A�rc�>�URRSU45 g)N�Skipped entityrrrr�s  r�SkippedEntityHandler�(ParseTest.Outputter.SkippedEntityHandler�s���H�H�O�O�-�t�4�5�rc��grKrC�r�userDatas  r�DefaultHandler�"ParseTest.Outputter.DefaultHandler����rc��grKrCr�s  r�DefaultHandlerExpand�(ParseTest.Outputter.DefaultHandlerExpand�r�rrLN)r>r?r@rArNrWr\rbrfrkrnrsrwr|r�r�r�r�r�r�r�r�r�r�r�r�r�rBrCrr�	OutputterrHZsy��	�	-�	:�	A�
	F�	J�	?�	6�	4�	6�	>�	A�	�	�
	�	�	�	�	�	�	�	�	rr�)rWr\rbrfr�r�rkrnr|rsrwr�r�r�r�r�r�r�r�r�r�r�c	�T�URHn[X[X#55 M g)zc
Set each of the callbacks defined on handler and named in
self.handler_names on the given parser.
N)�
handler_namesr8r;)rr�handlerrUs    r�_hookup_callbacks�ParseTest._hookup_callbacks�s#��
�&�&�D��F�'�'�"8�9�'rc�V�/SQn[X5Hup4URX45 M g)N))r�)z1.0�
iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'r�)r�)�
quotationszquotations.dtdNr)r�)�root)rrNrC)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')r�r�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' {}rqz+Character data: 'contents of CDATA section'rvzEnd 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_output�ParseTest._verify_parse_output�s.��!
��D.1��-Q�)�I����Y�;�.Rrc��UR5n[R"SS9nURX!5 UR	[
S5 URnURU5 UR[[US5 g)NrrTu�)r�rrr��ParserarMr�r4r5r;�rrMrr�s    r�test_parse_bytes�ParseTest.test_parse_bytes�se���n�n����#�#��<�����v�+����T�4� ��W�W�
��!�!�*�-����.�'�6�8�Drc���UR5n[R"SS9nURX!5 UR	[
R
S5S5 URnURU5 g)Nrrr�T)	r�rrr�r�ra�decoderMr�r�s    r�test_parse_str�ParseTest.test_parse_str�sZ���n�n����#�#��<�����v�+����T�[�[��.��5��W�W�
��!�!�*�-rc���UR5n[R"SS9nURX!5 [	[
5nUR
U5 URnURU5 gr)	r�rrr�rra�	ParseFilerMr�)rrMr�filer�s     r�test_parse_file�ParseTest.test_parse_file�sZ���n�n����#�#��<�����v�+��t�}��������W�W�
��!�!�*�-rc��[R"5n[[5nUR	U5 UR[R5nUR	U5 SSS5 UR[R"WRR5[RR5 g!,(df   Na=frK)
rrrrar�r4�errorr��ErrorString�	exception�coder�XML_ERROR_FINISHED)rrr��cms    r�test_parse_again�ParseTest.test_parse_agains����#�#�%���t�}��������
�
�u�{�{�
+�r����T�"�,�����*�*�2�<�<�+<�+<�=��,�,�9�9�	;�,�
+�s�C�
CrCN)
r>r?r@rAr�r�r�r�r�r�r�r�rBrCrrrErEYs6��S�S�j

�M�:�$<�L
E�.�
.�
;rrEc�&�\rSrSrSrSrSrSrg)�NamespaceSeparatorTestic�~�[R"5 [R"SS9 [R"SS9 g)NrrQ�rrrs r�
test_legal�!NamespaceSeparatorTest.test_legals,��	����
���t�4�
���s�3rc�:�UR[S5 [R"SS9 SSS5 [R"SS9 UR	5 g!,(df   N4=f![
a%nUR
[U5S5 SnAgSnAff=f)NzPParserCreate\(\) argument (2|'namespace_separator') must be str or None, not int�*rztoo longzCnamespace_separator must be at most one character, omitted, or None)�assertRaisesRegexr7rr�fail�
ValueErrorr��str)r�es  r�test_illegal�#NamespaceSeparatorTest.test_illegals���
�
#�
#�I�0�1�
���2�6�1�
	W����:�>��I�I�K�1�1���	W����S��V�U�
W�
W��	W�s"�A�$A+�
A(�+
B�5B�Bc�,�[R"SS9 g)N�rr�rs r�test_zero_length�'NamespaceSeparatorTest.test_zero_length,s��	���r�2rrCN)r>r?r@rAr�r�r�rBrCrrr�r�s��4�W�	3rr�c� �\rSrSrSrSrSrg)�
InterningTesti8c��^�[R"5n/mU4SjnX!lX!lUR	SS5 TSnUR[
T5S5 THnURX4L5 M g)Nc�(>�TRU5 grK�rR)rUr�Ls  �r�	collector�%InterningTest.test.<locals>.collector=s���
�H�H�T�Nrs<e> <e/> <e></e> </e>Tr�)rrrWr\r�r��len�
assertTrue)r�pr�tag�entryrs     @r�test�InterningTest.test9sk������ ����	� )��'��	���(�$�/���d������Q���#��E��O�O�C�L�)�rc���"SS5n[R"SS9nSUlU"U5nURUlUR	[
S5 UR
URS5 g)Nc� �\rSrSrSrSrSrg)�7InterningTest.test_issue9402.<locals>.ExternalOutputteriJc��XlSUlgrK�r�
parser_result�rrs  rrN�@InterningTest.test_issue9402.<locals>.ExternalOutputter.__init__Ks��$��%)��"rc�h�URRS5nURSS5Ulg)Nr�rTr)r�ExternalEntityParserCreater�r)rr�r�r�r��external_parsers      rr��PInterningTest.test_issue9402.<locals>.ExternalOutputter.ExternalEntityRefHandlerOs.��"&�+�+�"H�"H��"L��%4�%:�%:�3��%E��"�rrN)r>r?r@rArNr�rBrCrr�ExternalOutputterrJs��
*�
rrrrrT)rrrr�r�rar�r)rrrrMs    r�test_issue9402�InterningTest.test_issue9402Hsb��	�	��#�#��<�������'��*-�*F�*F��'����T�4� �����*�*�A�.rrCN)r>r?r@rAr
rrBrCrrrr8s��
*�/rrc�z�\rSrSrSrSrSrSrSrSr	/4Sjr
S	rS
rSr
SrS
rSrSrSrSrSrg)�BufferTextTesti\c��/Ul[R"5UlSURlUR
URlg�Nr)�stuffrrrrrbrs rr�BufferTextTest.setUp]s7����
��(�(�*���"#�����+/�+D�+D����(rc��URURUU<SUR<S[[U5<35 g)Nz
stuff    = z
expected = )r�r"�mapr�)r�expected�labels   r�check�BufferTextTest.checkcs/��������X��$�*�*�c�#�x�&8�:�	;rc�:�URRU5 grK�r"rRrzs  rrb�#BufferTextTest.CharacterDataHandlerhs���
�
���$�rc���URRSU-5 URS5nUS:XaSURlgUS:XaSURlgg)Nz<%s>zbuffer-text�yesr�nor)r"rR�getrr)rrUrV�bts    rrW�"BufferTextTest.StartElementHandlerksQ���
�
���&�4�-�(�
�Y�Y�}�
%��
��;�&'�D�K�K�#�
�4�Z�&'�D�K�K�#�rc�@�URRSU-5 g)Nz</%s>r+r[s  rr\� BufferTextTest.EndElementHandlerss���
�
���'�D�.�)rc�@�URRSU-5 g)Nz	<!--%s-->r+r`s  rr|�BufferTextTest.CommentHandlervs���
�
���+��,�-rc	�V�UH#n[URU[X55 M% grK)r8rr;)r�handlersrUs   r�setHandlers�BufferTextTest.setHandlersys!���D��D�K�K��w�t�':�;�rc�d�[R"5nURUR5 grK)rr�assertFalserrs  r�test_default_to_disabled�'BufferTextTest.test_default_to_disabled}s$���#�#�%������+�+�,rc���URURR5 URRSS5 UR	UR
S/S5 g)N�<a>1<b/>2<c/>3</a>T�123�$buffered text not properly collapsed)r	rrr�r�r"rs r�test_buffering_enabled�%BufferTextTest.test_buffering_enabled�sI��������/�/�0������/��6�������e�W�?�	Arc��URS/5 URRSS5 URUR/SQS5 g)NrWs9<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�r9rr�r�r"rs r�test1�BufferTextTest.test1�sG��	
���/�0�1������X�Z^�_�������K�E�	Grc�x�URRSS5 URURS/S5 g)Ns&<a>1<b/>&lt;2&gt;<c/>&#32;
&#x20;3</a>Tz1<2> 
 3rB)rr�r�r"rs r�test2�BufferTextTest.test2�s3�������D�d�K�������k�]�?�	Arc��URS/5 URRSS5 URUR/SQS5 g)NrWr@T)rFrGrHrIrLrK� buffered text not properly splitrMrs r�test3�BufferTextTest.test3�sC�����/�0�1������/��6�������%I�;�	=rc��URSS/5 SURlURRSS5 UR	UR
/SQ5 g)NrWr\r@T)rFrH�</b>rL�</c>�</a>)r9rrbr�r�r"rs r�test4�BufferTextTest.test4�sP�����/�1D�E�F�+/����(������/��6�������F�	Hrc��URSS/5 URRSS5 URUR/SQ5 g)NrWr\s<a>1<b></b>2<c/>3</a>T)	rFrGrHrXrIrLrYrKrZrMrs r�test5�BufferTextTest.test5�sD�����/�1D�E�F������2�D�9�������H�	Jrc��UR/SQ5 URRSS5 URUR/SQS5 g)N�r|r\rWs<a>1<b/>2<c></c>345</a> T)	rFrGrHrXrIrLrY�345rZrTrMrs r�test6�BufferTextTest.test6�sD�����+�	,������5�t�<�������J�.�	0rc��UR/SQ5 URRSS5 URUR/SQS5 g)Nras,<a>1<b/>2<c></c>3<!--abc-->4<!--def-->5</a> T)
rFrGrHrXrIrLrYrKz
<!--abc-->�4z
<!--def-->�5rZrTrMrs r�test7�BufferTextTest.test7�sG�����+�	,������I�4�P�������H�;�	=r)rr"N)r>r?r@rArr(rbrWr\r|r9r=rCrNrQrUr[r^rcrhrBrCrrrr\s]��E�;�
 �(�*�.�$&�<�-�A�G�A�
=�H�J�0�=rrc�J�\rSrSrSrSr\RS5rSr	Sr
g)�HandlerExceptionTesti�c� �[SUS35e)NzStartElementHandler: <�>)�RuntimeErrorrTs   rrW�(HandlerExceptionTest.StartElementHandler�s���3�D�6��;�<�<rc��UR[RRUR5U5 URUR
U5 grK)r��os�path�basename�filenamerU)rrrt�funcnames    r�check_traceback_entry�*HandlerExceptionTest.check_traceback_entry�s9��������)�)�%�.�.�9�8�D�������X�.rc�6�[R"S5nU(a [RR	U5nOSnU(a1[
R"U5 URU5 SSS5 gURU5 g!,(df   g=f)N�abs_builddirF)�	sysconfig�get_config_varrqrr�isdirr�
change_cwd�_test_exception)r�src_dir�have_sources   r�test_exception�#HandlerExceptionTest.test_exception�sn���*�*�>�:����'�'�-�-��0�K��K���%�%�g�.��$�$�[�1�/�.�
� � ��-�/�.�s�B
�

Bc��[RRSS5n[R"5nUR
UlUR
SS5 URS5 UR[W5SU5 URUSS	S
5 URUS[RR!U5S5 URUS
S	S5 U(aE[RR#U5(a UR%SUSR&5 ggg![aKnURURSSU5 [R"UR5nSnAGNSnAff=f)N�Modulesz	pyexpat.cs<a><b><c/></b></a>Tz%the parser did not raise RuntimeErrorrzStartElementHandler: <a>�ztest_pyexpat.pyr~r�StartElementrrWzcall_with_frame("StartElement")rqrr�joinrrrWr�r�rnr�r�	traceback�
extract_tb�
__traceback__rrvrs�exists�assertIn�line)rr��	PYEXPAT_Cr�exc�entriess      rr~�$HandlerExceptionTest._test_exception�sI���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�4��M�M�:�!�!�*�/�/�
+�5�;��!�	>����S�X�X�a�[�*D�c�J��*�*�3�+<�+<�=�G��	>�s�#D3�3
F�=AF�FrCN)r>r?r@rArWrvr�cpython_onlyr�r~rBrCrrrkrk�s+��=�/�
���.��.� +rrkc�,�\rSrSrSrSrSrSrSrg)�PositionTesti�c�&�URS5 g)N�s��	check_posrTs   rrW� PositionTest.StartElementHandler�������s�rc�&�URS5 g)Nr�r�r[s  rr\�PositionTest.EndElementHandler�r�rc�|�UURRURRURR4nUR	UR
[
UR5:S5 URUR
nURX#SU<SU<35 U=R
S-
slg)Nztoo many parser eventszExpected position z, got position r)	r�CurrentByteIndex�CurrentLineNumber�CurrentColumnNumberr	�uptor�
expected_listr�)r�event�posr&s    rr��PositionTest.check_pos�s�����{�{�+�+��{�{�,�,��{�{�.�.�0��	
����	�	�C��(:�(:�$;�;�0�	2��%�%�d�i�i�0������h�:=�x�H�	J��	�	�Q��	rc��[R"5UlURURlURURlSUl/SQUlSnURRUS5 g)Nr))r�rrr)r��rr)r��r�r)r�r3r�r)r���r)r�rr�rs<a>
 <b>
  <c/>
 </b>
</a>T)rrrrWr\r�r�r�)r�xmls  rr
�PositionTest.test	sc���(�(�*���*.�*B�*B����'�(,�(>�(>����%���	�Q���0�������#�t�$r)r�rr�N)	r>r?r@rArWr\r�r
rBrCrrr�r��s����
�	%rr�c��\rSrSrSrSrg)�
sf1296433Testic��^�SS-n"SS[5mU4Sjn[R"5nX#lUR	TUR
UR
S55 g)Nz1<?xml version='1.0' encoding='iso8859'?><s>%s</s>�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac��\rSrSrSrg)�Asf1296433Test.test_parse_only_xml_data.<locals>.SpecificExceptionirCN)r>r?r@rArBrCrr�SpecificExceptionr�s��rr�c�>�TerKrC)r{r�s �rr��7sf1296433Test.test_parse_only_xml_data.<locals>.handler s	���#�#r�iso8859)�	Exceptionrrrbr4r��encode)rr�r�rr�s    @r�test_parse_only_xml_data�&sf1296433Test.test_parse_only_xml_datasW���B�Z�P��	�	�	�	$��#�#�%��&-�#����+�V�\�\�3�:�:�i�;P�QrrCN)r>r?r@rAr�rBrCrrr�r�s��Rrr�c�N�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�ChardataBufferTesti(z&
test setting of chardata buffer size
c�F�URURS5S5 g)Nir�r��small_buffer_testrs r�test_1025_bytes�"ChardataBufferTest.test_1025_bytes-�������/�/��5�q�9rc�F�URURS5S5 g)Ni�rr�rs r�test_1000_bytes�"ChardataBufferTest.test_1000_bytes0r�rc��[R"5nSUlUR[5 SUlSSS5 UR[5 SUlSSS5 UR[[45 [RS-UlSSS5 UR[5 SUlSSS5 g!,(df   N�=f!,(df   N�=f!,(df   NV=f!,(df   g=f)Nr���rg�@)
rrrr4r��buffer_size�
OverflowError�sys�maxsizer7rs  r�test_wrong_size�"ChardataBufferTest.test_wrong_size3s����#�#�%�����
�
�
�z�
*�!#�F��+�
�
�
�z�
*�!"�F��+�
�
�
�
�M�:�
;�!$���q��F��<�
�
�
�y�
)�!&�F��*�
)�
+�
*��
*�
*��
;�
;��
)�
)�s/�C	�C�C+�8C<�	
C�
C(�+
C9�<
D
c��SnSn[R"5nURUlSUlSUlSUlURU5 URURS5 URUlURURS5 URU5 URURS5 g)Ns+<?xml version='1.0' encoding='iso8859'?><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s>irrr)	rr�counting_handlerrbr�r�nr�r��r�xml1�xml2rs    r�test_unchanged_size�&ChardataBufferTest.test_unchanged_size?s���J��!���#�#�%��&*�&;�&;��#� ������������T���������#�$�/�/����������#�	���T���������#rc�&�SnSnSn[R"5nURUlSUlSUlUR
UR
S5 SUlURUS5 UR
UR
S5 UR
URS5 SUlURUR5 UR
UR
S5 [S5HnURUS5 M UR
URS	5 SUlURUR5 UR
UR
S5 URUS
5 UR
URS5 g)Ns+<?xml version='1.0' encoding='iso8859'?><a>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</a>r�rF�
r�T�)rrr�rbrr�r�r�r�r<r9r	)rr�r��xml3r�is      r�test_disabling_buffer�(ChardataBufferTest.test_disabling_bufferVsJ��J����$���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�����+�+�T�2��������#��������+�+�,�����+�+�T�2��r��A��L�L��u�%���������$��������*�*�+�����+�+�T�2����T�4� ��������$rc�.�U=RS-
slgr!�r�rzs  rr��#ChardataBufferTest.counting_handlerts�����!��rc���SSU--S-n[R"5nURUlSUlSUlSUlURU5 UR$)Ns+<?xml version='1.0' encoding='iso8859'?><s>�as</s>r�rr)rrr�rbr�rr�r�)r�
buffer_lenr�rs    rr��$ChardataBufferTest.small_buffer_testws_��<�t�j�?P�P�SZ�Z���#�#�%��&*�&;�&;��#�!������������S���v�v�
rc��SnSn[R"5nURUlSUlSUlUR
UR
S5 SUlURUS5 U=R
S-slUR
UR
S5 URUS	5 UR
URS5 g)
Ns.<?xml version='1.0' encoding='iso8859'?><a><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�aaa</s><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s></a>rr�rFr�T�	rrr�rbrr�r�r�r�r�s    r�test_change_size_1�%ChardataBufferTest.test_change_size_1�s���N��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!����a�������+�+�T�2����T�4� ��������#rc��SnSn[R"5nURUlSUlSUlUR
UR
S5 SUlURUS5 UR
S-UlUR
UR
S5 URUS	5 UR
URS
5 g)Ns.<?xml version='1.0' encoding='iso8859'?><a>a<s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�rr�rFrr�Tr�r�r�s    r�test_change_size_2�%ChardataBufferTest.test_change_size_2�s���O��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�#�/�/�1�4�������+�+�T�2����T�4� ��������#rr�N)r>r?r@rA�__doc__r�r�r�r�r�r�r�r�r�rBrCrrr�r�(s4���:�:�
'�$�.%�<�	�$� $rr�c� �\rSrSrSrSrSrg)�ElementDeclHandlerTesti�c���[R"S5RS5n[R"5nSUlSUlUR[URUS5 g)Nz�            <!DOCTYPE quotations SYSTEM "quotations.dtd" [
                <!ELEMENT root ANY>
            ]>
            <root/>
        zUTF-8c��g)NgX9��v��?rCrCrr�<lambda>�:ElementDeclHandlerTest.test_trigger_leak.<locals>.<lambda>�s��erc��grKrC��_1�_2s  rr�r�����4rT)
�textwrap�dedentr�rrr�r�r4r7r�)rrars   r�test_trigger_leak�(ElementDeclHandlerTest.test_trigger_leak�s]����� �
�
�V�G�_�	
��#�#�%��&3��#�$7��!����)�V�\�\�4��>rc�H�SnSSU--S-SU--S-n[R"5nSUl[R"5 UR[5 URU5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Ni �s <!DOCTYPE root [
<!ELEMENT root s(a, r��)s
>
]>
<root/>
c��grKrCr�s  rr��IElementDeclHandlerTest.test_deeply_nested_content_model.<locals>.<lambda>�r�r)rrr�r�infinite_recursionr4�RecursionErrorr�)r�Nrars    r� test_deeply_nested_content_model�7ElementDeclHandlerTest.test_deeply_nested_content_model�s���
��0���k�
� �
!�#'�!�8�
,�!�
"�	
��#�#�%��$7��!�
�
'�
'�
)��"�"�>�2����T�"�3�*�
)�2�2��*�
)�s$�	B�B�1B�
B	�B�
B!rCN)r>r?r@rAr�rrBrCrrr�r��s��?� #rr�c� �\rSrSrSrSrSrg)�MalformedInputTesti�c���Sn[R"5nURUS5 UR5 g![Ra%nUR[
U5S5 SnAgSnAff=f)Ns
Tz unclosed token: line 2, column 0)rrr�r��
ExpatErrorr�r��rr�rr�s    rrN�MalformedInputTest.test1�sb�����#�#�%��	I��L�L��d�#��I�I�K�����	I����S��V�%G�H�H��	I�s�"<�A5�A0�0A5c���Sn[R"5nSnUR[RU5 UR	US5 SSS5 g!,(df   g=f)Ns<?xml version…='1.0'?>
z3XML declaration not well-formed: line 1, column \d+T)rrr�r
r�)rr�r�err_patterns    rrQ�MalformedInputTest.test2�sK��2���#�#�%��L��
�
#�
#�E�$4�$4�k�
B��L�L��d�#�C�
B�
B�s�A�
A$rCN)r>r?r@rArNrQrBrCrrrr�s
��I�$rrc� �\rSrSrSrSrSrg)�ErrorMessageTesti�c��UR[R[R[R[R5 grK)r�r�XML_ERROR_SYNTAX�messages�codesrs r�
test_codes�ErrorMessageTest.test_codes�s4������0�0�������f�6M�6M�)N�O�	Qrc�0�Sn[R"5nURUS5 UR5 g![RaEnURUR[R[R5 SnAgSnAff=f)N�<T)
rrr�r�r
r�r�rr�XML_ERROR_UNCLOSED_TOKENrs    r�test_expaterror� ErrorMessageTest.test_expaterror�sw�����#�#�%��	L��L�L��d�#��I�I�K�����	L����Q�V�V�#�\�\�&�*I�*I�J�
L�
L��	L�s�"<�B�;B�BrCN)r>r?r@rArrrBrCrrrr�s��Q�
Lrrc�$�\rSrSrSrSrSrSrg)�ForeignDTDTestsi�z=
Tests for the UseForeignDTD method of expat parser objects.
c��^�/mU4Sjn[R"5nURS5 UR[R5 XlUR
S5 URTS/5 /TSS&[R"5nUR5 UR[R5 XlUR
S5 URTS/5 g)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�*>�TRX245 gr!r�r�r��	system_id�	public_id�handler_call_argss    �r�resolve_entity�<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_dtd�$ForeignDTDTests.test_use_foreign_dtd�s������	��#�#�%�����T�"��$�$�U�%J�%J�K�*8�'����7�8����*�\�N�;� "��!���#�#�%�������$�$�U�%J�%J�K�*8�'����7�8����*�\�N�;rc��^�/mU4Sjn[R"5nURS5 UR[R5 XlUR
S5 URTS/5 g)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�*>�TRX245 gr!rr!s    �rr%�CForeignDTDTests.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_dtd�+ForeignDTDTests.test_ignore_use_foreign_dtdsl�����	��#�#�%�����T�"��$�$�U�%J�%J�K�*8�'����O�	Q����*�^�,<�=rrCN)r>r?r@rAr�r-r4rBrCrrrr�s���<�8>rrc�*�\rSrSrSrSrSrSrSrg)�ParentParserLifetimeTestiz�
Subparsers make use of their parent XML_Parser inside of Expat.
As a result, parent parsers need to outlive subparsers.

See https://github.com/python/cpython/issues/139400.
c�R�[R"5nURS5nAgrK�rrr)rr�	subparsers   r�2test_parent_parser_outlives_its_subparsers__single�KParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__single"s%���#�#�%���5�5�d�;�	�
rc�t�[R"5nURS5nURS5nAgrKr9)rr�
subparser_one�
subparser_twos    r�4test_parent_parser_outlives_its_subparsers__multiple�MParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__multiple*s5���#�#�%���9�9�$�?�
��9�9�$�?�
�
rc�v�[R"5nURS5nURS5nAAgrKr9)rrr:�subsubparsers    r�1test_parent_parser_outlives_its_subparsers__chain�JParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__chain3s8���#�#�%���5�5�d�;�	� �;�;�D�A��
�rrCN)	r>r?r@rAr�r;r@rDrBrCrrr7r7s�����rr7c�n�\rSrSrSr\S5r\R"\	RS5S5rSrg)�#ExternalEntityParserCreateErrorTesti>z�ExternalEntityParserCreate error paths should not crash or leak
refcounts on the parent parser.

See https://github.com/python/cpython/issues/144984.
c�:�[R"S5Ulg)N�	_testcapi)r�
import_module�testcapi)�clss r�
setUpClass�.ExternalEntityParserCreateErrorTest.setUpClassEs��$�2�2�;�?��rz2Py_TRACE_REFS conflicts with testcapi.set_nomemoryc���[R"5nSUl[R"U5nUR
R
SS5 SnURS5 UR
R5 URUS5 [R"U5nURXB5 g![a SnNbf=f!UR
R5 f=f)NTrr�FzMemoryError not raised)rrrr��getrefcountrK�set_nomemoryr�MemoryError�remove_mem_hooksr	r�)rr�	rc_before�raised�rc_afters     r�test_error_path_no_crash�<ExternalEntityParserCreateErrorTest.test_error_path_no_crashIs����#�#�%��!����O�O�F�+�	�
	
�
�
�"�"�1�b�)���	-��-�-�d�3�
�M�M�*�*�,����� 8�9��?�?�6�*������-���	��F�	��
�M�M�*�*�,�s$�B7�7C�C	�C�C	�	C%rCN)
r>r?r@rAr��classmethodrM�unittest�skipIfr�
Py_TRACE_REFSrWrBrCrrrGrG>sG����@��@��_�_�W�*�*�I�K�.�K�.rrGc�&�\rSrSrSrSrSrSrg)�ReparseDeferralTestiec�X�[R"5n[RS:�nURUR	5U5 URS5 URUR	5S5 URS5 URUR	5U5 g)N�rrrFT)rr�version_infor�GetReparseDeferralEnabled�SetReparseDeferralEnabled)rr�enableds   r�test_getter_setter_round_trip�1ReparseDeferralTest.test_getter_setter_round_tripfs����#�#�%���%�%��2���
�
�f�6�6�8�'�B��(�(��/��
�
�f�6�6�8�%�@��(�(��.��
�
�f�6�6�8�'�Brc�^�[RS:a#URS[RS35 /mU4Sjn[R"5nXlURUR
55 SHnURUS5 M URT/5 URSS5 URTS	/5 g)
Nr`zExpat z" does not support reparse deferralc�(>�TRU5 grKr�rU�_�starteds  �r�
start_element�HReparseDeferralTest.test_reparse_deferral_enabled.<locals>.start_elementw�����N�N�4� r�s<docs/>FrT�doc)	rra�skipTestrrWr	rbr�r��rrlr�chunkrks    @r�test_reparse_deferral_enabled�1ReparseDeferralTest.test_reparse_deferral_enabledps�������	�)��M�M�F�5�#5�#5�"6�75�5�
6���	!��#�#�%��%2�"�����8�8�:�;�%�E��L�L���&�&�	
����"�%����S�$������5�'�*rc�0^�/mU4Sjn[R"5nXl[RS:�aUR	S5 URUR
55 SHnURUS5 M URTS/5 g)Nc�(>�TRU5 grKrris  �rrl�IReparseDeferralTest.test_reparse_deferral_disabled.<locals>.start_element�rnrr`Frorp)	rrrWrarcr<rbr�r�rrs    @r�test_reparse_deferral_disabled�2ReparseDeferralTest.test_reparse_deferral_disabled�s������	!��#�#�%��%2�"�����*��,�,�U�3�����9�9�;�<�%�E��L�L���&�&�	
����5�'�*rrCN)r>r?r@rArertryrBrCrrr^r^es��C�+�0+rr^c�b�\rSrSrSr\SS.Sj5rSrSr\	RS5r\	RS	5r\	RS
5r
\	RS5r\	RS5rS
rSrSr\	RS5r\	RS5rSrSrSrSrSrg)�AttackProtectionTestBasei�z�
Base class for testing protections against XML payloads with
disproportionate amplification.

The protections being tested should detect and prevent attacks
that leverage disproportionate amplification from small inputs.
�.)r{c��^�[R"SUSUS35R5nSRU4Sj[	U555n[R
"US5nUR
US9$)z�Create a billion laughs attack payload.

Be careful: the number of total items is pow(n, k), thereby
requiring at least pow(ncols, nrows) * sizeof(text) memory!
z]            <?xml version="1.0"?>
            <!DOCTYPE doc [
                <!ENTITY row0 "zc">
                <!ELEMENT doc (#PCDATA)>
            {body}
            ]>
            <doc>&rowz;</doc>
        rJc3�J># �UHnSUS-SSUS3T-S3v� M g7f)z<!ENTITY rowrz "z&row�;z">NrC)�.0r��ncolss  �r�	<genexpr>�IAttackProtectionTestBase.exponential_expansion_payload.<locals>.<genexpr>�s9����
�!���1�q�5�'��d�1�#�Q�K�%�$7�#8��;�!�s� #z    )�body)r�r��rstripr�r9�indent�format)�nrowsr�r{�templater�s `   r�exponential_expansion_payload�6AttackProtectionTestBase.exponential_expansion_payload�s�����?�?�( �!%�v�&��W�	�$�
��V�X�	��y�y�
��5�\�
�
�����t�W�-�����D��)�)rc��URSSS9nURU[R"S5R	55 g)Nrr�)r�r�a'            <?xml version="1.0"?>
            <!DOCTYPE doc [
                <!ENTITY row0 ".">
                <!ELEMENT doc (#PCDATA)>
                <!ENTITY row1 "&row0;&row0;&row0;">
                <!ENTITY row2 "&row1;&row1;&row1;">
            ]>
            <doc>&row2;</doc>
        )r�r�r�r�r�)r�payloads  r�test_payload_generation�0AttackProtectionTestBase.test_payload_generation�s@���4�4�1�A�4�F������(�/�/�	3�	#
��V�X�		rc�R�SnUR"[RXA/UQ70UD6 g)z=Check that func(*args, **kwargs) is invalid for a sub-parser.zparser must be a root parserN�r�rr
�r�funcr�kwargs�msgs     r�assert_root_parser_failure�3AttackProtectionTestBase.assert_root_parser_failure�s'��,�����u�/�/��L�T�L�V�Lrc��g)z�Assert that func(*args, **kwargs) triggers the attack protection.

Note: this method must ensure that the attack protection being tested
is the one that is actually triggered at runtime, e.g., by matching
the exact error message.
NrC)rr�rr�s    r�assert_rejected�(AttackProtectionTestBase.assert_rejected���rc��g)z7Set the activation threshold for the tested protection.NrC�rr�	thresholds   r�set_activation_threshold�1AttackProtectionTestBase.set_activation_threshold�r�rc��g)z?Set the maximum amplification factor for the tested protection.NrC�rr�
max_factors   r�set_maximum_amplification�2AttackProtectionTestBase.set_maximum_amplification�r�rc��g)z/Test when the activation threshold is exceeded.NrCrs r�0test_set_activation_threshold__threshold_reached�IAttackProtectionTestBase.test_set_activation_threshold__threshold_reached�r�rc��g)z3Test when the activation threshold is not exceeded.NrCrs r�4test_set_activation_threshold__threshold_not_reached�MAttackProtectionTestBase.test_set_activation_threshold__threshold_not_reached�r�rc��[R"5n[R"URU5nUR[US5 UR[US5 UR[US5 g)N��?g�����)rr�	functools�partialr�r4r7r��rr�setters   r�5test_set_activation_threshold__invalid_threshold_type�NAttackProtectionTestBase.test_set_activation_threshold__invalid_threshold_type�s^���#�#�%���"�"�4�#@�#@�&�I�����)�V�S�1����)�V�T�2����*�f�b�1rc���[R"S5n[R"5n[R
"URU5nUR[X1RS-5 g)NrIr)
rrJrrr�r�r�r4r��
ULLONG_MAX)rrIrr�s    r�6test_set_activation_threshold__invalid_threshold_range�OAttackProtectionTestBase.test_set_activation_threshold__invalid_threshold_range�sS��!�/�/��<�	��#�#�%���"�"�4�#@�#@�&�I�����-��1E�1E��1I�Jrc��[R"5nURS5n[R"UR
U5nUR
US5 g)Ni90)rrrr�r�r�r��rrr:r�s    r�1test_set_activation_threshold__fail_for_subparser�JAttackProtectionTestBase.test_set_activation_threshold__fail_for_subparser�sH���#�#�%���5�5�d�;�	��"�"�4�#@�#@�)�L���'�'���6rc��g)z/Test when the amplification factor is exceeded.NrCrs r�6test_set_maximum_amplification__amplification_exceeded�OAttackProtectionTestBase.test_set_maximum_amplification__amplification_exceeded�r�rc��g)z3Test when the amplification factor is not exceeded.NrCrs r�:test_set_maximum_amplification__amplification_not_exceeded�SAttackProtectionTestBase.test_set_maximum_amplification__amplification_not_exceededr�rc��[S5n[R"5nURUR	X!55 g)N�inf)�floatrr�assertIsNoner�)rr�rs   r�(test_set_maximum_amplification__infinity�AAttackProtectionTestBase.test_set_maximum_amplification__infinitys2���E�l���#�#�%�����$�8�8��E�Frc���[R"5n[R"URU5nUR[US5 UR[US5 g)N�abc)rrr�r�r�r4r7r�s   r�7test_set_maximum_amplification__invalid_max_factor_type�PAttackProtectionTestBase.test_set_maximum_amplification__invalid_max_factor_type
sL���#�#�%���"�"�4�#A�#A�6�J�����)�V�T�2����)�V�U�3rc�2�[R"5n[R"URU5n[
R"S5nUR[RX2[S55 UR[RX2S5 g)Nz!'max_factor' must be at least 1.0�nang�G�z��?)
rrr�r�r��re�escaper�r
r�)rrr�r�s    r�8test_set_maximum_amplification__invalid_max_factor_range�QAttackProtectionTestBase.test_set_maximum_amplification__invalid_max_factor_rangesk���#�#�%���"�"�4�#A�#A�6�J���i�i�;�<�����u�/�/��e�E�l�K����u�/�/��d�Crc��[R"5nURS5n[R"UR
U5nUR
US5 g)Ng������^@)rrrr�r�r�r�r�s    r�2test_set_maximum_amplification__fail_for_subparser�KAttackProtectionTestBase.test_set_maximum_amplification__fail_for_subparsersH���#�#�%���5�5�d�;�	��"�"�4�#A�#A�9�M���'�'���7rrCN)r>r?r@rAr��staticmethodr�r�r�r��abstractmethodr�r�r�r�r�r�r�r�r�r�r�r�r�r�rBrCrrr|r|�s
����<?�*��*�.�M�
	������	���F��F�	���N��N�	���>��>�	���B��B�2�K�7�	���>��>�	���B��B�G�
4�D�8rr|�#SetAllocTrackerMaximumAmplificationz,requires Python compiled with Expat >= 2.7.2c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�MemoryProtectionTesti c�R�SnUR"[RXA/UQ70UD6 g)z;Check that func(*args, **kwargs) hits the allocation limit.z#out of memory: line \d+, column \d+Nr�r�s     rr��$MemoryProtectionTest.assert_rejected+s'��4�����u�/�/��L�T�L�V�Lrc�$�URU5$rK)�"SetAllocTrackerActivationThresholdr�s   rr��-MemoryProtectionTest.set_activation_threshold0s���8�8��C�Crc�$�URU5$rK)r�r�s   rr��.MemoryProtectionTest.set_maximum_amplification3s���9�9�*�E�Erc���[R"5nURUS5 URUR	US55 URSSS9nUR
URUS5 g)Nr�r�r�r��r�r�T�rrr�r�r�r�r�r��rrr�s   rr��EMemoryProtectionTest.test_set_activation_threshold__threshold_reached6sh���#�#�%���%�%�f�a�0�	
���$�8�8���E�F��4�4�2�Q�4�G�����V�\�\�7�D�9rc�
�[R"5nURU[SS55 UR	URUS55 UR
SSS9nURURUS55 g)Nr�r�r�r�r�T)	rrr��powr�r�r��assertIsNotNoner�r�s   rr��IMemoryProtectionTest.test_set_activation_threshold__threshold_not_reached@sq���#�#�%���%�%�f�c�"�a�j�9�	
���$�8�8���E�F��4�4�2�Q�4�G�����V�\�\�'�4�8�9rc���[R"5nURUS5 URUR	US55 URSSS9nUR
URUS5 g)Nrr�rrr�Tr�r�s   rr��KMemoryProtectionTest.test_set_maximum_amplification__amplification_exceededJsf���#�#�%���%�%�f�a�0����$�8�8���E�F��4�4�1�A�4�F�����V�\�\�7�D�9rc��[R"5nURUS5 URUR	US55 URSSS9nUR
URUS55 g)Nrg��@rrr�T)rrr�r�r�r�r�r�r�s   rr��OMemoryProtectionTest.test_set_maximum_amplification__amplification_not_exceededTsi���#�#�%���%�%�f�a�0����$�8�8���E�F��4�4�1�A�4�F�����V�\�\�'�4�8�9rrCN)r>r?r@rAr�r�r�r�r�r�r�rBrCrrr�r� s(��M�
D�F�:�:�:�:rr��__main__)/r�r�rqr�r�rzr�rZr��iorr
r�test.supportrr�xml.parsersr�xml.parsers.expatrr	�TestCaserrarEr�rrrkr�r�r�r�rrrr7rGr^�ABCr|r[�hasattr�
XMLParserTyper�r>�mainrCrr�<module>r�s�����	�	�
�������1��$�!�%G�x�(�(�%G�P��6|;��!�!�|;�|3�X�.�.�3�B!/�H�%�%�!/�H\=�X�&�&�\=�@6+�8�,�,�6+�t%�8�$�$�%�>R�H�%�%�R�&x$��*�*�x$�t#�X�.�.�#�B$��*�*�$�$L�x�(�(�L�"1>�h�'�'�1>�h!�x�0�0�!�H$.�(�*;�*;�$.�N3+�(�+�+�3+�lB8�s�w�w�B8�J
���W�U�0�0�B�D�D�?�A�9:�3�X�5F�5F�9:�A�9:�x�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit