403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.165
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_xml_etree.cpython-313.opt-2.pyc
�

��i������SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
Jr SSKrSSKrSSKJr SSKJr SSKJrJr SSKJr SSKJr SSKJr SSKJrJrJrJr SS	KJ r  SS
K!J"r" Sq#Sq$\"SSS
9r%\%RMS5 \"SSS
9r)\"SSS
9r*Sr+Sr,Sr-Sr.Sr/Sr0Sr1Sr2Sr3SS.Sjr4Sr5"SS \Rl5r7SwS"jr8S#r9"S$S%5r:"S&S'\Rl5r;"S(S)\Rl5r<"S*S+\Rl5r=0r>S,\>S-'S.\>S/'S0\>S1'S2\>S3'S4\>S5'S6\>S7'S8\>S9'S:\>S;'S<R\R�"\%S!55\>S='S>\>S?'0rAS@\ASA'SB\ASC'SD\>SE'SF\>SG'SH\>SI'"SJSK\Rl5rB"SLSM\Rl5rC"SNSO\:\Rl5rD"SPSQ\:\Rl5rE"SRSS\F5rG"STSU\F5rH"SVSW\F5rI"SXSY\:\Rl5rJ"SZS[\Rl5rK"S\S]\Rl5rL"S^S_\Rl5rM"S`Sa\Rl5rN"SbSc\Rl5rO"SdSe\Rl5rP"SfSg\Rl5rQ"ShSi\Rl5rR"SjSk\Rl5rS"SlSm\Rl5rT"SnSo\Rl5rU"SpSq\Rl5rVSrrW"SsSt\Rl5rXSxSujrY\ZSv:Xa\R�"5 gg!\'a \RP"S5ef=f)y�N)�nullcontext)�partial)�product�islice)�support)�	os_helper)�warnings_helper)�findfile�
gc_collect�	swap_attr�	swap_item)�import_fresh_module)�TESTFNz
simple.xml�xmltestdata��subdir�utf-8z!filename is not encodable to utf8z
simple-ns.xmlzexpat224_utf8_bug.xmlz�<body>
  <tag class='a'>text</tag>
  <tag class='b' />
  <section>
    <tag class='b' id='inner'>subtext</tag>
  </section>
</body>
zz<section>
  <tag class='b' id='inner'>subtext</tag>
  <nexttag />
  <nextsection>
    <tag />
  </nextsection>
</section>
zy
<body xmlns="http://effbot.org/ns">
  <tag>text</tag>
  <tag />
  <section>
    <tag>subtext</tag>
  </section>
</body>
z�
<root>
<h:table xmlns:h="hello">
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table xmlns:f="foo">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>
zy<!DOCTYPE points [
<!ENTITY % user-entities SYSTEM 'user-entities.xml'>
%user-entities;
]>
<document>&entity;</document>
zl<!DOCTYPE points [
<!ENTITY entity SYSTEM "file:///non-existing-file.xml">
]>
<document>&entity;</document>
z�<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Foo [
<!ELEMENT foo (bar*)>
<!ELEMENT bar (#PCDATA)*>
<!ATTLIST bar xml:lang CDATA "eng">
<!ENTITY qux "quux">
]>
<foo>
<bar>&qux;</bar>
</foo>
c��[[L$�N��ET�pyET���(C:\Python313\\Lib\test\test_xml_etree.py�is_python_implementationr~s����:�rc�Z�URn[RRUSSUS9$)N�__eq__T)�autospec�wraps)r�mock�patch�object)�cls�eqs  r�
equal_wrapperr&�s+��


���B��:�:���S�(�T���D�DrF)�quietc�^^�UU4SjnU$)Nc�H>^�UUU4Sjn[R"UT5 U$)Nc�v>�[R"TST06 T"U0UD6 SSS5 g!,(df   g=f)Nr')r	�check_warnings)�args�kwargs�filtersr'�tests  ���r�newtest�1checkwarnings.<locals>.decorator.<locals>.newtest�s0��� �/�/��F��F��d�%�f�%�G�F�F�s�	*�
8)�	functools�update_wrapper)r/r0r.r's` ��r�	decorator� checkwarnings.<locals>.decorator�s���	&�	� � ��$�/��rr)r'r.r4s`` r�
checkwarningsr6�s�����rc�^�URS[RR55$)N�
)�replace�os�linesep�encode)�datas r�convlinesepr>�s ���<�<��r�z�z�0�0�2�3�3rc� �\rSrSrSrSrSrg)�
ModuleTest�c�(�SSKJn SSKJn SSKJn g)Nr)�ElementTree��ElementInclude��ElementPath)�	xml.etreerCrErG)�selfrCrErGs    r�test_sanity�ModuleTest.test_sanity�s
��	*�,�)rc�>�Sn[R"U[USS9 g)N)�xml.etree.ElementTree�_elementtree)�
HTML_EMPTY)�not_exported)r�check__all__r)rI�namess  r�test_all�ModuleTest.test_all�s��9�����T�2�u�?�KrrN)�__name__�
__module__�__qualname__�__firstlineno__rJrS�__static_attributes__rrrr@r@�s
��*�Lrr@Tc��US:wa[R"5nO[R"5n[R	U5nUR
"U4SU0UD6 U(aUR
5$URS5 U$)N�unicode�encodingr)�io�BytesIO�StringIOrrC�write�getvalue�seek)�elem�	to_stringr\�options�file�trees      r�	serializerh�sc���9���z�z�|���{�{�}��
�>�>�$��D��J�J�t�2�h�2�'�2���}�}����	�	�!���rc�D�UVs/sHoRPM sn$s snfr��tag)�seqrcs  r�summarize_listrm�s��!$�%���H�H��%�%��%��c�0�\rSrSr\S5rSrSrSrg)�ElementTestCase�c�&�[[1Ulgr)rr�modules�r$s r�
setUpClass�ElementTestCase.setUpClass�s
���R�j��rc��[[RX#5 [R"X5nSSS5 [[RX$5 [R
"W5nSSS5 U$!,(df   NI=f!,(df   W$=f![Ra_n[[S4[S4/5n	[R"SU<SU	RX35<SU	RXD5<35UeSnAff=f)N�cETrzFailed to round-trip z from z to )
r
�sysrs�pickle�dumps�loads�
PicklingError�dictrrr�
TestFailed�get)
rI�obj�name�dumper�loader�proto�temp�result�pe�humans
          r�pickleRoundTrip�ElementTestCase.pickleRoundTrip�s���	L��3�;�;��5��|�|�C�/��6��3�;�;��5����d�+��6��
�6�5��5�5��
���#�#�	L��2�u�+��f�~�6�7�E��$�$�(+�(-�	�	�&�(A�(-�	�	�&�(A�&C�D�JL�
L��	L�sL�B�A6�"B�B�,B�6
B�B�
B�B�B�D�-AD�Dc���URU[R[R45 URU[R[R45 UR	[[
U55[[
U555 [X5Hup4URX45 M [R"SSSS5nUR	U"U5U"U55 g)Nrk�tail�text�attrib)�assertIsInstancer�Elementr�assertEqual�len�list�zip�assertEqualElements�operator�
attrgetter)rI�alice�bob�x�y�
propertiess      rr��#ElementTestCase.assertEqualElements�s������e�b�j�j�$�,�,�%?�@����c�B�J�J����#=�>�����T�%�[�)�3�t�C�y�>�:���O�D�A��$�$�Q�*�$��(�(�����I�
�����E�*�J�s�O�<rrN)	rUrVrWrX�classmethodrur�r�rYrrrrprp�s���!��!�
�=rrpc�(�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2g1)2�ElementTreeTest��c�:�UR[U5U5 gr)r�rh)rIrc�expecteds   r�serialize_check�ElementTreeTest.serialize_check�s������4��(�3rc�8�UR[5 [RS5nSSS5 UR[5 [R[R55nSSS5 g!,(df   NT=f!,(df   g=f)N�)�assertRaises�	TypeErrorrrC�rIrgs  r�test_constructor� ElementTreeTest.test_constructor�s`���
�
�y�
)��>�>�"�%�D�*�
�
�
�y�
)��>�>�"�.�.�"2�3�D�*�
)�*�
)��
)�
)�s�A:�	(B�:
B�
Bc���[R5n[RS5nURU5 UR	UR5RS5 UR	UR5U5 [R5nUR[5 URS5 SSS5 UR[5 UR[R55 SSS5 UR[5 URS5 SSS5 g!,(df   N=f!,(df   NO=f!,(df   g=f)Nrkr�)	rrCr��_setrootr��getrootrkr�r�)rIrg�elements   r�test_setroot�ElementTreeTest.test_setroot�s����~�~����*�*�U�#���
�
�g���������+�+�U�3���������1��~�~���
�
�
�y�
)��M�M�"��*�
�
�
�y�
)��M�M�"�.�.�*�+�*�
�
�
�y�
)��M�M�$��*�
)�	*�
)��
)�
)��
)�
)�s$�.D9�$E
�E�9
E�

E�
E)c�^^^�UU4Sjm[RS5nT"U5 [RU5nT"UR55 [RSSS9n[RU5nTR	[U5S5 [RSSS9nU4SjmT"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR5 T"UR 5 T"UR"5 T"UR$5 T"UR&5 T"UR(5 U4SjnU"URS55 U"URS	55 U"URS55 U"URS	55 TR+[R,[R.5 TR+[R0[R25 g)
Nc�(>�TR[RU5SS9 [U5nSH2nTR[	X5SU-S9 TRX!SU-S9 M4 TR
UR[5 TR
UR[5 URb TR
UR[5 URb TR
UR[5 UHnT"U5 M
 g)Nznot an element��msg)rkr�r�r�zno %s memberzno %s visible by dir)
�
assertTruer�	iselement�dir�hasattr�assertInr�rk�strr�r~r�r�)r��direlem�attrrc�
check_elementrIs    ��rr��5ElementTreeTest.test_interface.<locals>.check_element�s�����O�O�B�L�L��1�7G�O�H��'�l�G�7������� 6�*�T�1� �3��
�
�d�2�T�9��;�8�
�!�!�'�+�+�s�3��!�!�'�.�.�$�7��|�|�'��%�%�g�l�l�C�8��|�|�'��%�%�g�l�l�C�8����d�#� rrk�täg�value��keyz^<Element 't\xe4g' at 0x.*>$c�@>�TR[US5SU-S9 g)N�__call__z%s not callabler�)r�r�)�methodrIs �r�check_method�4ElementTreeTest.test_interface.<locals>.check_methods%����O�O�G�F�J�7�)�F�2�
�
4rc�*>�T"UR5 gr)�__next__)�itr�s �r�
check_iter�2ElementTreeTest.test_interface.<locals>.check_iter.s�������%r�*)rr�rCr��assertRegex�repr�append�extend�insert�remove�find�iterfind�findall�findtext�clearr��set�keys�items�iter�itertextr��XML�
fromstring�PI�ProcessingInstruction)rIr�rgr�r�r�s`   @@r�test_interface�ElementTreeTest.test_interface�s����	$�$�*�*�U�#���g���~�~�g�&���d�l�l�n�%��*�*�X�7�*�3���~�~�g�&������g��(G�H��*�*�U��*�0��	4�	�W�^�^�$��W�^�^�$��W�^�^�$��W�^�^�$��W�\�\�"��W�%�%�&��W�_�_�%��W�%�%�&��W�]�]�#��W�[�[�!��W�[�[�!��W�\�\�"��W�]�]�#��W�\�\�"��W�%�%�&�	&�	�7�#�#�E�*�+��7�#�#�C�(�)��4�=�=��'�(��4�=�=��%�&�	
���������/�������� 8� 8�9rc�R�[RS5nURURS5 SUlURURS5 SUlURURS5 UR	UR
5 SUlURUR
S5 SUlURUR
S5 UR	UR5 SUlURURS5 SUlURURS5 URUR05 SS	S
.UlURURSS	S
.5 SSS
.UlURURSSS
.5 g)Nrk�Tag�TAG�Text�TEXT�Tail�TAIL�b�d)�a�c�B�D)�A�C)rr�r�rk�assertIsNoner�r�r�)rIr�s  r�test_set_attribute�"ElementTreeTest.test_set_attribute;sH���*�*�U�#��������e�,����������e�,����������e�,����'�,�,�'����������v�.����������v�.����'�,�,�'����������v�.����������v�.��������,�"��-���������s��)=�>�"��-���������s��)=�>rc��[RS5nURUS5 [RS5nUR	U5 URUS5 URU5 URUS5 UR
SU5 URUS5 URU5 URU/5 URUS5 URU5 UR[U/55 URUS5 URU5 [RSSS	9nURUS
5 [RS5nUR	U5 URUS5 UR
SU5 URUS
5 URU5 URUS5 URU5 URUS
5 UR[5nURU5 SSS5 UR[WR5S5 URUS
5 XDU/USS&URUSS5 URUSSUSUS/5 URUSSS2USUS/5 USS2	URUS
5 g!,(df   N�=f)N�<body><tag/></body>�<body><tag /></body>�tag2z<body><tag /><tag2 /></body>rz<body><tag2 /><tag /></body>rkr�r�z<tag key="value" />�subtagz!<tag key="value"><subtag /></tag>z+<tag key="value"><subtag /><subtag /></tag>zlist.remove(x): x not in list�z
<subtag />�	�)rr�r�r�r�r�r�r�r�r��
ValueErrorr�r��	exception)rIrc�er��
subelement�cms      r�test_simpleops�ElementTreeTest.test_simpleopsVsv���v�v�+�,�����T�#9�:��J�J�v������A�����T�#A�B����A�����T�#9�:����A�q�����T�#A�B����A�����Q�C�����T�#A�B����A�����D�!��I�����T�#A�B����A���*�*�U��*�0�����W�&;�<��Z�Z��)�
����z�"����W�&I�J����q�*�%����W�=�	?����z�"����W�&I�J����z�"����W�&;�<�
�
�
�z�
*�b��N�N�:�&�+�����R�\�\�*�,K�L����W�&;�<�"�
�;���!�����W�Q�Z��6������1����
�G�A�J�'?�@������!�A������W�Q�Z�(@�A��A�a�C�L����W�=�	?�+�
*�s�K
�

Kc���UR[RS5S5 UR[RS5S5 UR[RS5S5 g)Nz<tag>hello</tag>z)<tag>&#104;&#101;&#108;&#108;&#111;</tag>z<tag><![CDATA[hello]]></tag>)r�rr��rIs r�
test_cdata�ElementTreeTest.test_cdata�s[��	
���R�V�V�$6�7�"�	$����R�V�V�$O�P�"�	$����R�V�V�$B�C�"�	$rc��[R"[RS55n[RUS9nUR
URS5RS5 UR
URS5RS5 [R[S9nUR
URS5RS5 UR
URS5RS5 g)Nr)rfrk�section/tagr�zelement/../empty-element�
empty-element)
r]r^�
SAMPLE_XMLr<rrCr�r�rk�SIMPLE_XMLFILE)rI�
stringfilergs   r�test_file_init�ElementTreeTest.test_file_init�s����Z�Z�
� 1� 1�'� :�;�
��~�~�:�~�.��������5�)�-�-�u�5�������=�1�5�5�u�=��~�~�>�~�2��������9�-�1�1�9�=�������#=�>�B�B��	!rc��SSKJn [R[5nUR
R
5 [S5H3n[RU5RS[U5-5 M5 [UR
5n[S5H3n[RU5RS[U5-5 M5 UR[UR
5U5 [S5H3n[RU5RS[U5-5 M5 UR[UR
5U5 [S5H3n[RU5RS[U5-5 M5 UR[UR
5S5 g)NrrF�
z./��Xi�)rHrGrr�r�_cacher��rangerCr�r�r�r��
assertGreater�
assertLess)rIrGrc�i�cache_len_10s     r�test_path_cache�ElementTreeTest.test_path_cache�s*��	*��v�v�j�!����� � �"��r��A�B�N�N�4�0�5�5�d�3�q�6�k�B���;�-�-�.���r��A�B�N�N�4�0�5�5�d�3�q�6�k�B������[�/�/�0�,�?��r��A�B�N�N�4�0�5�5�d�3�q�6�k�B�����3�{�1�1�2�L�A��s��A�R�^�^�D�1�6�6�t�C��F�{�C������K�.�.�/��5rc��SSKn[RS5nUR"U5nUR"U5nSUR	S5lUR
US5 UR
US5 UR
US5 g)Nrz<tag>hello<foo/></tag>�bar�fooz<tag>hello<bar /></tag>z<tag>hello<foo /></tag>)�copyrr��deepcopyr�rkr�)rIr#�e1�e2�e3s     r�	test_copy�ElementTreeTest.test_copy�st��	�
�V�V�,�
-��
�Y�Y�r�]��
�]�]�2�
��"����������R�!:�;����R�!:�;����R�!:�;rc�.�[RS5nURS5 URURSS5S5 UR	SS5 URURS5S5 [RSSS9nURURS5S5 URUR
SS05 SS0n[RSU5nUR
5 URURS5S5 URUR
SS05 SS0n[R"S0UD6nUR
5 URURS5S5 URUR
SS05 [RSSS0SS9nURURS5S5 URUR
SS05 [RS5nSUlUR	S	S
5 UR	SS5 UR[RU5S
5 UR[UR55S	S/5 UR[UR55SS/5 URUR
SS5 SUR
S'SUR
S'UR[RU5S5 [RS5nUR	SS5 UR	SS5 UR	SS5 UR	SS5 UR[RU5S5 g)Nrkr��defaultr�r��otherr/�aa�testa�testval�testb�test2s-<test testa="testval" testb="test2">aa</test>)r.r/)r0r1�test1�testcs;<test testa="testval" testb="test1" testc="test2">aa</test>r��
r��
r�z	

 r�z



		  s[<test a="&#13;" b="&#13;&#10;" c="&#09;&#10;&#13; " d="&#10;&#10;&#13;&#13;&#09;&#09;  " />rj)rr�r�r�r�r�r�r��tostring�sortedr�r�)rIrcr�s   r�test_attrib�ElementTreeTest.test_attrib�s����z�z�%� �������������%��3�Y�?������ �������%��'�2��z�z�%�W�z�-��������%��'�2�������u�g�&6�7���!���z�z�%��(������������%��'�2�������u�g�&6�7���!���z�z�*�6�*������������%��'�2�������u�g�&6�7��z�z�%�%��!1�w�z�?��������%��'�2�������u�g�&6�7��z�z�&�!����	�����)�$�����'�"�������T�*�@�	B������	�	��,�w��.@�A������
�
��-�%�'9�:�	<�������W�-�w�7�&����G��&����G��������T�*�N�	P��z�z�&�!������d������f������i� �����&�'�������T�*�n�	prc��[RS5nSS0nURSU5nURURUSS9 URU5 UR
US5 UR5 UR
US5 URU5 UR
US5 URX3/5 UR
US	5 U/USS&UR
US5 [U/5USS&UR
US5 g)
Nrkr�r�r�zattrib aliasingr�z!<tag><subtag key="value" /></tag>�<tag />zM<tag><subtag key="value" /><subtag key="value" /><subtag key="value" /></tag>)
rr��makeelement�assertIsNotr�r�r�r�r��tuple)rIrcr��subelems    r�test_makeelement� ElementTreeTest.test_makeelement�s����z�z�%� ����!���"�"�8�V�4���������5F��G����G�����T�#F�G��
�
�����T�9�-����G�����T�#F�G����W�&�'����T�[�	]��)��Q�����T�#F�G���	�"��Q�����T�#F�Grc�`�[R[5n[R"5nURUSS9 UR
UR5S5 [R[5n[R"5nURUSS9 UR
UR5S5 [[5nUR5nSSS5 [R5nURURS5 URW5 URUR!5S5 [R#5n[RUS9nURU5 URUR!5S5 g!,(df   N�=f)Nr[�r\zi<root>
   <element key="value">text</element>
   <element>text</element>tail
   <empty-element />
</root>z�<ns0:root xmlns:ns0="namespace">
   <ns0:element key="value">text</ns0:element>
   <ns0:element>text</ns0:element>tail
   <ns0:empty-element />
</ns0:root>z^Expat ��target)r�parserr]r_r`r�ra�SIMPLE_NS_XMLFILE�open�read�	XMLParserr��version�feedr��close�TreeBuilder)rIrg�stream�fr=�parserrEs       r�test_parsefile�ElementTreeTest.test_parsefile�sC���x�x��'��������
�
�6�I�
�.�������*��	��x�x�)�*��������
�
�6�I�
�.�������*��	��.�
!�Q��6�6�8�D�"�������������4����D�����V�\�\�^��	����!�����V��,�����D�����V�\�\�^��	�!"�
!�s�F�
F-c��[RS5nUR[RUSS9S5 [R	S5nUR[RUSS9S5 /SQn[RU5nUR[RU5S5 URSR
[RU55S5 UR[RUS5S5 [RS5up4UR[U5S	5 [RS
5up4UR[U5S5 URUSRS5 g)
N�<html><body>text</body></html>r[rC)z<html><body>ztext</boz
dy></html>�<html><body>text</body></html>r�asciisE<?xml version='1.0' encoding='ascii'?>
<html><body>text</body></html>rz(<html><body id='body'>text</body></html>r��body)rr�r�r6r��fromstringlist�join�tostringlist�XMLIDr�rk)rIr��sequence�_�idss     r�test_parseliteral�!ElementTreeTest.test_parseliteral,s:���&�&�9�:��������W�y��A�0�	2��-�-� @�A��������W�y��A�0�	2�=���#�#�H�-��������W�-�1�	3�������"�/�/�'�":�;�1�	3�������W�g�6�2�	3����:�;�������S��1�%����D�E�������S��1�%�����V����&�1rc��[RS5nSUlURUS5 S[R	US5lURUS5 SUlURUS5 UR
S[RS	55 URUS
5 [RSS5US'URUS
5 g)Nrkr�z<tag>text</tag>�subtextr�z'<tag>text<subtag>subtext</subtag></tag>ztext<subtag>subtext</subtag>r�commentz*text<!--comment--><subtag>subtext</subtag>r�r�z)text<?key value?><subtag>subtext</subtag>)	rr�r�r��
SubElementrkr��Commentr��rIrcs  r�test_writefile�ElementTreeTest.test_writefileBs����z�z�%� ����	����T�#4�5�-6��
�
�d�H�%�*����T�#L�M�������T�#A�B����A�r�z�z�)�,�-����T�<�	>��%�%��w�'��Q�����T�#N�Orc� �[[5nUR5nSSS5 "SS[5nU"5n[RUS9nUR
W5 URU/SQ5 [[5nUR5nSSS5 "SS[5nU"5n[RUS9nUR
U5 URU/SQ5 g!,(df   N�=f!,(df   Nn=f)Nc�&�\rSrSrSrSrSrSrg)�4ElementTreeTest.test_custom_builder.<locals>.Builderrc�*�URSU45 g�N�start�r��rIrkr�s   rro�:ElementTreeTest.test_custom_builder.<locals>.Builder.startY������W�c�N�+rc�*�URSU45 g�N�endrp�rIrks  rrv�8ElementTreeTest.test_custom_builder.<locals>.Builder.end[������U�C�L�)rc��grr�rIr�s  rr=�9ElementTreeTest.test_custom_builder.<locals>.Builder.data]���rrN)rUrVrWrXrorvr=rYrrr�BuilderrlXs��
,�
*�
rr~rD��ro�root�ror��rvr�r�r�)ror�rvr�rvr�c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)rlioc�*�URSU45 grnrprqs   rrorrprsrc�*�URSU45 grurprws  rrvrxrryrc��grrr{s  rr=r|tr}rc�*�URSX45 g)N�pirp)rIrEr=s   rr��7ElementTreeTest.test_custom_builder.<locals>.Builder.pivs�����T�6�0�1rc�*�URSU45 g)Nrdrp)rIr=s  rrd�<ElementTreeTest.test_custom_builder.<locals>.Builder.commentxs�����Y��-�.rc�*�URSX45 g)N�start-nsrp)rI�prefix�uris   r�start_ns�=ElementTreeTest.test_custom_builder.<locals>.Builder.start_nszs�����Z��5�6rc�*�URSU45 g�N�end-nsrp�rIr�s  r�end_ns�;ElementTreeTest.test_custom_builder.<locals>.Builder.end_ns|������X�v�.�/rrN)rUrVrWrXrorvr=r�rdr�r�rYrrrr~rlos%��
,�
*�
�
2�
/�
7�
0r))r�r�r=)rd�	 comment )r�r��	namespace�ro�{namespace}root�ro�{namespace}element�rvr�r�r��ro�{namespace}empty-element�rvr��rvr��r�r�)	rHrrIr�rrJrLr�rG)rIrPr=r~�builderrQs      r�test_custom_builder�#ElementTreeTest.test_custom_builderSs����.�
!�Q��6�6�8�D�"�	�d�	��)�����W��-�����D������	#�		��#�
$���6�6�8�D�%�	0�d�	0��)�����W��-�����D������
#�
	�W"�
!��.%�
$�s�C.�C?�.
C<�?
D
c���"SS[5nU"5n[RUS9nUR[R
"S55 UR
U/SQ5 g)Nc��\rSrSrSrSrg)�@ElementTreeTest.test_custom_builder_only_end_ns.<locals>.Builderi�c�*�URSU45 gr�rpr�s  rr��GElementTreeTest.test_custom_builder_only_end_ns.<locals>.Builder.end_ns�r�rrN)rUrVrWrXr�rYrrrr~r��s��
0rr~rDa            <?pi data?>
            <!-- comment -->
            <root xmlns='namespace' xmlns:p='pns' xmlns:a='ans'>
               <a:element key='value'>text</a:element>
               <p:element>text</p:element>tail
               <empty-element/>
            </root>
            ))r�r�)r��pr�)r�rrJrL�textwrap�dedentr�)rIr~r�rQs    r�test_custom_builder_only_end_ns�/ElementTreeTest.test_custom_builder_only_end_ns�sZ��	0�d�	0��)�����W��-�����H�O�O�%��	�	
����#�	rc��[RSS9nURUR[R5 [R5nURUR[R5 g)NrD)rrJr�rErN)rIrQ�parser2s   r�%test_initialize_parser_without_target�5ElementTreeTest.test_initialize_parser_without_target�sO�����T��*�����f�m�m�R�^�^�<��,�,�.�����g�n�n�b�n�n�=rc�H�[[S5n[RU5nSSS5 UR	WR5R
5Vs/sHn[U5PM sn/SQ////5 UR	UR
5Vs/sHn[U5PM sn/SQ////5 [R[5nUR	[[U55S5 UR	[[US55S5 UR	USS[U55 USnUSnUSS2	UR	[[U55S5 UR	XCS5 UR	XSS5 XT/USS&UR	XSS5 UR	XCS5 URXCS5 UR5 UR	[U5/5 g!,(df   GN�=fs snfs snf)N�rb)r�r�r�rr�r)rHrrrFr�r�r�rmr�rr�r��assertNotEqualr�)rIrPrgrc�child1�child2s      r�
test_children�ElementTreeTest.test_children�s����.�$�
'�1��8�8�A�;�D�(����&*�l�l�n�&9�&9�&;�=�&;�d�)��.�&;�=�7����	?�	�	
���&*�i�i�k�3�&1�d�)��.�&1�3�7����	5�	��v�v�j�!������T�$�Z��!�,�����T�$�q�'�]�+�Q�/�����a��$�t�*�-��a����a�����1��I�����T�$�Z��!�,�����a��)�����a��)��$��Q�q�	�����a��)�����a��)����F��G�,��
�
������d��R�(�A(�
'��=��3s�H�H�H�
Hc���[RS5nUR[RU5S5 [R	S5nUR[RU5S5 g)NrUrV)rr�r�r6r�rgs  r�test_writestring� ElementTreeTest.test_writestring�sT���v�v�6�7��������T�*�,M�N��}�}�=�>��������T�*�,M�Nrc��[RS5n[RU5 UR[R	U5S5 [RS5n[RU5 UR[R	U5S5 [RS5n[RU5 UR[R	U5S5 [RS5n[RU5 UR[R	U5S5 [RS5n[RU5 UR[R	U5S	5 [RS
5n[RU5 UR[R	U5S5 g)Nz
<root></root>s<root />rUs"<html>
  <body>text</body>
</html>z!<html> <body>text</body>  </html>z"<html><body>text</body>tail</html>s%<html>
  <body>text</body>tail</html>z=<html><body><p>par</p>
<p>text</p>	<p><br/></p></body></html>s^<html>
  <body>
    <p>par</p>
    <p>text</p>
    <p>
      <br />
    </p>
  </body>
</html>�8<html><body><p>pre<br/>post</p><p>text</p></body></html>sJ<html>
  <body>
    <p>pre<br />post</p>
    <p>text</p>
  </body>
</html>�rr��indentr�r6rgs  r�test_indent�ElementTreeTest.test_indent�sD���v�v�o�&��
�	�	�$��������T�*�K�8��v�v�6�7��
�	�	�$��������T�*�,S�T��v�v�9�:��
�	�	�$��������T�*�,S�T��v�v�:�;��
�	�	�$��������T�*�,U�V��v�v�W�X��
�	�	�$������K�K���
�	
��v�v�P�Q��
�	�	�$������K�K���
�	
rc�<�[RS5n[RUSS9 UR[R	U5S5 [RS5n[RUSS9 UR[R	U5S5 g)Nr��	)�spacesD<html>
	<body>
		<p>pre<br />post</p>
		<p>text</p>
	</body>
</html>r�s><html>
<body>
<p>pre<br />post</p>
<p>text</p>
</body>
</html>r�rgs  r�test_indent_space�!ElementTreeTest.test_indent_spaces����v�v�P�Q��
�	�	�$�d�	�#�����K�K���
�	
��v�v�P�Q��
�	�	�$�b�	�!�����K�K���
�	
rc�l�[RS5n[RU5 URUR	5Vs1sHo"R
iM sn1Sk5 URUR	5Vs1sHo"RiM sn1Sk5 UR[UR	5Vs1sHo"R
iM sn5[UR	5Vs1sHn[UR
5iM sn55 gs snfs snfs snfs snf)Nz@<html><body><p>par</p><p>text</p><p><br/></p><p /></body></html>>N�
�
  �
    >N�parr�r�r��
      )	rr�r�r�r�r�r�r��id)rIrc�els   r�test_indent_space_caching�)ElementTreeTest.test_indent_space_cachings����v�v�X�Y��
�	�	�$�����#�y�y�{�+�{��W�W�{�+�*�	
�	
���#�y�y�{�+�{��W�W�{�+�?�	
�	
����4�9�9�;�/�;�R���;�/�0��t�y�y�{�3�{���B�G�G��{�3�4�	
��
,��
,��0��3s�D"�D'�D,�7D1c��[RS5nUR[5 [R	USS9 SSS5 UR[R
U5S5 [R	USS9 UR[R
U5S5 [RS5n[R	USSS	9 UR[R
U5S
5 g!,(df   N�=f)Nr����)�levels9<html><body><p>pre<br />post</p><p>text</p></body></html>rs^<html>
      <body>
        <p>pre<br />post</p>
        <p>text</p>
      </body>
    </html>r�� )r�r�sI<html>
  <body>
   <p>pre<br />post</p>
   <p>text</p>
  </body>
 </html>)rr�r�rr�r�r6rgs  r�test_indent_level�!ElementTreeTest.test_indent_level/s����v�v�P�Q��
�
�
�z�
*��I�I�d�"�I�%�+�����K�K���H�	
�
	�	�	�$�a�	� �����K�K���
�	
��v�v�P�Q��
�	�	�$�a�s�	�+�����K�K���
�	
�)+�
*�s�C6�6
Dc��[RS5nUR[RUSS9S5 UR[RUSSS9S5 g)N�0<body xmlns="http://effbot.org/ns"><tag/></body>r[rC�A<ns0:body xmlns:ns0="http://effbot.org/ns"><ns0:tag /></ns0:body>�http://effbot.org/ns�r\�default_namespace�1<body xmlns="http://effbot.org/ns"><tag /></body>�rr�r�r6rgs  r�test_tostring_default_namespace�/ElementTreeTest.test_tostring_default_namespaceOsX���v�v�H�I������K�K��y�K�1�O�	
�	
����K�K��y�DZ�K�[�?�	
rc�x�[RS5nUR[RUSSS9S5 g)Nr�r[�foobarr�zP<ns1:body xmlns="foobar" xmlns:ns1="http://effbot.org/ns"><ns1:tag /></ns1:body>r�rgs  r�3test_tostring_default_namespace_different_namespace�CElementTreeTest.test_tostring_default_namespace_different_namespaceZs4���v�v�H�I������K�K��y�H�K�M�^�	
rc��[RS5nSnUR[U5 [R	USSS9 SSS5 g!,(df   g=f)Nr�z>^cannot use non-qualified names with default_namespace option$r[r�r�)rr��assertRaisesRegexrr6)rIrc�EXPECTED_MSGs   r�5test_tostring_default_namespace_original_no_namespace�EElementTreeTest.test_tostring_default_namespace_original_no_namespaceasD���v�v�+�,��W��
�
#�
#�J��
=��K�K��y�H�K�M�>�
=�
=�s�A
�
Ac�v�[RS5nUR[RUSS9S5 g)Nr�r[rCr�r�rgs  r� test_tostring_no_xml_declaration�0ElementTreeTest.test_tostring_no_xml_declarationgs2���v�v�+�,������K�K��y�K�1�"�	
rc�x�[RS5nUR[RUSSS9S5 g)Nr��utf8T�r\�xml_declarations:<?xml version='1.0' encoding='utf8'?>
<body><tag /></body>r�rgs  r�test_tostring_xml_declaration�-ElementTreeTest.test_tostring_xml_declarationns4���v�v�+�,������K�K��v�t�K�D�J�	
rc�x�[RS5nUR[RUSSS9S5 g)Nr�r[Tr��;<?xml version='1.0' encoding='utf-8'?>
<body><tag /></body>r�rgs  r�.test_tostring_xml_declaration_unicode_encoding�>ElementTreeTest.test_tostring_xml_declaration_unicode_encodingus4���v�v�+�,������K�K��y�$�K�G�J�	
rc
��[RS5n/SQnUHKup4nURSUSU35 UR[R	UUUS9U5 SSS5 MM g!,(df   M_=f)N�<body><tag>ø</tag></body>))�<body><tag>&#248;</tag></body>NN)�<body><tag>ø</tag></body>�UTF-8N)r�US-ASCIIN)�E<?xml version='1.0' encoding='ISO-8859-1'?>
<body><tag>�</tag></body>�
ISO-8859-1N)rr[N)rNF)rrF)rrF)s<body><tag>�</tag></body>rF)rr[F)sH<?xml version='1.0' encoding='us-ascii'?>
<body><tag>&#248;</tag></body>NT)sA<?xml version='1.0' encoding='UTF-8'?>
<body><tag>ø</tag></body>rT)sH<?xml version='1.0' encoding='US-ASCII'?>
<body><tag>&#248;</tag></body>rT)rrT)uA<?xml version='1.0' encoding='utf-8'?>
<body><tag>ø</tag></body>r[Tz	encoding=z xml_declaration=r�)rr��subTestr�r6)rIrc�	TESTCASES�expected_retvalr\r�s      r�#test_tostring_xml_declaration_cases�3ElementTreeTest.test_tostring_xml_declaration_cases|s����v�v�2�3��
�	�<;D�6�O�����	�(��41�1@�0A�C�D�� � ��K�K��!)�(7� ��
$�
�D�D�;D�D�D�s�&A,�,
A;	c
��[RS5nURSR[R	USS95S5 URSR[R	USSS95S5 g)	Nr�r�r[rCr�r�r�r�)rr�r�rZr[rgs  r�#test_tostringlist_default_namespace�3ElementTreeTest.test_tostringlist_default_namespace�sj���v�v�H�I������G�G�B�O�O�D�9�O�=�>�O�	
�	
����G�G�B�O�O�D�9�Pf�O�g�h�?�	
rc	��[RS5nURSR[R	USS95S5 URSR[R	USS95S	5 [R	USSS
9nURSRU5S5 URUSS
5 UR/SQUSS5 g)Nr�r�r[rCr�rT)r�s><?xml version='1.0' encoding='us-ascii'?>
<body><tag /></body>r�r�rz%^<\?xml version='1.0' encoding='.+'?>)z<body�>z<tagz />z</body>r�)rr�r�rZr[r�)rIrc�
stringlists   r�!test_tostringlist_xml_declaration�1ElementTreeTest.test_tostringlist_xml_declaration�s����v�v�+�,������G�G�B�O�O�D�9�O�=�>�"�	
�	
����H�H�R�_�_�T�4�_�@�A�N�	
�
�_�_�T�I�t�_�T�
�����G�G�J��J�	
�	
����A��(P�Q����A�:�a�b�>�Rrc
�^^�SU4SjjnU"SS5 U"SS5 U"SS5 U"SS5 U"S	S
5 U"SS5 S
mU4Sjn/SQnUHAnTR[R[RU"U555S5 MC /SQnUH.nTR	[
[RU"U55 M0 /SQnUH8nTR	[R[RU"U55 M: TR	[
[RT"S5RS55 TR	[[RT"S5RS55 g)Nc�>�SU<SU<S3nTR[RURU55RU5 TR[RU5RU5 g)Nz<?xml version='1.0' encoding='z'?><xml>z</xml>)r�rr�r<r�)r\rX�xmlrIs   �r�check�,ElementTreeTest.test_encoding.<locals>.check�sU����d�$�C����R�V�V�C�J�J�x�$8�9�>�>��E����R�V�V�C�[�-�-�t�4rrWr��us-ascii�
iso-8859-1�½ziso-8859-15u€�cp437u√�	mac-romanu˚c��SU-$)Nz*<?xml version='1.0' encoding='%s'?><xml />rrCs rr�*ElementTreeTest.test_encoding.<locals>.xml�s
��?�(�J�Jrc�2>�T"U5RU5$r)r<)r\rs �r�bxml�+ElementTreeTest.test_encoding.<locals>.bxml�s����x�=�'�'��1�1r)CrWrz	utf-8-sig�utf-16�utf-16be�utf-16lez	iso8859-1z	iso8859-2z	iso8859-3z	iso8859-4z	iso8859-5z	iso8859-6z	iso8859-7z	iso8859-8z	iso8859-9z
iso8859-10z
iso8859-13z
iso8859-14z
iso8859-15z
iso8859-16r�cp720�cp737�cp775�cp850�cp852�cp855�cp856�cp857�cp858�cp860�cp861�cp862�cp863�cp865�cp866�cp869�cp874�cp1006�cp1125�cp1250�cp1251�cp1252�cp1253�cp1254�cp1255�cp1256�cp1257�cp1258zmac-cyrillicz	mac-greekzmac-icelandz
mac-latin2rzmac-turkishz
iso2022-jpziso2022-jp-1ziso2022-jp-2ziso2022-jp-2004ziso2022-jp-3ziso2022-jp-extzkoi8-rzkoi8-tzkoi8-u�kz1048�hz�ptcp154s<xml />)�big5�	big5hkscs�cp932�cp949�cp950zeuc-jpzeuc-jis-2004zeuc-jisx0213zeuc-kr�gb2312�gbk�gb18030z
iso2022-kr�johabz	shift-jiszshift-jis-2004zshift-jisx0213zutf-7)
�cp037�cp424�cp500�cp864�cp875�cp1026�cp1140�utf_32�	utf_32_be�	utf_32_le�	undefined�xxx)r�)	r�rr6r�r�r�
ParseErrorr<�LookupError)rIrr!�supported_encodingsr\�&unsupported_ascii_compatible_encodings�(unsupported_ascii_incompatible_encodingsrs`      @r�
test_encoding�ElementTreeTest.test_encoding�s:���	5�
	�g�s��
�j�#��
�l�F�#�
�m�X�&�
�g�x� �
�k�8�$�	K�	2�
��",�H����R�[�[�����X��)?�@�*�M�,�2
�.�?�H����j�"�&�&�$�x�.�A�?�4
�0�A�H����b�m�m�R�V�V�T�(�^�D�A�	
���*�b�f�f�c�+�.>�.E�.E�g�.N�O����+�r�v�v�s�5�z�/@�/@��/I�Jrc�B�[RS5nSUlUR[	U5S5 UR[	USS9S5 UR[	USS9S5 UR[	USS9S5 UR[	USS9S	5 g)
Nz-<html><link/><script>1 &lt; 2</script></html>r�z/<html><link /><script>1 &lt; 2</script></html>
�r�r�htmlz*<html><link><script>1 < 2</script></html>
r�z1 < 2
)rr�r�r�rh�rIrs  r�test_methods�ElementTreeTest.test_methodss���
�F�F�B�C���������1��B�	D�����1�T�2�B�	D�����1�U�3�B�	D�����1�V�4�=�	?�����1�V�4�i�@rc��[RS5nUR[U5S5 UR[USS9S5 g)Nz(<html><CamelCase>text</CamelCase></html>rcrb�rr�r�rhrds  r�test_issue18347�ElementTreeTest.test_issue18347sB���F�F�=�>������1��:�	<�����1�V�4�:�	<rc��[RS5nUR[USS9S5 UR	US5 UR[R5n[RS5 SSS5 UR[WR5S5 UR[R5n[R[5 SSS5 UR[UR5S5 [R5nS	URS
'UR[5 UR5nUR	US5 UR[R5n[R[5 SSS5 UR[UR5S5 g!,(df   GN[=f!,(df   GN=f!,(df   NX=f)
Nz*<document title='&#x8230;'>test</document>rrCs*<document title="&#33328;">test</document>u%<document title="舰">test</document>z<document>&entity;</document>z#undefined entity: line 1, column 10z,undefined entity &entity;: line 5, column 10r��entityz<document>text</document>z,undefined entity &entity;: line 4, column 10)rr�r�rhr�r�rZr�r�
ENTITY_XMLrJrlrLrM�EXTERNAL_ENTITY_XML)rIrrrQr�s     r�test_entity�ElementTreeTest.test_entitysi��

�F�F�?�@������1�z�:�=�	?����Q� J�K��
�
�r�}�}�
-���F�F�2�3�.�����R�\�\�*�5�	7��
�
�r�}�}�
-���F�F�:��.�����R�\�\�*�>�	@�
�����"(��
�
�h�����J���|�|�~�����T�#>�?��
�
�r�}�}�
-���F�F�&�'�.�����R�\�\�*�>�	@�-.�
-��
.�
-��.�
-�s$�!G�G�G/�
G�
G,�/
G=c��[RS5nURUS5 [RS5nURUS5 [RS5nURUS5 [RS5nURUS5 [R[5nURUS	5 g)
Nz<tag xml:lang='en' />z<tag xml:lang="en" />zC<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' />zC<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />z7<html:html xmlns:html='http://www.w3.org/1999/xhtml' />z7<html:html xmlns:html="http://www.w3.org/1999/xhtml" />zG<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope' />zE<ns0:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope" />z�<ns0:body xmlns:ns0="http://effbot.org/ns">
  <ns0:tag>text</ns0:tag>
  <ns0:tag />
  <ns0:section>
    <ns0:tag>subtext</ns0:tag>
  </ns0:section>
</ns0:body>)rr�r��
SAMPLE_XML_NSrgs  r�test_namespace�ElementTreeTest.test_namespace<s���
�v�v�-�.�����T�#:�;��v�v�[�\�����T�Q�	S��v�v�O�P�����T�E�	G��v�v�_�`�����T�S�	U��v�v�m�$�����T�
�	rc���[RS5nURUS5 [R[RS55nURUS5 [R[RSS55nURUS5 [R[RSS55n[R	U[RSS55n[R	U[RSS55nURUS5 UR5 SURS	'URUS
5 UR5 SUR[RS	5'URUS
5 UR5 SURS	'URUS5 UR5 [RS5URS	'URUS
5 UR5 [RS5n[RS5URS'URU5 URU5 URUS5 UR[[RSS55S5 UR[[RS55S5 [RSS5n[RSS5nURX45 [RSS5nURX45 URUS5 URUS5 g)Nz{uri}tagz<ns0:tag xmlns:ns0="uri" />r�rk�tag1r�z;<ns0:tag xmlns:ns0="uri"><ns0:tag1 /><ns0:tag2 /></ns0:tag>r�z{uri}keyz+<ns0:tag xmlns:ns0="uri" ns0:key="value" />z
{uri}valuez0<ns0:tag xmlns:ns0="uri" ns0:key="{uri}value" />z/<ns0:tag xmlns:ns0="uri" ns0:key="ns0:value" />z{uri2}valuez	{uri1}keyz{<ns0:tag xmlns:ns0="uri" xmlns:ns1="uri1" xmlns:ns2="uri2"><tag ns1:key="ns2:value" /><tag ns1:key="ns2:value" /></ns0:tag>�nsz{ns}tagz	other-tagzns:tag)rr�r��QNamerer�r�r�r�r�r�)rIrcr?�q1�q2s     r�
test_qname�ElementTreeTest.test_qname]s���
�z�z�*�%�����T�#@�A��z�z�"�(�(�:�.�/�����T�#@�A��z�z�"�(�(�5�%�0�1�����T�#@�A��z�z�"�(�(�5�%�0�1���-�-��b�h�h�u�f�&=�>���-�-��b�h�h�u�f�&=�>�����T�I�	K�
	
�
�
��")����J�����T�9�	;�	
�
�
��,3����B�H�H�Z�(�)����T�9�	;�	
�
�
��".����J�����T�>�	@�	
�
�
��"$�(�(�<�"8����J�����T�=�	?�	
�
�
���*�*�U�#��&(�h�h�}�&=����{�#����G�����G�����T�
�	�	
����R�X�X�d�E�2�3�Y�?�����R�X�X�i�0�1�9�=�
�X�X�d�E�
"��
�X�X�d�E�
"������ �
�X�X�d�K�
(�����B�#����B��)�����Y�'rc�.�[RS5ng)Nz�<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>text</html>)rr�rgs  r�test_doctype_public�#ElementTreeTest.test_doctype_public�s���v�v�$�%�rc�^^�SSKJm S>UU4SjjnU"SS/5 U"SSS/5 U"SS	S
/5 U"SS	S/5 U"S/S
Q5 U"S/SQ5 U"S/SQ5 U"S/SQ5 U"S/SQ5 U"SSS/5 U"S/SQ5 U"SS/5 U"S/SQ5 U"SS/5 U"S/S Q5 U"S!/S"Q5 U"S#/S$Q5 U"S%S	S&/5 U"S'S'/5 U"S(/S)Q5 U"S*/S+Q5 U"S,S,/5 U"S-S-/5 U"S.S./5 U"S/S//5 U"S0/S1Q5 U"S2/S3QS4S505 U"S6S7/S8S505 U"S9S	S7/S4S505 U"S:S	S6/S8S505 U"S;S	S</S8S505 U"S%S	S&/S5S5S=.5 g)?NrrFc�>�TRTRX5VVs/sHup4U=(d UPM snnU5 gs snnfr)r��xpath_tokenizer)r�r��
namespaces�oprkrGrIs     ��rr�3ElementTreeTest.test_xpath_tokenizer.<locals>.check�sJ������-8�-H�-H��-W�Y�-W�'�"�!�i�C�i�-W�Y�%�
'��Ys�A
r�ztext()r��()z@name�@r�z@*zpara[1])�para�[�1�]zpara[last()])r�r��lastr�r�z*/para)r��/r�z/doc/chapter[5]/section[2])r��docr��chapterr��5r�r��sectionr��2r�z
chapter//para)r��//r�z//parar�r�z//olist/item)r��olistr��item�.z.//para)r�r�r��..z../@lang)r�r�r��langzchapter[title])r�r��titler�z#employee[@secretary and @assistant])
�employeer�r��	secretaryr��andr�r��	assistantr�z	@{ns}attrz{ns}attr�{http://spam}eggz
./spam.egg)r�r�zspam.eggz.//{http://spam}egg)r�r�r�z{ns}*�{}*�{*}tag�{*}*z	.//{*}tag)r�r�r�z
./xsd:type)r�r��&{http://www.w3.org/2001/XMLSchema}type�xsdz http://www.w3.org/2001/XMLSchema�typer�r�z	@xsd:typez@typez@{*}typez{*}type)r�rwr)rHrG)rIrrGs` @r�test_xpath_tokenizer�$ElementTreeTest.test_xpath_tokenizer�s����)�	'�	'�	�c�C�5��
�h����'�
�g��V�}�%�
�d�S�#�J��
�i�0�1�
�n�>�?�
�h�*�+�
�*�.�	/�	�o�8�9�
�h��v��'�
�n�:�;�
�c�C�5��
�i�,�-�
�d�T�F��
�j�2�3�
�� >�?�
�3�6K�	L�	�k�C��,�-�
� �#5�"6�7�
�l�2�3�
�#�%D�E�	�g��y�!�
�e�e�W��
�h��
�#�
�f�v�h��
�k�0�1�	�l�P��8�9�	;�
�f�?�@��5�6�	8�
�k�C�!I�J��8�9�	;�
�g��V�}��5�6�	8�
�j�3�	�*��5�6�	8�
�k�C��,�5�7�9�	:rc���UR[R[RSS55S5 UR[R[R	SS55S5 UR[R[R	SS55S5 UR[R[R	SS5S5S5 g)	Nr/�instructions<?test instruction?>z
<testing&>s<?test <testing&>?>u<testing&>ãzlatin-1s=<?xml version='1.0' encoding='latin-1'?>
<?test <testing&>�?>)r�rr6r�r�r	s r�test_processinginstruction�*ElementTreeTest.test_processinginstruction�s���	
������R�%=�%=�f�m�%T�U�'�	)�������R�U�U�6�=�%A�B�'�	)�
	
������R�U�U�6�<�%@�A�&�	(�������R�U�U�6�3C�%D�i�P�+�	,rc� �SH�nXR54HpnSU-n[[RSU-5SS9nUR	XC5 [[RSU<SU<S35SS9nUR	XC5 Mr M� g)	N)�AREA�BASE�BASEFONT�BR�COL�EMBED�FRAME�HR�IMG�INPUT�ISINDEX�LINK�META�PARAM�SOURCE�TRACK�WBRz<%s>z<%s />rcrb�<z></r)�lowerrhrr�r�)rIr�rcr��
serializeds     r�#test_html_empty_elems_serialization�3ElementTreeTest.test_html_empty_elems_serialization�s~��2�G�!�-�-�/�2��!�D�=��&�r�v�v�h��o�'>�v�N�
�� � ��6�&�r�v�v�T�$�.G�'H�.4�6�
�� � ��6�
3�2rc��[RSSSS9n[R"5n[R	U5 SSS5 URWR
5S5 g!,(df   N/=f)N�
cirriculum�public�example��status�companyz1<cirriculum status="public" company="example" />
)rr�r�captured_stdout�dumpr�ra)rIr�stdouts   r�test_dump_attribute_order�)ElementTreeTest.test_dump_attribute_order�sX���J�J�|�H�i�J�H��
�
$�
$�
&�&��G�G�A�J�'�������*�M�	O�'�
&�s�A*�*
A8c��[RSSSS9nUR[U5S5 UR[USS9S5 g)	Nr�r�r�r�z0<cirriculum status="public" company="example" />rcrbz;<cirriculum status="public" company="example"></cirriculum>)rr�r�rh�rIr�s  r�test_tree_write_attribute_order�/ElementTreeTest.test_tree_write_attribute_ordersI���z�z�,�x��z�K������4��K�	M�����4��7�M�	Orc�x�[R[5nURUSRSS05 g)Nrz*{http://www.w3.org/XML/1998/namespace}lang�eng)rr��ATTLIST_XMLr�r�r�s  r�test_attlist_default�$ElementTreeTest.test_attlist_defaults1���}�}�[�)������a����F��N�	PrrN)3rUrVrWrXr�r�r�r�r�rr
rrr(r8r@rRr`rhr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
r
rr_rerirorsr{r~r�r�r�r�r�r�rYrrrr�r��s��4�4� �&A:�F?�6*?�X$�	!�6� 
<�4p�lH�,+�Z2�,P�";�z�,>�#)�JO�*
�X
�2
� 
�@	
�
�N�
�
�
�*�X	
�S�&9K�v
A�<�#@�J�B?(�B%�8:�t,� 7�O�O�Prr�c�b�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrg)�
IterparseTestic��[RnU"[5nURUR5 [U5up4URUR5 UR
X4R4S5 UR
UVVs/sHup4X4R4PM snn/SQ5 UR
URRS5 UR5 U"[5nUR
UVVs/sHup4X4R4PM snn/SQ5 UR5 gs snnfs snnf)Nr��r�r�r�r�)r�r�r�r�)
r�	iterparserr�r��nextr�rkrMrG)rIr�r��actionrcs     r�
test_basic�IterparseTest.test_basics����L�L�	�
�~�
&�����"�'�'�"��B�x������"�'�'�"����&�(�(�+�-?�@�����D����6�8�8�,��D�G�	�
	
��������f�-�
���
�
�(�
)������D����6�8�8�,��D�G�	�	���
��E��Es�
D8
�D>
c	��[[S5n[RU5n[	U5up4URX4R4S5 URUVVs/sHup4X4R4PM snn/SQ5 URURRS5 SSS5 gs snnf!,(df   g=f)Nr�r�r�r�)rHrrr�r�r�rkr�)rI�sourcer�r�rcs     r�test_external_file� IterparseTest.test_external_file1s���
�.�$�
'�6����f�%�B���8�L�F����f�h�h�/�1C�D����R�H�R�\�V�v�x�x�0�R�H�K�
�

���R�W�W�[�[�&�1�(�
'��I�	(�
'�s�AB:�!B4�:1B:�4B:�:
Cc�.�[RnSnU"[U5nURUVVs/sHupEXER4PM snn/5 UR5 SnU"[US9nURUVVs/sHupEXER4PM snn/5 UR5 SnU"[U5nURUVVs/sHupEXER4PM snn/SQ5 UR5 gs snnfs snnfs snnf)Nr��events�rorvr)rr�rr�rkrM)rIr�r�r�r�rcs      r�test_events�IterparseTest.test_events=s����L�L�	���
�~�v�
.������D����6�8�8�,��D�b�I�
���
���
�~�f�
5������D����6�8�8�,��D�b�I�
���
�!��
�~�v�
.������D����6�8�8�,��D�	G�		�	���
��)E��
E��
Es�D
�?D
�D
c��[RnSnU"[U5nURUVVs/sHupEUS;a
XER4OXE4PM snn/SQ5 UR5 SnU"[R"S5U5nUVVs/sHupEUPM	 nnnURUSS/5 UR5 gs snnfs snnf)N)rorvr�r�r�)
�r�)r�r�r�r�r�r�r�r�r�r��r�N�r�r�s<root xmlns=''/>r�r�)rr�rGr�rkrMr]r^)rIr�r�r�r�rc�ress       r�test_namespace_events�#IterparseTest.test_namespace_eventsXs����L�L�	�7��
�(�&�
1�����.0�2�.0�l�f�17�:J�0J�6�8�8�,�39�.�A�.0�2�4�
	�	���
�'��
�r�z�z�"6�7��
@��*,�-�"�,�&�v�"��-�����z�8�4�5�
���
��)2��$.s�"C
�C
c��[RnSn[[S5nUR	[
5nU"X25 SSS5 UR
UR5 SSS5 UR[WR5S5 [R"U5 UR	[
5nU"[U5 SSS5 UR[UR5S5 A[5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Ni=f!,(df   g=f)N�rorv�bogusr��unknown event 'bogus')rr�rHrr�r�assertFalse�closedr�r�rr	�check_no_resource_warningr)rIr�r�rPrs     r�test_unknown_events�!IterparseTest.test_unknown_eventsss����L�L�	�*��
�.�$�
'�1��"�"�:�.�"��!�$�/����Q�X�X�&�(�	
����R�\�\�*�,C�D�
�
6�
6�t�
<��"�"�:�.�"��.�&�1�/����S����.�0G�H���L�=�
<�/�.��(�
'��/�.��=�
<�sF�D�	D
�#D�(E�>D/�8E�
D	�D�
D,�/
D=	�9E�
Ec��[R"S5nSn[RX5nUR	UVVs/sHupEXE4PM
 snnSS/5 gs snnf)Ns�<?xml version='1.0' encoding='iso-8859-1'?>
<body xmlns='http://&#233;ffbot.org/ns'
      xmlns:cl�='http://effbot.org/ns'>text</body>
)r�)r�)r�uhttp://éffbot.org/ns)r�)uclér�)r]r^rr�r�)rIr�r�r�r�rcs      r�
test_non_utf8�IterparseTest.test_non_utf8�s^�����
G�H����
�\�\�&�
)�����R�@�R�\�V�6�.�R�@�=�@�C�	��@s�A
c��[R"S5n[RU5n[	U5up4URX4R4S5 UR[R5n[	U5 SSS5 UR[WR5S5 g!,(df   N4=f)N�<document />junk�rv�document�.junk after document element: line 1, column 12)r]r^rr�r�r�rkr�rZr�r)rIr�r�r�rcrs      r�test_parsing_error� IterparseTest.test_parsing_error�s������/�0��
�\�\�&�
!���B�x������&�(�(�+�-@�A�
�
�
�r�}�}�
-����H�.�����R�\�\�*�@�	B�.�
-�s�5B/�/
B=c��UR[5 [RS5 SSS5 g!,(df   g=f)N�nonexistent)r��FileNotFoundErrorrr�r	s r�test_nonexistent_file�#IterparseTest.test_nonexistent_file�s)��
�
�
�0�
1��L�L��'�2�
1�
1�s	�5�
Ac��[R[5n[R"U5 A[5 SSS5 [R[5n[R"U5 [
U5up#URX#R4S5 AA[5 SSS5 g!,(df   N}=f!,(df   g=f)Nr�)	rr�rr	r�rr�r�rk)rIr�r�rcs    r�$test_resource_warnings_not_exhausted�2IterparseTest.test_resource_warnings_not_exhausted�s���
�\�\�.�
)��
�
6�
6�t�
<���L�=��\�\�.�
)��
�
6�
6�t�
<���8�L�F����f�h�h�/�1C�D��D��L�	=�
<�=�
<��
=�
<�s�B3�37C�3
C�
Cc��UR[R[5 [	[S5nURS5 SSS5 [R[5n[U5up4URX4R4S5 [R"U5 UR[R5n[U5 SSS5 UR[WR 5S5 AA[#5 SSS5 g!,(df   N�=f!,(df   NY=f!,(df   g=f)N�wbr�r�r)�
addCleanupr�unlinkrrHr`rr�r�r�rkr	r�r�rZr�rr)rIrPr�r�rcrs      r�'test_resource_warnings_failed_iteration�5IterparseTest.test_resource_warnings_failed_iteration�s������	�(�(�&�1�
�&�$�
�1�
�G�G�'�(� ��\�\�&�
!���B�x������&�(�(�+�-@�A�
�
6�
6�t�
<��"�"�2�=�=�1�R��R��2����S����.�D�
F��B��L�
=�
<�
 �
��2�1��=�
<�s/�D�( D8�D'�9D8�
D$�'
D5	�1D8�8
Ec���[R[5n[R"U5 [U5 A[
5 SSS5 g!,(df   g=fr)rr�rr	r�r�r)rIr�s  r� test_resource_warnings_exhausted�.IterparseTest.test_resource_warnings_exhausted�s9��
�\�\�.�
)��
�
6�
6�t�
<���H���L�=�
<�
<�s�A�
Ac��[RnU"[5nUR5 UR	[
5 [
U5 SSS5 UR5 [[S5nU"U5nUR5 URUR5 UR	[
5 [
U5 SSS5 UR5 SSS5 U"[5n[
U5upEURXER4S5 UR5 UR	[
5 [
U5 SSS5 UR5 [[S5nU"U5n[
U5upEURXER4S5 UR5 URUR5 UR	[
5 [
U5 SSS5 UR5 SSS5 g!,(df   GN�=f!,(df   GNh=f!,(df   GNb=f!,(df   GN=f!,(df   No=f!,(df   g=f)Nr�r�)rr�rrMr��
StopIterationr�rHr�r�r�rk)rIr�r�r�r�rcs      r�test_close_not_exhausted�&IterparseTest.test_close_not_exhausted�s����L�L�	�
�~�
&��
���
�
�
�
�}�
-���H�.�
���
�
�.�$�
'�6��6�"�B��H�H�J����V�]�]�+��"�"�=�1��R��2��H�H�J�
(��~�
&���B�x������&�(�(�+�-?�@�
���
�
�
�
�}�
-���H�.�
���
�
�.�$�
'�6��6�"�B���8�L�F����f�h�h�/�1C�D��H�H�J����V�]�]�+��"�"�=�1��R��2��H�H�J�(�
'�).�
-��2�1��	(�
'��.�
-��2�1��
(�
'�sb�H�6A	H>�?H,�H>�I�:A3I3�-I"�9I3�
H)�,
H;	�6H>�>
I
�
I�"
I0	�,I3�3
Jc�j�[RnU"[5n[U5 UR	5 UR[5 [U5 SSS5 UR	5 [[S5nU"U5n[U5 UR	5 URUR5 UR[5 [U5 SSS5 UR	5 SSS5 g!,(df   N�=f!,(df   N8=f!,(df   g=f)Nr�)rr�rr�rMr�rr�rHr�r�)rIr�r�r�s    r�test_close_exhausted�"IterparseTest.test_close_exhausted�s����L�L�	�
�~�
&���R��
���
�
�
�
�}�
-���H�.�
���
�
�.�$�
'�6��6�"�B���H��H�H�J����V�]�]�+��"�"�=�1��R��2��H�H�J�(�
'�	.�
-��2�1��(�
'�s1�
D�AD$�D�!D$�
D�
D!	�D$�$
D2rN)rUrVrWrXr�r�r�r�r�r�rrr
rrrrrYrrrr�r�sE���2
2��6�6�"
�B�(��� �!�Frr�c��\rSrSrSSjrSSjrSSjrSSjrSSjrSr	S	r
S
rSrSr
S
rSrSrSrSrSrSrSr\R."\R2S:S\R2S35S5rSrSrg)�XMLPullParserTesti�Nc���UcURU5 O2[S[U5U5HnURX%XS-5 M U(aUR5 gg�Nr)rLrr��flush)rIrQr=�
chunk_sizer rs      r�_feed�XMLPullParserTest._feed�sO�����K�K����1�c�$�i��4�����D�1�<�0�1�5���L�L�N�rc	��UR[UR5U5VVs/sHupEXERUR44PM  snnU5 gs snnfr)r�r�read_eventsrkr�)rIrQr��
max_events�eventrcs      r�
assert_events�XMLPullParserTest.assert_eventssX����� &�v�'9�'9�';�Z� H�
J� H����h�h��	�	�*�
+� H�
J��	��
Js�%A
c�j�UR[[UR5U55U5 gr)r�r�rr%)rIrQr�r&s    r�assert_event_tuples�%XMLPullParserTest.assert_event_tuples
s+��������*�*�,�j�9�:��	rc��[UR5U5nURUVVs/sHupVXVR4PM snnU5 gs snnfr)rr%r�rk)rIrQr�r&r�r�rcs       r�assert_event_tags�#XMLPullParserTest.assert_event_tagssE����*�*�,�j�9������H����6�8�8�,��H�!�	#��Hs�A
c�.�[R5nURU/5 URUSX5 URU/5 URUSX5 URU/5 URUSX5 URUS/5 URUSX5 URUSX5 URUSS/5 URUSX5 URUS	/5 UR	UR55 g)
N�<!-- comment -->
z+<root>
  <element key='value'>text</element�>
r��<element>text</element>tail
�<empty-element/>
r��</root>
r��r�
XMLPullParserr.r"r�rM)rIr!r rQs    r�test_simple_xml�!XMLPullParserTest.test_simple_xmls���!�!�#�����v�r�*��
�
�6�/��C����v�r�*��
�
�6�A��	&�	
���v�r�*��
�
�6�5�*�4����v�(:�';�<��
�
�6�:�J�N��
�
�6�/��C����v��$�(�	�	
�
�
�6�;�
�:����v��'8�9����&�,�,�.�)rc�$�URSSS9 g)Nr�T�r!r �r8r	s r�test_simple_xml_chunk_1�)XMLPullParserTest.test_simple_xml_chunk_1)���������6rc�$�URSSS9 g)N�Tr;r<r	s r�test_simple_xml_chunk_5�)XMLPullParserTest.test_simple_xml_chunk_5,r?rc�"�URSS9 g)N�)r!r<r	s r�test_simple_xml_chunk_22�*XMLPullParserTest.test_simple_xml_chunk_22/s�������+rc��[R5nUR5nURUS5 [	U5up4URX4R4S5 URUS5 [	U5up4URX4R4S5 UR[5 [	U5 SSS5 g!,(df   g=f)Nz-<root>
  <element key='value'>text</element>
r�r5r�)	rr7r%r"r�r�rkr�r)rIrQr�r�rcs     r�test_feed_while_iterating�+XMLPullParserTest.test_feed_while_iterating2s����!�!�#��
�
�
�
!���
�
�6�L�M��B�x������&�(�(�+�-?�@��
�
�6�;�'��B�x������&�(�(�+�_�=�
�
�
�}�
-���H�.�
-�
-�s�2C�
Cc�j�[R5nURU/5 URUS5 URU/5 URUS5 URU/5 URUS5 URU/5 URUS5 URUS/5 URUS5 URUS5 URUSS/5 URUS	5 URUS
/5 UR	UR55 g)Nr1�<root xmlns='namespace'>
�"<element key='value'>text</elementr2r�r3r4r�r5r�r6�rIrQs  r�test_simple_xml_with_ns�)XMLPullParserTest.test_simple_xml_with_ns>s���!�!�#�����v�r�*��
�
�6�/�0����v�r�*��
�
�6�7�8����v�r�*��
�
�6�?�@����v�r�*��
�
�6�5�!����v�(E�'F�G��
�
�6�:�;��
�
�6�/�0����v�)�/�(�	�	
�
�
�6�;�'����v�(B�'C�D����&�,�,�.�)rc��[RSS9nURUS5 URUS5 UR[	UR55S/5 URUS5 URUS5 URUS5 URUS	5 URUS
5 UR[	UR55S/5 UR
UR55 g)Nr�r�r1rLr�rMr2r3r4r5r�)rr7r"r�r�r%r�rMrNs  r�test_ns_events� XMLPullParserTest.test_ns_eventsSs����!�!�)?�!�@���
�
�6�/�0��
�
�6�7�8������#�#�%�&�
,�-�	/�	
�
�
�6�?�@��
�
�6�5�!��
�
�6�:�;��
�
�6�/�0��
�
�6�;�'�����f�0�0�2�3�6F�5G�H����&�,�,�.�)rc�N�[RSS9nURUS5 URUSS/SS9 UR	US/S	S9 URUS
5 UR	USS/5 URUS
5 UR5 UR	US/5 g)N)r�rorvr�� <tag xmlns='abc' xmlns:p='xyz'>
�r�)r��abc�r�)r��xyzr�r&�ro�{abc}tagr��
<child />
�ro�
{abc}child�rvr_�</tag>
�rvr\�rr7r"r+r.rMrNs  r�test_ns_events_start�&XMLPullParserTest.test_ns_events_startbs����!�!�)E�!�F���
�
�6�>�?�� � ��%�&�*
��	!�	�	
���v�!�(
��	�	�	
�
�
�6�=�)����v�#�!�(
�	�
	
�
�
�6�:�&��������v��(
�	rc�t�[RSS9nURUS5 URUSS/SS9 UR	US/S	S9 URUS
5 UR	USS/5 URUS
5 UR5 UR	US/S	S9 URUSS/5 g)N)r�rorvr�r�rUrVrXrrZr[r�r]r^r`rarbr�rcrNs  r�test_ns_events_start_end�*XMLPullParserTest.test_ns_events_start_endys����!�!�)O�!�P���
�
�6�>�?�� � ��%�&�*
��	!�	�	
���v�!�(
��	�	�	
�
�
�6�=�)����v�#�!�(
�	�
	
�
�
�6�:�&��������v��(
��	�	�	
� � ����*
�	rc��[RSS9nURUS5 URU/5 [RSS9nURUS5 UR	U/5 [RSS9nURUS5 URUS/5 URUS5 URUS	/5 URUS
5 URUS/5 URUS5 URU/S
Q5 URUS5 URUR
55 URUS/5 [RSS9nURUS5 URU/5 URUS5 URUS/5 URUS5 URUS	/5 URUS
5 URU/5 URUS5 URUSS/5 URUS5 URUR
55 g)Nrr�z<root/>
r��<!-- text here -->
z<root>
r�rMr�r2r�z8<element xmlns='foo'>text<empty-element/></element>tail
)�ro�{foo}element�ro�{foo}empty-element)rvrn)rvrlz</root>r�)ror1rkrm)rr7r"r.r(r�rMrNs  rr��XMLPullParserTest.test_events�s%���!�!��!�,���
�
�6�;�'����v�r�*��!�!�)9�!�:���
�
�6�1�2����6�2�&��!�!�)9�!�:���
�
�6�:�&����v�(9�':�;��
�
�6�?�@����v�(<�'=�>��
�
�6�5�!����v�(:�';�<��
�
�6�N�	P����v�(�	�	
�
�
�6�9�%����&�,�,�.�)����v��'8�9��!�!��!�4���
�
�6�/�0����v�r�*��
�
�6�:�&����v�(9�':�;��
�
�6�?�@����v�(<�'=�>��
�
�6�5�!����v�r�*��
�
�6�N�	P����v�%�+�(�	�	
�
�
�6�9�%����&�,�,�.�)rc�
�[RSS9nURUS5 URUS[RS44/5 URUS5 URUS[RS44/5 URUS5 URUS	/5 URUS
5 URUS[RS44/5 URUS5 URUS
/5 URUS5 URUS[RS44/5 [RSS9nURUS5 URUS[RS44/5 g)N)rordrvr�rjrdz text here z<!-- more text here -->
z more text here z<root-tag>text)ro�root-tagz<!-- inner comment-->
z inner commentz</root-tag>
)rvrqz<!-- outer comment -->
z outer comment )rd)rr7r"r(rfr.rNs  r�test_events_comment�%XMLPullParserTest.test_events_comment�sa���!�!�)D�!�E���
�
�6�1�2����6�Y����]�0K�$L�#M�N��
�
�6�6�7����6�Y����=O�0P�$Q�#R�S��
�
�6�+�,����v�(=�'>�?��
�
�6�4�5����6�Y����=M�0N�$O�#P�Q��
�
�6�?�+����v�(;�'<�=��
�
�6�5�6����6�Y����=N�0O�$P�#Q�R��!�!��!�6���
�
�6�1�2����6�Y����]�0K�$L�#M�Nrc�,�[RSS9nURUS5 URUS[RS44/5 [RSS9nURUS5 URUS[RS44/5 g)	N)ror�rvr�z
<?pitarget?>
r��pitarget)r�z<?pitarget some text ?>
zpitarget some text )rr7r"r(r�rNs  r�test_events_pi� XMLPullParserTest.test_events_pi�s����!�!�)?�!�@���
�
�6�+�,����6�T�B�E�E�:�+>�$?�#@�A��!�!��!�1���
�
�6�6�7����6�T�B�E�E�3H�+I�$J�#K�Lrc��SS1n[RUS9nURUS5 URUSS/5 "SS5n[RU"5S9nURUS5 URUSS/5 g)	Nrvror�z<foo>bar</foo>)ror")rvr"c�&�\rSrSrSrSrSrSrg)�9XMLPullParserTest.test_events_sequence.<locals>.DummyIteri�c�(�[/SQ5Ulg)N)rorvr�)r�r�r	s r�__init__�BXMLPullParserTest.test_events_sequence.<locals>.DummyIter.__init__�s��"�#?�@��rc��U$rrr	s r�__iter__�BXMLPullParserTest.test_events_sequence.<locals>.DummyIter.__iter__�s���rc�,�[UR5$r)r�r�r	s rr��BXMLPullParserTest.test_events_sequence.<locals>.DummyIter.__next__�s���D�K�K�(�(rr�N)rUrVrWrXr|rr�rYrrr�	DummyIterrz�s��
A�
�
)rr�)rr7r"r.)rI�eventsetrQr�s    r�test_events_sequence�&XMLPullParserTest.test_events_sequence�s����7�#���!�!��!�2���
�
�6�+�,����v�(8�.�'I�J�	)�	)��!�!���!�5���
�
�6�+�,����v�(8�.�'I�Jrc��UR[5 [RSS9 SSS5 UR	[S5 [RSS5S9 SSS5 g!,(df   NH=f!,(df   g=f)Nr�r�r�c3�@# �UHoR5v� M g7fr)�decode)�.0r�s  r�	<genexpr>�7XMLPullParserTest.test_unknown_event.<locals>.<genexpr>�s���$V�9U�A�X�X�Z�Z�9U�s�)sstartsendsbogus)r�rrr7r�r	s r�test_unknown_event�$XMLPullParserTest.test_unknown_event�si��
�
�
�z�
*����$=��>�+�
�
#�
#�J�0G�
H����$V�9U�$V��W�I�
H�+�
*��
H�
H�s�A,�A=�,
A:�=
B�r�rzExpat z" does not support reparse deferralc�0�[RSS9nSHnURU5 M URU/5 [[La3URURRR55 UR5 URUS/5 [[La3URURRR55 URS5 UR5 URUS/5 g)Nr�r��z<docr�ror��</doc>�rvr�)
rr7rLr.rr��_parser�GetReparseDeferralEnabledr rM�rIrQ�chunks   r�#test_flush_reparse_deferral_enabled�5XMLPullParserTest.test_flush_reparse_deferral_enabled�s����!�!�)9�!�:��"�E��K�K���#�	
���v�r�*�
��:��O�O�F�N�N�2�2�L�L�N�O��������v�(8�'9�:�
��:��O�O�F�N�N�2�2�L�L�N�O����H���������v��'7�8rc���[RSS9nSHnURU5 M [RS:�aU[[
LaUR
S5 URRRS5 URU/5 [[
La3URURRR55 UR5 URUS/5 [[
La3URURRR55 URS5 UR5 URUS	/5 g)
Nr�r�r�r�zDXMLParser.(Get|Set)ReparseDeferralEnabled methods not available in CFr�r�r�)rr7rL�pyexpat�version_infor�skipTestr��SetReparseDeferralEnabledr.r�r�r rMr�s   r�$test_flush_reparse_deferral_disabled�6XMLPullParserTest.test_flush_reparse_deferral_disableds���!�!�)9�!�:��"�E��K�K���#����9�,���:��
�
�!;�<��N�N�"�"�<�<�U�C��"�"�6�2�.�
��:����V�^�^�3�3�M�M�O�P��������v�(8�'9�:�
��:����V�^�^�3�3�M�M�O�P����H���������v��'7�8rr)NFr)rUrVrWrXr"r(r+r.r8r=rBrFrIrOrRrdrgr�rrrvr�r��unittest�skipIfr�r�r�r�rYrrrrr�s������
#�
*�*7�7�,�
�*�*
*��.�6,*�\O�&M�K�&X��_�_�W�)�)�I�5��g�2�2�3�40�0�1�9�1�9�*9rrz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>120 Mz is adequate for an average home user.</p>
  <xi:include href="disclaimer.xml"/>
</document>
�C1.xmlz�<?xml version='1.0'?>
<disclaimer>
  <p>The opinions represented herein represent those of the individual
  and should not be interpreted as official policy endorsed by this
  organization.</p>
</disclaimer>
zdisclaimer.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>This document has been accessed
  <xi:include href="count.txt" parse="text"/> times.</p>
</document>
�C2.xml�324387z	count.txtz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>This document has been <em>accessed</em>
  <xi:include href="count.txt" parse="text"/> times.</p>
</document>
�C2b.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source of the "data.xml" resource:</p>
  <example><xi:include href="data.xml" parse="text"/></example>
</document>
�C3.xmlzQ<?xml version='1.0'?>
<data>
  <item><![CDATA[Brooks & Shields]]></item>
</data>
zdata.xmlaW<?xml version='1.0'?>
<div xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="example.txt" parse="text">
    <xi:fallback>
      <xi:include href="fallback-example.txt" parse="text">
        <xi:fallback><a href="mailto:bob@example.org">Report error</a></xi:fallback>
      </xi:include>
    </xi:fallback>
  </xi:include>
</div>
�C5.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>Example.</p>
  <xi:include href="{}"/>
</document>
�default.xmla
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source code of Recursive1.xml:</p>
  <xi:include href="C1.xml"/>
  <xi:include href="C1.xml"/>
  <xi:include href="C1.xml"/>
  <xi:include href="C1.xml"/>
</document>
�include_c1_repeated.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>120 Mz is adequate for an average home user.</p>
  <xi:include href="disclaimer.xml" parse="BAD_TYPE"/>
</document>
�B1.xmlzn<?xml version='1.0'?>
<div xmlns:xi="http://www.w3.org/2001/XInclude">
    <xi:fallback></xi:fallback>
</div>
�B2.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source code of Recursive2.xml:</p>
  <xi:include href="Recursive2.xml"/>
</document>
�Recursive1.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source code of Recursive3.xml:</p>
  <xi:include href="Recursive3.xml"/>
</document>
zRecursive2.xmlz�<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source code of Recursive1.xml:</p>
  <xi:include href="Recursive1.xml"/>
</document>
zRecursive3.xmlc�F�\rSrSrSSjrSSjrSrSrSrSr	S	r
S
rg)
�XIncludeTesti�Nc��[UnUS:Xa[R	U5nU$![a [S5ef=f)N�resource not foundr)�XINCLUDE�KeyError�OSErrorrr�)rI�hrefrFr\r=s     r�xinclude_loader�XIncludeTest.xinclude_loader�sH��	0��D�>�D��E�>��6�6�$�<�D����	�	0��.�/�/�	0�s�	(�>c��grr)rIr�rQr\s    r�none_loader�XIncludeTest.none_loader�s��rc��US:Xa9[US5n[RU5R5sSSS5 $g!,(df   g=f)Nrr�)rHrrFr�)rIr�rFrPs    r�
_my_loader�XIncludeTest._my_loader�sA���E�>��d�D�!�Q��x�x��{�*�*�,�"�!��"�!�s�#A�
Ac��SSKJn URS5nURX R5 UR[
U5S5 g)NrrDr�z�<document>
  <p>Example.</p>
  <root>
   <element key="value">text</element>
   <element>text</element>tail
   <empty-element />
</root>
</document>)rHrEr��includer�r�rh)rIrEr�s   r�test_xinclude_default�"XIncludeTest.test_xinclude_default�s@��,��"�"�=�1�����s�O�O�4�����3��
�	rc�~�SSKJn URS5nURX R5 UR	[U5S5 URS5nURX R5 UR	[U5S5 URS5nURX R5 UR	[U5S5 URS	5nURX R5 UR	[U5S
5 URS5nUR
[5nURX R5 SSS5 UR	[WR5S5 UR	[U5S
5 g!,(df   NO=f)NrrDr�a<document>
  <p>120 Mz is adequate for an average home user.</p>
  <disclaimer>
  <p>The opinions represented herein represent those of the individual
  and should not be interpreted as official policy endorsed by this
  organization.</p>
</disclaimer>
</document>r�zO<document>
  <p>This document has been accessed
  324387 times.</p>
</document>r�zX<document>
  <p>This document has been <em>accessed</em>
  324387 times.</p>
</document>r�z�<document>
  <p>The following is the source of the "data.xml" resource:</p>
  <example>&lt;?xml version='1.0'?&gt;
&lt;data&gt;
  &lt;item&gt;&lt;![CDATA[Brooks &amp; Shields]]&gt;&lt;/item&gt;
&lt;/data&gt;
</example>
</document>r�r�aI<div xmlns:ns0="http://www.w3.org/2001/XInclude">
  <ns0:include href="example.txt" parse="text">
    <ns0:fallback>
      <ns0:include href="fallback-example.txt" parse="text">
        <ns0:fallback><a href="mailto:bob@example.org">Report error</a></ns0:fallback>
      </ns0:include>
    </ns0:fallback>
  </ns0:include>
</div>)
rHrEr�r�r�rhr�r�r�r�rIrErrs    r�
test_xinclude�XIncludeTest.test_xinclude�s}��,��'�'��1�����x�)=�)=�>�����8�,�
�	��'�'��1�����x�)=�)=�>�����8�,�
�	��'�'�	�2�����x�)=�)=�>�����8�,�
�	��'�'��1�����x�)=�)=�>�����8�,�
�	��'�'��1��
�
�
�w�
'�2��"�"�8�-A�-A�B�(�����R�\�\�*�,@�A�����8�,�
�		�(�
'�s�	F.�.
F<c��SSKJn URS5nURX R5 UR	S[UR
S555 g)NrrDr�r�z.//p)rHrEr�r�r�r�r�)rIrErs   r�test_xinclude_repeated�#XIncludeTest.test_xinclude_repeatedsJ��,��'�'�(A�B�����x�)=�)=�>������H�$4�$4�V�$<� =�>rc��
�SSKJn [R[S5nURUR5nURX RS9 SSS5 UR[WR5S5 [R[S5nURUR5nURX RS9 SSS5 UR[UR5S5 [R[S5nURUR5nURX RS9 SSS5 UR[UR5S	5 [R[S
5nURUR5nURX RS9 SSS5 UR[UR5S5 URS5nURUR5nURX R5 SSS5 UR[UR5S
5 URS5nURUR5nURX RSS9 SSS5 UR[UR5S
5 URS5nURUR5nURX RSS9 SSS5 UR[UR5S5 URS5nURUR5nURX RSS9 SSS5 UR[UR5S5 URS5nURUR5nURX RSS9 SSS5 UR[UR5S5 URS5nURUR5nURX RSS9 SSS5 UR[UR5S
5 g!,(df   GNh=f!,(df   GN�=f!,(df   GN�=f!,(df   GN$=f!,(df   GN�=f!,(df   GN_=f!,(df   GN�=f!,(df   GN�=f!,(df   GN9=f!,(df   N�=f)NrrDr�)r�z%cannot load 'disclaimer.xml' as 'xml'r�z!cannot load 'count.txt' as 'text'r�z1unknown parse type in xi:include tag ('BAD_TYPE')r�zYxi:fallback tag must be child of xi:include ('{http://www.w3.org/2001/XInclude}fallback')r�z#recursive include of Recursive2.xml)�	max_depthzAmaximum xinclude depth reached when including file Recursive2.xmlr�zAmaximum xinclude depth reached when including file Recursive3.xmlrzAmaximum xinclude depth reached when including file Recursive1.xmlr�)rHrErr�r�r��FatalIncludeErrorr�r�r�r�r�XINCLUDE_BADr��LimitedRecursiveIncludeErrorr�s    r�test_xinclude_failures�#XIncludeTest.test_xinclude_failuressU��,��6�6�(�8�,�-��
�
�
�~�?�?�
@�B��"�"�8�4D�4D�"�E�A�����R�\�\�*�7�	9��6�6�(�8�,�-��
�
�
�~�?�?�
@�B��"�"�8�4D�4D�"�E�A�����R�\�\�*�3�	5��6�6�,�x�0�1��
�
�
�~�?�?�
@�B��"�"�8�4D�4D�"�E�A�����R�\�\�*�C�	E��6�6�,�x�0�1��
�
�
�~�?�?�
@�B��"�"�8�4D�4D�"�E�A�����R�\�\�*�@�	A�
�'�'�(8�9��
�
�
�~�?�?�
@�B��"�"�8�-A�-A�B�A�����R�\�\�*�5�	7��'�'�(8�9��
�
�
�~�?�?�
@�B��"�"�8�-A�-A�T�"�R�A�����R�\�\�*�5�	7��'�'�(8�9��
�
�
�~�J�J�
K�r��"�"�8�-A�-A�Q�"�O�L�����R�\�\�*�S�	U��'�'�(8�9��
�
�
�~�J�J�
K�r��"�"�8�-A�-A�Q�"�O�L�����R�\�\�*�S�	U��'�'�(8�9��
�
�
�~�J�J�
K�r��"�"�8�-A�-A�Q�"�O�L�����R�\�\�*�S�	U��'�'�(8�9��
�
�
�~�?�?�
@�B��"�"�8�-A�-A�Q�"�O�A�����R�\�\�*�5�	7�}A�
@��A�
@��A�
@��A�
@��A�
@��A�
@��L�
K��L�
K��L�
K��A�
@�sw�R9�<S�:S�8S/�+T� T�T%�T7�<U	�0U�9
S�
S�
S,�/
S>�
T�
T"�%
T4�7
U�	
U�
U)r)rNr)rUrVrWrXr�r�r�r�r�r�r�rYrrrr�r��s'������>�@?�D7rr�c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
r\
R"\R "5S5S5rS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$S r%g!)"�BugsTesticc�^�U4Sjn[RS5nU"U5 [RS5nSUlU"U5 [RS5nSUlU"U5 [RS5nUR	SS5 U"U5 [RS5nUR	SS5 U"U5 g)Nc��>�TR[5n[U5 SSS5 TR[	WR
5S5 g!,(df   N4=f)Nzcannot serialize 123 (type int))r�r�rhr�r�r)rcrrIs  �rr�-BugsTest.test_bug_xmltoolkit21.<locals>.checkhsD����"�"�9�-���$��.����S����.�5�
7�.�-�s�A�
A�{rc�123)rr�r�r�r�)rIrrcs`  r�test_bug_xmltoolkit21�BugsTest.test_bug_xmltoolkit21es����	7��z�z�#���
�d���z�z�&�!����	�
�d���z�z�&�!����	�
�d���z�z�&�!������e��
�d���z�z�&�!��������
�d�rc���[R[5n[RU5nUR	URS5S5 UR	URS5S5 g)Nrkr�r
rc)rr�rrCr�r�)rIrcrgs   r�test_bug_xmltoolkit25�BugsTest.test_bug_xmltoolkit25�sR���v�v�j�!���~�~�d�#��������u�-�v�6�������}�5�y�Arc���[RS5nUR[UR	S55/5 UR[UR	S55S/5 g)N�"<doc><table><tbody/></table></doc>z.//theadz.//tbody�tbody)rr�r�rmr�r�s  r�test_bug_xmltoolkit28�BugsTest.test_bug_xmltoolkit28�sQ���v�v�:�;���������Z�(@�A�2�F��������Z�(@�A�G�9�Mrc��[RS5n[R"5n[R	U5 URUR
5S5 SSS5 g!,(df   g=f)Nr�z$<doc><table><tbody /></table></doc>
)rr�rr�r�r�ra)rIrgr�s   r�test_bug_xmltoolkitX1�BugsTest.test_bug_xmltoolkitX1�sP���v�v�:�;��
�
$�
$�
&�&��G�G�D�M����V�_�_�.�0W�X�'�
&�
&�s�6A*�*
A8c��[RS5nUR[RUS5S5 [RS5nURURSS05 UR[RUS5S5 [RS5nUR[RUS5S	5 [RS
5nUR[RUS5S5 [RS5nUR
SS5 UR[RUS5S5 g)Ns2<?xml version='1.0' encoding='iso-8859-1'?><t�g />rs<täg />sD<?xml version='1.0' encoding='iso-8859-1'?><tag �ttr='v&#228;lue' />uättruvälues<tag ättr="välue" />s:<?xml version='1.0' encoding='iso-8859-1'?><t�g>text</t�g>s<täg>text</täg>r�rk)rr�r�r6r�r�r�r�s  r�test_bug_xmltoolkit39�BugsTest.test_bug_xmltoolkit39�s���v�v�N�O��������T�7�3�5F�G��v�v�6�7��������y�*�&=�>�������T�7�3�5�	7��v�v�/�0��������T�7�3�0�	2��z�z�*�%��������T�7�3�5F�G��z�z�%� ������l�+�������T�7�3�5�	7rc��[RS5nUR[USS9S5 UR[U5S5 g)Nz=<!DOCTYPE doc [<!ENTITY ldots '&#x8230;'>]><doc>&ldots;</doc>rrCs<doc>&#33328;</doc>u<doc>舰</doc>rhrds  r�test_bug_xmltoolkit54�BugsTest.test_bug_xmltoolkit54�sF��
�F�F�(�
)������1�z�:�&�	(�����1��':�;rc���UR[R5n[RS5 SSS5 UR	[WR5S5 g!,(df   N4=f)Ns?<!DOCTYPE doc SYSTEM 'doc.dtd'><doc>&ldots;&ndots;&rdots;</doc>z+undefined entity &ldots;: line 1, column 36)r�rrZr�r�r�r)rIrs  r�test_bug_xmltoolkit55�BugsTest.test_bug_xmltoolkit55�sU���
�
�r�}�}�
-���F�F�7�
8�.�	
����R�\�\�*�=�	?�.�
-�s�A$�$
A2c�l�"SS5nUR[[RU"55 g)Nc��\rSrSrSrSrg)�5BugsTest.test_bug_xmltoolkit60.<locals>.ExceptionFilei�c��[er)r��rIr�s  rrI�:BugsTest.test_bug_xmltoolkit60.<locals>.ExceptionFile.read�s���
rrN)rUrVrWrXrIrYrrr�
ExceptionFiler��s��
rr�)r�r�rrF)rIr�s  r�test_bug_xmltoolkit60�BugsTest.test_bug_xmltoolkit60�s&��	�	�	
���'�2�8�8�]�_�=rc��SSS.n[R5nURRU5 UR	S5 UR5nUR
URS5RS5 g)Nu’u‘)�rsquo�lsquoaF<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE patent-application-publication SYSTEM "pap-v15-2001-01-31.dtd" []>
<patent-application-publication>
<subdoc-abstract>
<paragraph id="A-0001" lvl="0">A new cultivar of Begonia plant named &lsquo;BCT9801BEG&rsquo;.</paragraph>
</subdoc-abstract>
</patent-application-publication>z.//paragraphu7A new cultivar of Begonia plant named ‘BCT9801BEG’.)	rrJrl�updaterLrMr�r�r�)rI�ENTITIESrQ�ts    r�test_bug_xmltoolkit62�BugsTest.test_bug_xmltoolkit62�sl��&��9��������
�
���X�&����%�	&�
�L�L�N���������/�4�4�K�	MrzSkips under coverage.c���SnU"5 [R"S5n[S5H
nU"5 M UR[R"S5U5 g)Nc��[R5nURS05 URS5 UR	S5 g)Nrkr�)rrNror=rv)rgs r�xmltoolkit63�4BugsTest.test_bug_xmltoolkit63.<locals>.xmltoolkit63�s3���>�>�#�D��J�J�u�b�!��I�I�f���H�H�U�Ori�)ry�getrefcountrr�)rIr�countrs    r�test_bug_xmltoolkit63�BugsTest.test_bug_xmltoolkit63�sH��	�	������%���t��A��N���������.��6rc	��[RSSS9nUR[RU5S5 UR[R	[RU55RS5S5 UR[R[R	[RU555S5 g)N�SomeTagzdef _f():
  return 3
�r�s0<SomeTag text="def _f():&#10;  return 3&#10;" />r�)rr�r�r6r�r�rds  r�test_bug_200708_newline� BugsTest.test_bug_200708_newline�s���
�J�J�y�'@�J�A��������Q��C�	E����������A��/�3�3�F�;�)�	+�������R�V�V�B�K�K��N�%;�<�C�	Erc�\�[R5nURS5 URUR	5R
S5 "SS5n[RU"5S9nURS5 URUR	5R
S5 g)Nz<element>some text</element>r�c��\rSrSrSrSrg)�2BugsTest.test_bug_200708_close.<locals>.EchoTargeti�c�,�[RS5$)Nr��rr�r	s rrM�8BugsTest.test_bug_200708_close.<locals>.EchoTarget.close�s���z�z�)�,�,rrN�rUrVrWrXrMrYrrr�
EchoTargetr�s��
-rrrD)rrJrLr�rMrk)rIrQrs   r�test_bug_200708_close�BugsTest.test_bug_200708_close�s}����������2�3��������+�+�Y�7�	-�	-����Z�\��2�����2�3��������+�+�Y�7rc��[RS5n[RUS5nUR[	USS9S5 [RS5n[RUS5n[RUS5nUR[	USS9S5 [RS5n[RUS5n[RUS5nUR[5n[	USS9 SSS5 UR[WR5S5 g!,(df   N4=f)	Nz
{default}elemr+)r�z%<elem xmlns="default"><elem /></elem>z{not-default}elemzI<elem xmlns="default" xmlns:ns1="not-default"><elem /><ns1:elem /></elem>rcz<cannot use non-qualified names with default_namespace option)	rr�rer�rhr�rr�r)rIr�srs    r�!test_bug_200709_default_namespace�*BugsTest.test_bug_200709_default_namespace	s����J�J��'���M�M�!�_�-������1�	�B�7�	9�
�J�J��'���M�M�!�_�-���M�M�!�0�1������1�	�B�
�	�
�J�J��'���M�M�!�_�-���M�M�!�V�$��
�
�
�z�
*�b��a�9�5�+�����R�\�\�*�N�	P�+�
*�s�7D0�0
D>c��[RS5nUR[RU5S5 [R	SS5 [RS5nUR[RU5S5 [RS5nUR[RU5S5 g)Nz/{http://namespace.invalid/does/not/exist/}titlesB<ns0:title xmlns:ns0="http://namespace.invalid/does/not/exist/" />r"z(http://namespace.invalid/does/not/exist/sB<foo:title xmlns:foo="http://namespace.invalid/does/not/exist/" />z'{http://purl.org/dc/elements/1.1/}titles8<dc:title xmlns:dc="http://purl.org/dc/elements/1.1/" />)rr�r�r6�register_namespacerds  r�"test_bug_200709_register_namespace�+BugsTest.test_bug_200709_register_namespace	s����J�J�H�I��������Q��Q�	S�
���e�%O�P��J�J�H�I��������Q��Q�	S�

�J�J�@�A��������Q��G�	Irc��[RS5nUR[RS55 UR	USR
[R5 [RS5nUR[R
S55 UR	USR
[R5 g)Nr�r"r)rr�r�rfr�rkr�)rIr�s  r�test_bug_200709_element_comment�(BugsTest.test_bug_200709_element_comment+	s��
�J�J�s�O��	������E�"�#�����1����2�:�:�.��J�J�s�O��	������u�������1����2�5�5�)rc�l�[RS5n[RUS5n[RUS5n[RS5nURSU5 UR	[U5/SQ5 URSU5 UR	[U5/SQ5 g)	Nr�r�r�r�r)r�r�r�r�)r�r�r�r�)rr�rer�r�rm�rIr�r�r�r�s     r�test_bug_200709_element_insert�'BugsTest.test_bug_200709_element_insert7	s����J�J�s�O���M�M�!�S�!���M�M�!�S�!���J�J�s�O��	����A�������*�O�<�	����Q�������*�,@�Arc�4�[RS5n[RUS5n[RS5nUR	U5 UR[
UR[R55[R/5 g)Nr�r�zTEST-b)rr�rerfr�r�rmr�)rIr�r��	comment_bs    r�test_bug_200709_iter_comment�%BugsTest.test_bug_200709_iter_commentA	sa���J�J�s�O���M�M�!�S�!���J�J�x�(�	�	������������r�z�z�(:�;�b�j�j�\�Jrc���[R5nURS5nURS05nUR	S5nUR5nUR
[U5S5 g)Nr=rkr;)rrNr=rorvrMr�rh)rIr�rs   r�test_bug_1534630�BugsTest.test_bug_1534630K	sX���n�n����H�H�V����I�I�e�R� ���G�G�E�N���I�I�K������1��y�1rc���[RS5nUR[RUS5S5 [RS5nUR[RUS5S5 g)Ns7<?xml version='1.0' encoding='utf-8'?><body>tãg</body>rWs<<?xml version='1.0' encoding='ascii'?>
<body>t&#227;g</body>s;<?xml version='1.0' encoding='iso-8859-1'?><body>t�g</body>r�rds  r�test_issue6233�BugsTest.test_issue6233S	sj���F�F�.�
/��������Q��0�)�	*�
�F�F�*�
+��������Q��0�)�	*rc���[RS5nUR[U5S/5 [R[5nUSSUSS&UR[U5/SQ5 g)Nr�rk�rkrkr�)rr�r�rmr)rIrc�newelems   r�test_issue6565�BugsTest.test_issue6565_	sY���v�v�+�,�������-��w�7��&�&��$���!�*��Q�������-�/H�Irc�\�[RSS5 [RSS5 g)N�	test10777z
http://myuri/)rrr	s r�test_issue10777�BugsTest.test_issue10777f	s$��	���k�?�;�
���k�?�;rc�2^�"U4SjS5n[RS5mU"5TlTR5n[	U5nURX15 URTR[5 URTRS5 g)Nc�">�\rSrSrU4SjrSrg)�%BugsTest.test_lost_text.<locals>.Textio	c�>�STlg)N�changedTr
rds �r�__bool__�.BugsTest.test_lost_text.<locals>.Text.__bool__p	s
���"���rrN�rUrVrWrXr>rY�rs�rr�r;o	�
���
�
rr�rkr=)rr�r�r�r�r�r�r��rIr�rr�rs    @r�test_lost_text�BugsTest.test_lost_textm	sp���	�	�

�J�J�u�������
�J�J�L����G�����a�&����a�f�f�c�*��������+rc�^�"U4SjS5n[RS5mTR[RS55 U"5TSlTR	5n[U5nUR
X15 UR
TSR[5 URTSRS5 g)Nc�">�\rSrSrU4SjrSrg)�%BugsTest.test_lost_tail.<locals>.Texti~	c�>�STSlg�Nr=rT)r�rds �rr>�.BugsTest.test_lost_tail.<locals>.Text.__bool__	s���%��!��	�rrNr@rAs�rr�rH~	rBrr�r�rkrr=)	rr�r�r�r�r�r�r�r�rCs    @r�test_lost_tail�BugsTest.test_lost_tail|	s����	�	�

�J�J�v���	������E�"�#��F��!��	�
�J�J�L����G�����a�&����a��d�i�i��-�����1����I�.rc� ^^�"UU4SjS5n[RS5mTR[RU"555 TR[RS55 TRS5m[	T5nURWRU5 URTSR[5 URTSRS5 g![
a UR
S5 N|f=f)Nc�$>�\rSrSrUU4SjrSrg)�$BugsTest.test_lost_elem.<locals>.Tagi�	c�L>�[RS5TS'[T5 grJ)rr�r�)rIr,rrs  ��rr�+BugsTest.test_lost_elem.<locals>.Tag.__eq__�	s����z�z�)�,��!���Q��rrN�rUrVrWrXrrY)rrs��rr�rP�	s
���
�
rr�r�rkzgenerators are not reentrantrr=)rr�r�r�r�rr�r�rkr�r�)rIr�r�rrs   @@r�test_lost_elem�BugsTest.test_lost_elem�	s����	�	�
�J�J�v���	������C�E�"�#�	������E�"�#�
�F�F�5�M��	:��Q��A�	
���a�e�e�S�)����a��d�h�h��,�����1����9�-��	�	:��M�M�8�9�	:�s�C/�/D
�D
c��SU-n[RU5nURURS5UR	S55 g)Ns<a b="%s"/>r�r)rr�r�r�r�)rIr�rr�s    r�check_expat224_utf8_bug� BugsTest.check_expat224_utf8_bug�	s:���t�#���v�v�c�{��������#�����G�(<�=rc�P�SnURU5 SnURU5 g)Nsààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààsxàààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààà)rWr{s  r�test_expat224_utf8_bug�BugsTest.test_expat224_utf8_bug�	s*��"���$�$�T�*�(���$�$�T�*rc�r�[[S5nUR5nSSS5 [R	W5nURS5nUR
S5R5nURSS5nUSSnURURS5U5 g!,(df   N�=f)Nr�r�rr5r�r����)
rH�UTF8_BUG_XMLFILErIrr�r�r��stripr9r�)rI�fp�rawr��xmlattrr�s      r�test_expat224_utf8_bug_file�$BugsTest.test_expat224_utf8_bug_file�	s���
�"�D�
)�R��'�'�)�C�*��}�}�S�!���(�(�3�-���z�z�'�"�(�(�*���|�|�F�C�(���A�b�z��������#���-�*�
)�s�B(�(
B6c���UR[[R5RS5 UR[[R5RSS5 g)Nrk)r�r�rrNror	s r�test_39495_treebuilder_start�%BugsTest.test_39495_treebuilder_start�	sB�����)�R�^�^�%5�%;�%;�U�C����)�R�^�^�%5�%;�%;�U�D�Irc	�^�UR[[RS5RS[S555 UR[[RS5RS5 SmUR[S[RS5RU4Sj[S555 g)Nrkc3�,# �UH
nSS-v� M g7f�r�rNr�r�rs  rr��EBugsTest.test_issue123213_correct_extend_exception.<locals>.<genexpr>�	s���1��1�1�Q�3����rc��[S5e�N�	mymessage�r�rrrrP�=BugsTest.test_issue123213_correct_extend_exception.<locals>.f�	�
���K�(�(rrpc3�2># �UHnT"5v� M g7frr�r�rrPs  �rr�rl�	s����&=�H�q�q�s�s�H���)r��ZeroDivisionErrorrr�r�rr�r�)rIrPs @r�)test_issue123213_correct_extend_exception�2BugsTest.test_issue123213_correct_extend_exception�	s�������+�R�Z�Z��->�-E�-E�1��a��1�	3�	
���)�R�Z�Z��%6�%=�%=�t�D�	)�	
����{��J�J�u��$�$�&=�E�!�H�&=�	?rrN)&rUrVrWrXr�r�r�r�r�r�r�r�r�r�r�ry�gettracerrrrrr r$r(r+r.r3r7rDrLrTrWrZrcrfrxrYrrrr�r�cs����8B�N�Y�7�2<�?�>�M�"�_�_�S�\�\�^�%<�=�7�>�7�	E�8�P�.
I�
*�B�K�2�
*�J�<�
,�/� .�(>�

+�.�J�?rr�c�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�BasicElementTesti�	c���SnSS0n[RX5nURU[R5 URS[	U55 URS[	U55 URS[	U55 URS[	U55 URURU5 URUR5 URUR5 URURU5 URURU5 SUS	'URURU5 URURU5 g)
Nr"�zix�wyprkr�r�r��bazr!)
rr�r�r�r�r�rkr�r�r�r=r�r�)rIrkr��element_foos    r�
test___init__�BasicElementTest.test___init__�	s$�����%�!���j�j��-��	
���k�2�:�:�6��
�
�e�S��-�.��
�
�h��K� 0�1��
�
�f�c�+�.�/��
�
�f�c�+�.�/�	
������#�.����+�*�*�+����+�*�*�+�	
����+�+�V�4�����+�+�V�4���u�
�����+�+�V�4����K�.�.��7rc��[RSSS05nUR[RSSS055 [R"U5nUR	X!5 URURUR5 URURUR5 URURUR5 UR[U5[U55 [R"X5Hup4URX45 M URURUR5 g�Nr"r~rr!r��qix)rr�r�r#r=r�rkr�r�r��	itertools�zip_longest�assertIsr��rIr��element_foo2r�r�s     r�
test___copy__�BasicElementTest.test___copy__�	s���j�j��%��(8�9�����2�:�:�e�u�e�-=�>�?��y�y��-��	
����3�	
����)�)�;�?�?�;�����*�*�K�,<�,<�=�����*�*�K�,<�,<�=�	
����\�*�C��,<�=�!*� 5� 5�k� P��V��M�M�&�)�!Q�	
����,�,�k�.@�.@�Arc��[RSSS05nUR[RSSS055 [R"U5nURX!5 UR
URUR5 UR
URUR5 UR
URUR5 UR
[U5[U55 [R"X5Hup4URX45 M URURUR5 UR
URUR5 SURS'URURUR5 URURUR5 gr�)rr�r�r#r$r=r�rkr�r�r�r�r�r�r�r�s     r�test___deepcopy__�"BasicElementTest.test___deepcopy__
sp���j�j��%��(8�9�����2�:�:�e�u�e�-=�>�?��}�}�[�1��	
����3�	
����)�)�;�?�?�;�����*�*�K�,<�,<�=�����*�*�K�,<�,<�=�	
����\�*�C��,<�=�!*� 5� 5�k� P��V����V�,�!Q�	
����,�,�k�.@�.@�A�����,�,�k�.@�.@�A�%*����5�!�����,�,�k�.@�.@�A����L�/�/��1C�1C�Drc�z�[RS5nUR[URS5 UR[UR
[RS5S/5 UR[URSS5 [RS5/USS&UR[5 SUS'SSS5 UR[5 [RS5S/USS&SSS5 [US5(a*SS/SS	S
S.nUR[URU5 [US5(aK"S
S[R5nU"S5/USS&UR[[RU5 gg!,(df   N�=f!,(df   N�=f)N�joer�r!r"r�__setstate__rkr�r�r�)rk�	_childrenr�r�r��__deepcopy__c��\rSrSrSrSrg)�9BasicElementTest.test_augmentation_type_errors.<locals>.Ei@
c��grr)rI�memos  rr��FBasicElementTest.test_augmentation_type_errors.<locals>.E.__deepcopy__A
s��rrN�rUrVrWrXr�rYrrr�Er�@
s�� rr�)rr�r�r�r�r�r�r�r�r#r$)rIr�stater�s    r�test_augmentation_type_errors�.BasicElementTest.test_augmentation_type_errors*
sU���J�J�u������)�Q�X�X�s�3����)�Q�X�X��
�
�5�0A�5�/I�J����)�Q�X�X�q�%�8��
�
�5�!�"��!��
�
�
�y�
)��A�a�D�*�
�
�
�y�
)��J�J�u�%�u�-�A�a�D�*��1�n�%�%��"�V� ����E�
���i�����?��1�n�%�%�
 �B�J�J�
 ��e�H�:�A�a�D����i�����:�&�*�
)��
)�
)�s�=F� F,�
F)�,
F:c��"SS5nU"5n[RSUS9Ul[R"U5nA[5 UR
U"55 [RS5nU"5nXBl[R"U5n[RUSUS9nAAA[5 UR
U"55 [RS5n[RS5n[RS5nURU5 URU5 URU5 [R"U5nAAA[5 UR
U"55 g)	Nc��\rSrSrSrg)�.BasicElementTest.test_cyclic_gc.<locals>.DummyiG
rN�rUrVrWrXrYrrr�Dummyr�G
���rr�r�)r�r"r%r&r')	rr��dummyref�weakref�refrr�rer�)rIr�r��wrefrr&r%r's        r�test_cyclic_gc�BasicElementTest.test_cyclic_gcF
s��	�	�
�G���Z�Z��A�Z�.��
��{�{�1�~��
������$�&�!�
�J�J�u����G���
��{�{�1�~��
�]�]�1�e�!�]�
,��
�q�"������$�&�!��Z�Z��
��
�Z�Z��
��
�Z�Z��
��
�	�	�"�
�
�	�	�"�
�
�	�	�"�
��{�{�2�����B������$�&�!rc�^�SmU4Sjn[RS5n[R"X!5nUR	U"5R
S5 A[
5 UR	TS5 UR	U"5S5 g)NFc�
>�Smg�NTr)�w�flags �r�wref_cb�.BasicElementTest.test_weakref.<locals>.wref_cbk
s����DrrT)rr�r�r�r�rkr)rIr�rr�r�s    @r�test_weakref�BasicElementTest.test_weakrefi
sj�����	�
�J�J�s�O���{�{�1�&���������S�)�
�������t�$�������&rc��[RSSSSS9nURURSSS9S5 URURS	SS9S5 g)
Nr"r�rr�)r�r��zr��)r+r�)rr�r�r�)rIr%s  r�test_get_keyword_args�&BasicElementTest.test_get_keyword_argsv
sR��
�Z�Z��!�q�A�Z�
.���������Q��/��3��������Q��/��3rc	��[S[RS-5GH0n[URSS9GHup#URSSS9nSUlSUlURUS	5RURS
55 URURS	55 URS5SRS
S5 URUSX#U5nURURS5 URURSS5 UR[!U5S5 UR#XE5 GM GM3 g)Nrr���repeatr"�*)r!ztext goes herezopposite of head�child�
grandchildz
.//grandchildrr�zother valuerMr!)rrz�HIGHEST_PROTOCOLrrsr�r�r�rer�r�r�r�r�rkr�r�r�)rIr�r�r�rr&s      r�test_pickle�BasicElementTest.test_pickle{
s���1�f�5�5��9�:�E�")�$�,�,�q�"A����N�N�5�b�N�1��)���+����!�!�!�W�-�4�4�V�^�^�L�5Q�R��������0�1��	�	�/�*�1�-�1�1�&�-�H��)�)�!�-D�*0�%�A��� � �����/�� � ����5�!1�2�6�� � ��R��!�,��(�(��/�#B�;rc	��[S[RS-5H�n[URSS9H�up#SnURU5nUR
UR5SS5 URUSX#U5nUR
URS5 UR
USRS	5 M� M� g)
Nrr�r�z\<?xml version="1.0"?>
                    <group><dogs>4</dogs>
                    </group>rk�grouprMr�dogs)
rrzr�rrsr�r��__getstate__r�rk)rIr�r�r��XMLTEXTr%r&s       r�test_pickle_issue18997�'BasicElementTest.test_pickle_issue18997�
s����1�f�5�5��9�:�E�")�$�,�,�q�"A��� ���&�&�w�/��� � ����!2�5�!9�7�C��)�)�"�.E�*0�%�A��� � �����1�� � ��A����F�3�#B�;rrN)rUrVrWrXr�r�r�r�r�r�r�r�r�rYrrrr|r|�	s2��8�6B�0E�<;�8!"�F'�4�
0�&4rr|c���\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
\R"S5S
5rSrSrSrSrSrSrSrSrSrSrSrSrSrg)�BadElementTesti�
c�0^�"U4SjS5nU"5/m[RS5nURT5 "SSU[R5nU"S5/m[RS5nURT5 g![a NVf=f)Nc�,>�\rSrSr\U4Sj5rSrg)�2BadElementTest.test_extend_mutable_list.<locals>.Xi�
c�V>�[RS5/TSS&[R$)Nr�r�rI�Ls �r�	__class__�<BadElementTest.test_extend_mutable_list.<locals>.X.__class__�
s"����
�
�5�)�*��!���z�z�!rrN�rUrVrWrX�propertyr�rY�r�s�r�Xr��
����
�
"��
"rr�r"c��\rSrSrSrg)�2BadElementTest.test_extend_mutable_list.<locals>.Yi�
rNr�rrr�Yr��
r�rr�r��rr�r�r��rIr�rr�r�s    @r�test_extend_mutable_list�'BadElementTest.test_extend_mutable_list�
s����	"�	"�
�S�E���J�J�u���	�
�H�H�Q�K�	��2�:�:�	�
�s�V�H���J�J�u���	�������	��	�s�B�
B�Bc�^�"U4SjS5nU"5[RS5/m[RS5nURT5 "SSU[R5nU"S5[RS5/m[RS5nURT5 g![a Njf=f)Nc�,>�\rSrSr\U4Sj5rSrg)�3BadElementTest.test_extend_mutable_list2.<locals>.Xi�
c�.>�TSS2	[R$rrr�s �rr��=BadElementTest.test_extend_mutable_list2.<locals>.X.__class__�
s����a�D��z�z�!rrNr�r�s�rr�r��
r�rr�r�r"c��\rSrSrSrg)�3BadElementTest.test_extend_mutable_list2.<locals>.Yi�
rNr�rrrr�r��
r�rr�r!r�r�s    @r�test_extend_mutable_list2�(BadElementTest.test_extend_mutable_list2�
s����	"�	"�
�S�"�*�*�U�#�$���J�J�u���	�
�H�H�Q�K�	��2�:�:�	�
�u�X�r�z�z�%�(�)���J�J�u���	�������	��	�s�B0�0
B=�<B=c�"�URSS9 g�NT��raises��do_test_remove_with_clearr	s r�%test_remove_with_clear_assume_missing�4BadElementTest.test_remove_with_clear_assume_missing�
s��	
�&�&�d�&�3rc�"�URSS9 g�NFr�r�r	s r�&test_remove_with_clear_assume_existing�5BadElementTest.test_remove_with_clear_assume_existing�
s��	
�&�&�e�&�4rc	�6^^^�"SS[R5n"UU4SjSU5n"UU4SjSU5nT(aU4SjnO[nTRUR[
R5 US4US	44GHpupgTR
TRUS
95 X&S4XbS4XfS
44Hgup�n
TRU
5 U"S5mTRU	"S5/5 U"5 TRU"S55 SSS5 SSS5 Mi TRX&5nUHnup�p�TRU
5 U"S5mTRU	"S5U"S5/5 U"5 TRU"S55 SSS5 SSS5 Mp TRS5 U"S5mTRU"S55 [U5n
[U5nTRTS5 SSS5 SSS5 W
R5 WR5 SSS5 [5=(a T=(a XdLn[5(aT(aXdLaGM�TRX&5nUHkup�n
TRU
5 U"S5mTRU	"S5U"S5/5 U"5 TRTS5 SSS5 SSS5 Mm GMs g!,(df   GN�=f!,(df   GMi=f!,(df   GN�=f!,(df   GM=f!,(df   GNK=f!,(df   GNU=f!,(df   GN?=f!,(df   N�=f!,(df   GM=f)Nc��\rSrSrSrg)�3BadElementTest.do_test_remove_with_clear.<locals>.Ei�
rNr�rrrr�r��
s��rr�c�$>�\rSrSrUU4SjrSrg)�3BadElementTest.do_test_remove_with_clear.<locals>.Xi�
c�>�TSS2	T(+$rr�rI�or�r�s  ��rr�:BadElementTest.do_test_remove_with_clear.<locals>.X.__eq__�
s�����G�!�z�!rrNrS�r�r�s��rr�r��
�
���
"�
"rr�c�$>�\rSrSrUU4SjrSrg)�3BadElementTest.do_test_remove_with_clear.<locals>.Yi�
c�2>�TR5 T(+$r�r�r�s  ��rr�:BadElementTest.do_test_remove_with_clear.<locals>.Y.__eq__�
s����
�
��!�z�!rrNrSr�s��rr�r�
r�rr�c�.>�TR[5$r�r�rr	s�r�<lambda>�:BadElementTest.do_test_remove_with_clear.<locals>.<lambda>�
����$�*;�*;�J�*Grzdel root[:]zroot.clear())�side_effectzremove missing E() from [Z()]zremove missing Z() from [E()]zremove missing Z() from [Z()]�top�one�missing�twozremove root[0] from [Z()]�remrr�)rr�rr�rr#�enterContextrr�r��'cases_for_remove_missing_with_mutationsr�r&�assert_not_calledr�(cases_for_remove_existing_with_mutations)rIr�r�r�r��get_checker_context�Zr
�R�U�description�cases�VrP�g�
is_specialr�s``              @rr��(BadElementTest.do_test_remove_with_clear�
s����	M��
�
�	M�	"�	"��	"�
	"�	"��	"�
�"G��"-���
�
�a�h�h��
�
�.� !�=�1�A�~�3F�G�N�A����d�l�l�{�l�C�D��6�7��6�7��6�7�&�!��k�
�\�\�+�.��U�8�D��K�K��5��
�+�,�.����A�i�L�1�/�/�.�&��@�@��F�E�(-�$��a��\�\�+�.��U�8�D��K�K��5��1�U�8� 4�5�,�.����A�i�L�1�/�/�.�).����9�:���x�����A�e�H�%�"�1�%��M�!�,<���K�K��Q��(�-=�%��#�#�%��#�#�%�
;�2�3�I��I�1�6�J�'�)�)�f�����E�E�a�K��).�%�A�+����k�2� ��x�����Q�u�X�q��x�$8�9�0�2� �K�K��Q��0�3�3�2�*/�kH�/�.��/�.��/�.��/�.��-=�,<��%�%��;�:��:3�2��3�2�s��(L	�/K7	�L	�/L.�4L	�L.�1+M%�M�(M	�=M�(M%�/N�M7	�N�7
L
�L	�	
L�
L+
�&L.�.
L>�
M
�M�
M"�M%�%
M4	�7
N
�N�
Nc�"�URSS9 gr���do_test_remove_with_mutate_rootr	s r�+test_remove_with_mutate_root_assume_missing�:BadElementTest.test_remove_with_mutate_root_assume_missing%s��	
�,�,�D�,�9rc�"�URSS9 gr�rr	s r�,test_remove_with_mutate_root_assume_existing�;BadElementTest.test_remove_with_mutate_root_assume_existing*s��	
�,�,�E�,�:rc�^^^
�[Rn"UU
4SjSU5nT(aU4SjnO[nTRX#5nUHnupgp�TR	U	5 U"S5m
T
RU"S5U"S5/5 U"5 T
R
U"S55 SSS5 SSS5 Mp TRX#5nUHkupgn	TR	U	5 U"S5m
T
RU"S5U"S5/5 U"5 T
R
T
S	5 SSS5 SSS5 Mm g!,(df   N�=f!,(df   GM=f!,(df   N?=f!,(df   M�=f)
Nc�$>�\rSrSrUU4SjrSrg)�9BadElementTest.do_test_remove_with_mutate_root.<locals>.Zi2c�>�TS	T(+$rrr�s  ��rr�@BadElementTest.do_test_remove_with_mutate_root.<locals>.Z.__eq__3s�����G�!�z�!rrNrSr�s��rrr(2r�rrc�.>�TR[5$rrr	s�rr�@BadElementTest.do_test_remove_with_mutate_root.<locals>.<lambda>8r	rrrrr
rr�)rr�rrrr�r�r)rIr�r�rrrrrrrr�s``        @rr �.BadElementTest.do_test_remove_with_mutate_root/s6����J�J��	"�	"��	"�
�"G��"-���<�<�Q�B��$)� �A�!����k�*���x�����Q�u�X�q��x�0�1�(�*��K�K��)��-�+�+�*�%*��=�=�a�C��!&��A�+����k�*���x�����Q�u�X�q��x�0�1�(�*��K�K��Q��(�+�+�*�"'�+�*��+�*��+�*��+�*�sH�!/E�D?�(E�&/E4�E#�*E4�?
E
�	E�
E 	�#
E1�-E4�4
F	c#�# �X4X!4X"44H5up4SURSURSURS3nXXE4v� M7 X4X4X!4X"44H5up4SURSURSURS3nX#XE4v� M7 g7f)Nzremove missing z	() from [�(), �()]�rU)rIr�rrrrs      rr�6BadElementTest.cases_for_remove_missing_with_mutationsNs�����V�a�V�a�V�,�D�A�,�Q�Z�Z�L�9� �z�z�l�$�q�z�z�l�#�?�K���&�&�-�
�V�a�V�a�V�a�V�4�D�A�,�Q�Z�Z�L�9� �z�z�l�$�q�z�z�l�#�?�K���&�&�5�s�BBc#�# �XS4X!S4X"S44H6up4nSURSURSURS3nXCU4v� M8 g7f)Nzremove root[1] from [E(), Z()]zremove root[1] from [Z(), E()]zremove root[1] from [Z(), Z()]zremove root[1] (of type z) from [r/r0r1)rIr�rrrrs      rr�7BadElementTest.cases_for_remove_existing_with_mutations[sn����3�4�
�3�4�
�3�4�"
��A�+�
6�a�j�j�\�B$�$%�J�J�<�t�A�J�J�<�s�D�K���#�#�"
�s�AA	�c���[RS5n[USU5 UR[5 [U5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nr"rk)rr�rr��RuntimeErrorr�rds  r�test_recursive_repr�"BadElementTest.test_recursive_reprgsP��
�J�J�u���
�q�%��
#��"�"�<�0��Q��1�$�
#�0�0��$�
#�s"�A'�A�A'�
A$	� A'�'
A5c�b^�"U4SjS[5n[R5nURS05 UR	S5 UR	U"S55 UR	S5 URS5 UR
5mURTRS5 g)Nc�">�\rSrSrU4SjrSrg)�/BadElementTest.test_element_get_text.<locals>.Xiqc�@>�TR g![a gf=fr)r��	NameErrorrgs �r�__del__�7BadElementTest.test_element_get_text.<locals>.X.__del__rs!�����I�I�� ����s��
�rN�rUrVrWrXr?rY�rcs�rr�r<q�
���
�
rr�rk�ABCD�EFGH�IJKL�ABCDEFGHIJKL)	r�rrNror=rvrMr�r��rIr�r�rcs   @r�test_element_get_text�$BadElementTest.test_element_get_textos{���	��	�
�N�N���	����r��	���v��	���q��y��	���v��	���e���w�w�y��������N�3rc�^�"U4SjS[5n[R5nURS05 URS05 UR	S5 URS5 URU"S55 URS5 UR	S5 UR
5mURTSRS	5 g)
Nc�">�\rSrSrU4SjrSrg)�/BadElementTest.test_element_get_tail.<locals>.Xi�c�F>�TSR g![a gf=fr)r�r>rgs �rr?�7BadElementTest.test_element_get_tail.<locals>.X.__del__�s%������G�L�L�� ����s��
 � rNrArBs�rr�rM�rCrr�r�rkrDrErFrrG)	r�rrNrorvr=rMr�r�rHs   @r�test_element_get_tail�$BadElementTest.test_element_get_tail�s����	��	�
�N�N���	������	����r��	���e��	���v��	���q��y��	���v��	���f�
��w�w�y������a����~�6rc�"�URSS9 g)NT��use_clear_method��"do_test_subscr_with_mutating_slicer	s r�test_subscr_with_clear�%BadElementTest.test_subscr_with_clear�s���/�/��/�Frc�"�URSS9 g)NFrSrUr	s r�test_subscr_with_delete�&BadElementTest.test_subscr_with_delete�s���/�/��/�Grc�n^^�"UU4SjS5nURUS5HxnURU5 [RS5mTR	[S5Vs/sHn[RSU35PM sn5 TU SSS5 Mz gs snf!,(df   M�=f)Nc�.>�\rSrSrSSjrUU4SjrSrg)�<BadElementTest.do_test_subscr_with_mutating_slice.<locals>.Xi�c��Xlgr�r�rIrs  rr|�EBadElementTest.do_test_subscr_with_mutating_slice.<locals>.X.__init__�����rc�l>�T(aTR5 UR$TSS2	UR$r)r�r)rIrrTs ��r�	__index__�FBadElementTest.do_test_subscr_with_mutating_slice.<locals>.X.__index__�s,���#��G�G�I��v�v�
��!���v�v�
rr`N�r�rUrVrWrXr|rerY)rrTs��rr�r^�s���
�
�
rr�rrcr���get_mutating_slicesrrr�r�r)rIrTr�rrrs `   @rrV�1BadElementTest.do_test_subscr_with_mutating_slice�s����	�	��)�)�!�R�0�A����a���J�J�v�&�����u�R�y�A�y�!�"�*�*�q���W�-�y�A�B��!��!��1��B�!��s�.B%�%"B �B%� B%�%
B4	c�j^�"U4SjS5nURUS5HxnURU5 [RS5mTR	[S5Vs/sHn[RSU35PM sn5 /TU'SSS5 Mz gs snf!,(df   M�=f)Nc�,>�\rSrSrSSjrU4SjrSrg)�=BadElementTest.test_ass_subscr_with_mutating_slice.<locals>.Xi�c��Xlgrr`ras  rr|�FBadElementTest.test_ass_subscr_with_mutating_slice.<locals>.X.__init__�rcrc�&>�/TSS&UR$rr`rds �rre�GBadElementTest.test_ass_subscr_with_mutating_slice.<locals>.X.__index__�s�����!���v�v�
rr`NrgrhrAs�rr�rn�s���
�
�
rr�rrcr�ri)rIr�rrrs    @r�#test_ass_subscr_with_mutating_slice�2BadElementTest.test_ass_subscr_with_mutating_slice�s����	�	��)�)�!�R�0�A����a���J�J�v�&�����u�R�y�A�y�!�"�*�*�q���W�-�y�A�B���!��!��1��B�!��s�.B#�#"B�B#�B#�#
B2	c��URUS5 [U"5SS5[U"S5SS5[SU"5S5[SU"S5S5[SSU"S55[SSU"S55[SX!"S55[SX!"S55[SSU-U"S55[SSU-U"S55/
$)Nrrrr�)�assertGreaterEqual�slice)rI�index_class�
n_childrens   rrj�"BadElementTest.get_mutating_slices�s������
�B�/��+�-��t�,��+�a�.�$��-��$��
�t�,��$��A���-��!�Q��A��'��!�Q��A��'��!�Z��Q��0��!�Z��Q��0��!�Q��^�[��^�4��!�Q��^�[��^�4�
�	
rc	��^�"U4SjS5n[RS5mTR[S5Vs/sHn[RSU35PM sn5 U"5TSS&gs snf)Nc�">�\rSrSrU4SjrSrg)�FBadElementTest.test_ass_subscr_with_mutating_iterable_value.<locals>.Vi�c�>�TR5 [[RS5[RS5/5$)Nr�r�)r�r�rr�rds �rr�OBadElementTest.test_ass_subscr_with_mutating_iterable_value.<locals>.V.__iter__�s,������	��R�Z�Z��_�b�j�j��o�>�?�?rrN)rUrVrWrXrrYrAs�rrr}�s���
@�
@rrrcrr�)rr�r�r)rIrrrs   @r�,test_ass_subscr_with_mutating_iterable_value�;BadElementTest.test_ass_subscr_with_mutating_iterable_value�s]���	@�	@�

�J�J�v���	���u�R�y�9�y�!�"�*�*�q���W�%�y�9�:��s��!���:s�"A0c���Sn[RUS9nURS05 URS5 UR	[
URS05 A[
5 g)Nc��/$rr�r�r�s  r�element_factory�>BadElementTest.test_treebuilder_start.<locals>.element_factory�����Ir�r�rkrDr�)rrNror=r��AttributeErrorr�rIr�r�s   r�test_treebuilder_start�%BadElementTest.test_treebuilder_start�sP��	��N�N�?�N�;��	����r��	���v�����.�!�'�'�6�2�>�
��rc���Sn[RUS9nURS05 URS5 UR	[
URS5 A[5 g)Nc��/$rrr�s  rr��<BadElementTest.test_treebuilder_end.<locals>.element_factory�r�rr�rkrD)rrNror=r�r�rvrr�s   r�test_treebuilder_end�#BadElementTest.test_treebuilder_end�sN��	��N�N�?�N�;��	����r��	���v�����.�!�%�%��7�
��rc�^�"U4SjS[R5n[RS5mU"S5nTRU[RS5/5 [5(a&UR	[
[RT5 g[R"T5nUR[U5U/5 g)Nc�">�\rSrSrU4SjrSrg)�-BadElementTest.test_deepcopy_clear.<locals>.Xi�c�(>�TR5 U$rr)rIr�r�s  �rr��:BadElementTest.test_deepcopy_clear.<locals>.X.__deepcopy__�s����
�
���rrNr�)r�s�rr�r��rBrr�r�r�r�)
rr�r�rr�r7r#r$�assertListEqualr�)rIr��evilr�r�s    @r�test_deepcopy_clear�"BadElementTest.test_deepcopy_clear�s����	��
�
�	�
�z�z�#�����v�����T�2�:�:�c�?�+�,�#�%�%����l�D�M�M�4�@��
�
�d�#�A�� � ��a��4�&�1rc��^^^�[RS5m[RS5m[RS5n"UUU4SjS[R5n[RS5mU"S5U"S5pCTRX1U/5 [[R
"T55nUR
US	U5 UR
US
U5 URUSRUR5 URUSSVs/sHoRPM snTRTRTRTR/5 gs snf)
Nr�r�r�c�&>�\rSrSrUUU4SjrSrg)�,BadElementTest.test_deepcopy_grow.<locals>.Xic�L>�TRT5 TRT5 U$rrp)rIr�r�r�r�s  ���rr��9BadElementTest.test_deepcopy_grow.<locals>.X.__deepcopy__
s������A�����A���rrNr�)r�r�r�s���rr�r�s
���
�
rr�rr�r�rrr�r�)	rr�r�r�r#r$r�r�rk)	rIr�r��evil1�evil2�childrenr�r�r�s	      @@@r�test_deepcopy_grow�!BadElementTest.test_deepcopy_grows
���
�J�J�s�O���J�J�s�O���J�J�s�O��	�	��
�
�	��z�z�%� ����v�q��v�u����U�u�%�&���
�
�d�+�,���
�
�h�q�k�5�)��
�
�h�q�k�5�)�����!����!�%�%�0�����!�"��6��A�%�%��6��%�%�������q�u�u�5�	7��6s�E&rN)rUrVrWrXr�r�r�r�r�r!r$r rrr�infinite_recursionr8rIrPrWrZrVrsrjr�r�r�r�r�rYrrrr�r��
s����&�&4�
5�
U1�n:�
;�
)�>'�
$�
����#��$��4�&7�*G�H��"�"

��
�
�2�&7rr�c�8�\rSrSrSrSr\RrSrg)�MutationDeleteElementPathic�@�[R"U/UQ76nXlU$r�r��__new__rc�r$rcr,rIs    rr��!MutationDeleteElementPath.__new__ ����{�{�3�&��&���	��rc�"�URSS2	gr�rB�rIr�s  rr� MutationDeleteElementPath.__eq__%s���I�I�a�L�rrBN�	rUrVrWrXr�rr��__hash__rYrrrr�r�����
��|�|�Hrr�c�8�\rSrSrSrSr\RrSrg)�MutationClearElementPathi,c�@�[R"U/UQ76nXlU$rr�r�s    rr�� MutationClearElementPath.__new__-r�rc�8�URR5 gr�)rcr�r�s  rr�MutationClearElementPath.__eq__2s���	�	����rrBNr�rrrr�r�,r�rr�c�2�\rSrSrSr\RrSrg)�BadElementPathi9c��SS-e)Nr�rrr�s  rr�BadElementPath.__eq__:s����c�	rrN)rUrVrWrXrr�r�rYrrrr�r�9s����|�|�Hrr�c�d^�\rSrSrU4SjrU4SjrSrSrSrSr	Sr
S	rS
rSr
SrU=r$)
�BadElementPathTesti@c�^>�[TU]5 SSKJn URUl0Ulg�NrrF)�super�setUprHrGr�
path_cache�rIrGr�s  �rr��BadElementPathTest.setUpAs$���
��
��)�%�,�,�����rc�P>�SSKJn URUl[TU]5 gr�)rHrGr�rr��tearDownr�s  �rr��BadElementPathTest.tearDownGs���)�!�_�_���
���rc�&�[[4HonURU5 [R	S5nUR[R	S5/5 UR
U"US55 SSS5 Mq g!,(df   M�=f�Nr"r!r�)r�r�rrr�r�r��rIr$rs   r�test_find_with_mutating�*BadElementPathTest.test_find_with_mutatingLsf��-�/G�H�C����c�"��J�J�u�%�����"�*�*�U�+�,�-����s�1�c�{�#�#�"�I�"�"���AB�
B	c���[RS5nUR[RS5/5 UR[	S55 g![
a gf=fr�)rr�r�r�r�rwrds  r�test_find_with_error�'BadElementPathTest.test_find_with_errorSsP���J�J�u���	���"�*�*�U�#�$�%�	�
�F�F�>�#�&�'�� �	��	���A�
A$�#A$c�&�[[4HonURU5 [R	S5nUR[R	S5/5 UR
U"US55 SSS5 Mq g!,(df   M�=fr�)r�r�rrr�r�r�r�s   r�test_findtext_with_mutating�.BadElementPathTest.test_findtext_with_mutating[sf��-�/G�H�C����c�"��J�J�u�%�����"�*�*�U�+�,�-��
�
�3�q�#�;�'�#�"�I�"�"�r�c���[RS5nUR[RS5/5 UR[	S55 g![
a gf=fr�)rr�r�r�r�rwrds  r�test_findtext_with_error�+BadElementPathTest.test_findtext_with_errorbsP���J�J�u���	���"�*�*�U�#�$�%�	�
�J�J�~�c�*�+�� �	��	�r�c���[RS5n[RUS5nSSS/S0/nUH*nXBlUR	URS5U5 M, g)Nr"r!r�rFr�./bar�rr�rer�r�r�)rI�	root_elem�sub_elem�falsey�vals     r�(test_findtext_with_falsey_text_attribute�;BadElementPathTest.test_findtext_with_falsey_text_attributejs\���J�J�u�%�	��=�=��E�2���a���B��+���C��M����Y�/�/��8�#�>�rc��[RS5n[RUS5nSUlUR	URS5S5 g)Nr"r!r�r�r�)rIr�r�s   r�&test_findtext_with_none_text_attribute�9BadElementPathTest.test_findtext_with_none_text_attributersB���J�J�u�%�	��=�=��E�2����
�����+�+�G�4�b�9rc�&�[[4HonURU5 [R	S5nUR[R	S5/5 UR
U"US55 SSS5 Mq g!,(df   M�=fr�)r�r�rrr�r�r�r�s   r�test_findall_with_mutating�-BadElementPathTest.test_findall_with_mutatingxsf��-�/G�H�C����c�"��J�J�u�%�����"�*�*�U�+�,�-��	�	�#�a��+�&�#�"�I�"�"�r�c���[RS5nUR[RS5/5 UR[	S55 g![
a gf=fr�)rr�r�r�r�rwrds  r�test_findall_with_error�*BadElementPathTest.test_findall_with_errorsP���J�J�u���	���"�*�*�U�#�$�%�	�
�I�I�n�S�)�*�� �	��	�r�)r�)rUrVrWrXr�r�r�r�r�r�r�r�r�r�rY�
__classcell__)r�s@rr�r�@s:��� ��
$��(��?�:�'��rr�c�2�\rSrSrSrSrSrSrSrSr	g)	�ElementTreeTypeTesti�c��UR[R[5 UR[R[5 UR[R
[5 UR[R[5 UR[R[5 UR[R[5 gr)	r�rrZr�rxrCr�rNrJr	s r�test_istype�ElementTreeTypeTest.test_istype�sz�����b�m�m�T�2����b�h�h��-����b�n�n�d�3����b�j�j�$�/����b�n�n�d�3����b�l�l�D�1rc�&�"SS[R5nU"S5nURU[R5 URX!5 URURS5 SUlURUR
S5 g)Nc��\rSrSrSrg)�DElementTreeTypeTest.test_Element_subclass_trivial.<locals>.MyElementi�rNr�rrr�	MyElementr��r�rr�r"r�)rr�r�r�rkr��rIr��myes   r�test_Element_subclass_trivial�1ElementTreeTypeTest.test_Element_subclass_trivial�sq��	��
�
�	��������c�2�:�:�.����c�-�������%�(����������5�)rc��^�"U4SjS[R5mT"SSSS.SSS	9nURURS
5 UR[	UR55/SQ5 g)Nc�2>^�\rSrSr04UU4SjjrSrU=r$)�HElementTreeTypeTest.test_Element_subclass_constructor.<locals>.MyElementi�c�0>�[TU]"US-U40UD6 g)N�__)r�r|)rIrkr��extrar�r�s    ��rr|�QElementTreeTypeTest.test_Element_subclass_constructor.<locals>.MyElement.__init__�s����i��/��d�
�F�L�e�Lrr)rUrVrWrXr|rYr�)r�r�s@�rr�r��s���+-�
M�
Mrr�r"r�r)r�r�r��)r�r��foo__))r�r�)r�r)r�r�)r�r)rr�r�rkr7r�)rIr�r�s  @r�!test_Element_subclass_constructor�5ElementTreeTypeTest.test_Element_subclass_constructor�s^���	M��
�
�	M���Q�Q�/�1��:��������'�*������	�	��,�4�	6rc��"SS[R5nU"S5nURUR5S5 g)Nc��\rSrSrSrSrg)�GElementTreeTypeTest.test_Element_subclass_new_method.<locals>.MyElementi�c��UR$rrjr	s r�	newmethod�QElementTreeTypeTest.test_Element_subclass_new_method.<locals>.MyElement.newmethod�s���x�x�rrN)rUrVrWrXr	rYrrrr�r�s��
 rr�r�)rr�r�r	r�s   r� test_Element_subclass_new_method�4ElementTreeTypeTest.test_Element_subclass_new_method�s4��	 ��
�
�	 ������������%�0rc���"SS[R5n[RS5nSUlU"S5nSUlURU5 UR	URS5S5 UR	UR
S5RS5 [URS55nUR	[U5SU5 UR	USRS5 g)	Nc��\rSrSrSrg)�AElementTreeTypeTest.test_Element_subclass_find.<locals>.MyElementi�rNr�rrrr�r�r�rr�r"r�r!rcr�r)rr�r�r�r�r�r�rkr�r�r�)rIr�r�sub�founds     r�test_Element_subclass_find�.ElementTreeTypeTest.test_Element_subclass_find�s���	��
�
�	�
�J�J�u�������������	����
�������E�*�I�6���������*�*�E�2��Q�Y�Y�u�%�&������U��Q��.�����q����u�-rrN)
rUrVrWrXr�r�rrrrYrrrr�r��s��2�*�6�1�
.rr�c�D�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rg)�ElementFindTesti�c��[R[5nURUR	S5R
S5 URUR	S5R
S5 URUR	S5R
S5 [R[5US'URUR	S5R
S5 URURS5S5 URURS5S5 URURS5S	5 URURSS
5S	5 URURS55 URURSS
5S
5 UR[RS5RS
5S	5 g)Nrkr
�./tagrzsection/nexttag�nexttagr�rcr�r+�togz<tag><empty /></tag>�empty)	rr�rr�r�rk�SAMPLE_SECTIONr�r�rds  r�test_find_simple� ElementFindTest.test_find_simple�sb���F�F�:�����������*�*�E�2�������
�.�2�2�E�:���������,�,�e�4��v�v�n�%��!�������� 1�2�6�6�	�B�������G�,�f�5�������M�2�I�>�	
������$5�6��;�������$5�y�A�2�F�	
���!�*�*�U�+�,�������E�9�5�y�A�	
������ 6�7�@�@��I�2�Nrc��Sn[RU5nURURS5RSS5 URURS5RSS5 URURS5RSS5 URURS	5RSS
5 URURS5RSS5 UR[SURS
5 UR[SURS5 UR[SURS5 UR[SURS5 g)Nz�
        <body>
            <tag class='a'/>
            <tag class='b'/>
            <tag class='c'/>
            <tag class='d'/>
        </body>z./tag[1]�classr�z./tag[2]r�z
./tag[last()]r�z./tag[last()-1]r�z./tag[last()-2]�XPathz./tag[0]z	./tag[-1]z./tag[last()-0]z./tag[last()+1])rr�r�r�r�r��SyntaxError)rI�
LINEAR_XMLrs   r�test_find_xpath�ElementFindTest.test_find_xpath�s3���
�
�F�F�:���	
������
�+�2�2�7�;�S�A�������
�+�2�2�7�;�S�A��������0�7�7��@�#�F������� 1�2�9�9�'�B�C�H������� 1�2�9�9�'�B�C�H����{�G�Q�V�V�Z�H����{�G�Q�V�V�[�I����{�G�Q�V�V�=N�O����{�G�Q�V�V�=N�Orc��[R[5n[R[5US'UR	[UR
S55S/5 UR	[UR
S55SS/5 UR	[UR
S55/5 UR	[UR
S55/5 UR	[UR
S55/SQ5 UR	[UR
S	55S/S
-5 UR	[UR
S55S/5 UR	[UR
S55S/S-5 UR	[UR
S
55/SQ5 UR	[UR
S55/SQ5 UR	[UR
S55/SQ5 UR	[UR
S55/SQ5 UR	[UR
S55/SQ5 UR	[UR
S55S/5 UR	[UR
S55S/5 UR	[UR
S55S/S-5 UR	[UR
S55S/S-5 UR	[UR
S55S/S-5 UR	[UR
S55S/5 UR	[UR
S55S/S-5 UR	[UR
S55S/S-5 UR	[UR
S55S/5 UR	[UR
S55S/5 UR	[UR
S55S /5 UR	[UR
S!55/5 UR	[UR
S"55/5 UR	[UR
S#55S/S-5 UR	UR
S$5UR
S55 UR	[UR
S%55S /5 UR	[UR
S&55S /5 UR	[UR
S'55S /5 UR	[UR
S(55S /5 UR	[UR
S)55S /5 UR	[UR
S*55/5 UR	[UR
S+55/5 UR	[UR
S,55/5 UR	[UR
S-55/5 UR	[UR
S.55/5 UR	[UR
S/55S/5 UR	[UR
S055S/5 UR	[UR
S155S/5 UR	[UR
S255S/5 UR	[UR
S355S/5 UR	[UR
S455/5 UR	[UR
S555/5 UR	[UR
S655S/S-5 UR	[UR
S755S/S-5 UR	[UR
S855S/S-5 UR	[UR
S955S/S-5 UR	[UR
S:55S/S-5 UR	[UR
S;55S/S
-5 UR	[UR
S<55S/S
-5 USUS='UR	[UR
S(55S S /5 UR	[UR
S355SS/5 g)>Nrr�rXrkrztog/foor�r1z.//tagrr
zsection//tagz	section/*)rkr�nextsectionz
section//*)rkrr&rkzsection/.//*z*/*z*//*z*/tagz*/./tagrz././tagz.//tag[@class]r�z.//tag[@class="a"]z.//tag[@class!="a"]z.//tag[@class="b"]z.//tag[@class!="b"]z.//tag[@id]z.//section[tag]r�z.//section[element]z../tagzsection/../tagz	section//z.//section[tag='subtext']z.//section[tag ='subtext']z.//section[tag= 'subtext']z.//section[tag = 'subtext']z.//section[ tag = 'subtext' ]z.//section[tag!='subtext']z.//section[tag !='subtext']z.//section[tag!= 'subtext']z.//section[tag != 'subtext']z.//section[ tag != 'subtext' ]z.//tag[.='subtext']z.//tag[. ='subtext']z.//tag[.= "subtext"]z.//tag[ . = "subtext" ]z.//tag[. = 'subtext']z.//tag[. = 'subtext ']z.//tag[.= ' subtext']z.//tag[.!='subtext']z.//tag[. !='subtext']z.//tag[.!= "subtext"]z.//tag[ . != "subtext" ]z.//tag[. != 'subtext']z.//tag[. != 'subtext ']z.//tag[.!= ' subtext']r�)rr�rrr�rmr�rds  r�test_findall�ElementFindTest.test_findall�s����F�F�:����v�v�n�%��!�������	�	�#��7�&��B������	�	�%�(8�9�E�5�>�J������	�	�%�(8�9�2�>������	�	�)�(<�=�r�B������	�	�#��7�%�	'������	�	�(�(;�<�
�G�a�K�	������	�	�-�(@�A�E�7�K������	�	�.�(A�B�U�G�a�K�P������	�	�+�(>�?�-�	/������	�	�,�(?�@�4�	6������	�	�.�(A�B�4�	6������	�	�%�(8�9�-�	/������	�	�&�(9�:�4�	6������	�	�'�(:�;�e�W�E������	�	�)�(<�=��w�G������	�	�'�(:�;�e�W�q�[�I������	�	�)�(<�=��w��{�K������	�	�2B�(C�D�
�G�a�K�	������	�	�2F�(G�H�
�G�	������	�	�2G�(H�I�
�G�a�K�	������	�	�2F�(G�H�
�G�a�K�	������	�	�2G�(H�I�
�G�	������	�	�-�(@�A�
�G�	������	�	�2C�(D�E�
�K�	������	�	�2G�(H�I�2�N������	�	�(�(;�<�b�A������	�	�2B�(C�D�
�G�a�K�	�������;�/����<�1H�I������	�	�2M�(N�O�
�K�	������	�	�2N�(O�P�
�K�	������	�	�2N�(O�P�
�K�	������	�	�2O�(P�Q�
�K�	������	�	�2Q�(R�S�
�K�	�
	
�����	�	�2N�(O�P��	������	�	�2O�(P�Q��	������	�	�2O�(P�Q��	������	�	�2P�(Q�R��	������	�	�2R�(S�T��	�	
�����	�	�2G�(H�I���	"������	�	�2H�(I�J���	"������	�	�2H�(I�J���	"������	�	�2K�(L�M���	"������	�	�2I�(J�K���	"������	�	�2J�(K�L��	������	�	�2I�(J�K��	�
	
�����	�	�2H�(I�J���1��	&������	�	�2I�(J�K���1��	&������	�	�2I�(J�K���1��	&������	�	�2L�(M�N���1��	&������	�	�2J�(K�L���1��	&�	
�����	�	�2K�(L�M���1��	&������	�	�2J�(K�L���1��	&���t��!�������	�	�2O�(P�Q�#�Y�/�	1������	�	�2I�(J�K����	)rc�B�[R[5nUR[	URS55/5 UR[	URS55S/S-5 UR[	URS55S/S-5 g)Nrkz{http://effbot.org/ns}tagrz.//{http://effbot.org/ns}tagr�)rr�rrr�rmr�rds  r�test_test_find_with_ns�&ElementFindTest.test_test_find_with_ns^
s����F�F�=�!�������	�	�%�(8�9�2�>�����1�9�9�%@�A�B�
(�)�A�-�	/�	
����1�9�9�%C�D�E�
(�)�A�-�	/rc	�4�[RS5nSS0nUR[UR	SUS95S5 UR[UR	SUS95S5 SS0nUR[UR	SUS95S	5 UR[UR	SUS95S5 SSS
.nUR[UR	SUS95S5 UR[UR	SUS95S	5 g)N��
            <a xmlns:x="X" xmlns:y="Y">
                <x:b><c/></x:b>
                <b/>
                <c><x:b/><b/></c><y:b/>
            </a>�xxr�z.//xx:b)r�r�.//br�r�)r.r�)rr�r�r�r�)rIr��nsmaps   r�test_findall_different_nsmaps�-ElementFindTest.test_findall_different_nsmapsh
s����v�v�����s�������T�\�\�)��\�F�G��K�����T�\�\�&�U�\�C�D�a�H��s�������T�\�\�)��\�F�G��K�����T�\�\�&�U�\�C�D�a�H���$������T�\�\�)��\�F�G��K�����T�\�\�&�U�\�C�D�a�Hrc�~�[RS5nUR[RS55 UR	[UR
S55/SQ5 UR	[UR
S55S/5 UR	[UR
S55S/5 UR	[UR
S	55S
/5 UR	[UR
S55SS/5 UR	[UR
S
55S/5 UR	[UR
S
55[UR
S555 UR	[UR
S55/SQ5 UR	[UR
S5US/-5[UR
S555 UR	[UR
S55/SQ5 UR	[UR
S55SS/5 UR	[UR
S55SS/5 UR	[UR
S55S
/5 UR	[UR
S55/SQ5 UR	[UR
S55SS/5 UR	[UR
S55[UR
S555 g)Nr-r/z{*}b)�{X}br��{Y}bz{*}cr�z{X}*r4z{Y}*r5r�r�z{}br�)r4r�r�r5r�r�z.//{*}b)r4r�r4r�r5z.//{*}cz.//{X}*z.//{Y}*z.//{}*)r�r�r�r�z.//{}br/)rr�r�rfr�rmr�r�s  r�test_findall_wildcard�%ElementFindTest.test_findall_wildcardy
s����v�v����	
���B�J�J�v�&�'��������V�(<�=�.�	0��������V�(<�=���	 ��������V�(<�=� ��	#��������V�(<�=� ��	#��������U�(;�<��s��	%��������U�(;�<���	 ��������U�(;�<�'����S�(9�:�	<��������V�(<�=�3�	5�	
�������V�(<��R��z�(I�J�'����S�(9�:�	<�	
�������Y�(?�@�;�	=��������Y�(?�@��s��	%��������Y�(?�@� �&�)�	+��������Y�(?�@� ��	#��������X�(>�?�-�	/��������X�(>�?��s��	%��������X�(>�?�'����V�(<�=�	?rc��[R[5nUR[S5 URS5 SSS5 g!,(df   g=f)Nzcannot use absolute pathz/tag)rr�rr�r!r�rds  r�
test_bad_find�ElementFindTest.test_bad_find�
s:���F�F�:���
�
#�
#�K�1K�
L�
�I�I�f��M�
L�
L�s�A�
Ac��[R[5nUR[R	U5RS5RS5 UR[R	U5RS5S5 UR[[R	U5RS55S/S-5 SnUR[U5 [R	U5RS5nSSS5 UR[W5S/S-5 g!,(df   N.=f)Nrkr�rz�This search is broken in 1.3 and earlier, and will be fixed in a future version.  If you rely on the current behaviour, change it to '.+'z//tagr�)rr�rr�rCr�rkr�rmr��assertWarnsRegex�
FutureWarning)rIrr�r�s    r�test_find_through_ElementTree�-ElementFindTest.test_find_through_ElementTree�
s����F�F�:����������*�/�/��6�:�:�E�B��������*�3�3�E�:�F�C��������q�(9�(A�(A�%�(H�I�
�G�a�K�	�#���
"�
"�=�#�
6�����"�*�*�7�3�B�7������+�e�W�q�[�9�7�
6�s�%%D2�2
ErN)
rUrVrWrXrr#r'r*r1r6r9r>rYrrrrr�s0��O�.P�,n)�`/�I�"*?�X�
:rrc�<�\rSrSrS
SjrSrSrSrSrSr	S	r
g)�ElementIterTesti�
Nc�6�[URU55$r)rmr�)rIrcrks   r�_ilist�ElementIterTest._ilist�
s���d�i�i��n�-�-rc	��[RS5nURURU5/SQ5 URURUR	S55SS/5 UR[UR
55RS5 URSRUR55S5 URSRUR	S5R55S5 UR[UR55S	5 [US
S9nUR[[RU55SS
5 [US
S9n[R[R5S9nUR[[RX#S95SS
5 [RS5nUR[ UR5 [RS5nURSRUR55S5 g)Nz7<html><body>this is a <i>paragraph</i>.</body>..</html>)rcrXrrXrrcr�zthis is a paragraph...zthis is a paragraph.z
this is a F)rdrrvrD)rQz*<root>a&amp;<sub>b&amp;</sub>c&amp;</root>za&b&c&)rr�r�rCr�r�r�rkrZr�rhr�rJrNrCr�r�)rIr��
sourcefilerQrgs     rr��ElementIterTest.test_basic�
s����f�f�N�O��������S�)�+@�A�������S�X�X�f�%5�6���
�F�����c�h�h�j�)�-�-�v�6�����������0�2J�K����������&�!1�!:�!:�!<�=�"�	$�����c�l�l�n�-�|�<��s�e�4�
�����b�l�l�:�6�7��:�E�B��s�e�4�
����R�^�^�%5��6������b�l�l�:�l�E�F�q�I�5�Q��~�~�d�#�����.�$�)�)�4��f�f�A�B������������0�(�;rc�$�[RS5nURURU5S/5 [R	US5nURURU5SS/5 [R	US5nURURU5/SQ5 [R	US5nURURU5/SQ5 USUS'US	URURU5SS/5 g)	Nr�r�r�)r�r�r�r�)r�r�r�r�r�r)rr�r�rCrer#s     r�test_corners�ElementIterTest.test_corners�
s����J�J�s�O��������Q��#��/�
�M�M�!�S�!��������Q��#�s��4�
�M�M�!�S�!��������Q���9�
�M�M�!�S�!��������Q��)=�>���t��!��
�a�D�������Q��#�s��4rc��[RS5nURURUS5S/S-5 URURUS5S/S-5 UR[	URSS95S/S-5 /SQnUR[	UR55U5 URURU5U5 URURUS5U5 g)	NaJ
            <document>
                <house>
                    <room>bedroom1</room>
                    <room>bedroom2</room>
                </house>
                <shed>nothing here
                </shed>
                <house>
                    <room>bedroom8</room>
                </house>
            </document>�roomr��houserrj)rrMrLrL�shedrMrLr�)rr�r�rCrmr�)rIr��all_tagss   r�test_iter_by_tag� ElementIterTest.test_iter_by_tag�
s����f�f����	
������S�&�1�F�8�a�<�@�������S�'�2�W�I��M�B�	
����3�8�8��8�/�0�
�H�q�L�	�
-���������
�3�X�>�������S�)�8�4�������S�#�.��9rc���[RS5nUR5nUR[5 [
R
"U5 SSS5 g!,(df   g=f)Nr�)rr�r�r�r�r#)rIr�r�s   rr(�ElementIterTest.test_copy
s?���J�J�s�O��
�V�V�X��
�
�
�y�
)��I�I�b�M�*�
)�
)�s�A�
A)c�@�[RS5nUR5n[[R
S-5HGnUR
[[R45 [R"X#5 SSS5 MI g!,(df   M[=f)Nr�r�)
rr�r�rrzr�r�r�r}r{)rIr�r�r�s    rr��ElementIterTest.test_picklesi���J�J�s�O��
�V�V�X���6�2�2�Q�6�7�E��"�"�I�v�/C�/C�#D�E����R�'�F�E�8�E�E�s�*B�
B	rr)rUrVrWrXrCr�rIrPr(r�rYrrrrArA�
s ��.�<�45�,:�:�(rrAc�v�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrg)�TreeBuilderTestiz�<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>text<div>subtext</div>tail</html>z<toplevel>sometext</toplevel>c��URURS5 URURS5 URURS5 URUR05 [U5nUR[
U5S5 USnURURS5 URURS5 URURS5 URUR05 g)Nrcr�r�r�divrcr�)r�rkr�r�r�r�r�)rIrr�r�s    r�_check_sample1_element�&TreeBuilderTest._check_sample1_element s����������'��������(��������&�������2�&���7������X���*�����������E�*�������Y�/�������V�,�������r�*rc�$�"SS5n"SSU5n[RU"5S9nURUR5 UR	UR5S5 [RU"5S9nURUR5 UR	UR5S5 [R[
5S9nURUR5 URUR55 g)Nc��\rSrSrSrSrg)�<TreeBuilderTest.test_dummy_builder.<locals>.BaseDummyBuilderi.c��g)Nr�rr	s rrM�BTreeBuilderTest.test_dummy_builder.<locals>.BaseDummyBuilder.close/s��rrNrrrr�BaseDummyBuilderr^.s��
rrac�"�\rSrSrS=r=rrSrg)�8TreeBuilderTest.test_dummy_builder.<locals>.DummyBuilderi2c��grr)r�s rr�ATreeBuilderTest.test_dummy_builder.<locals>.DummyBuilder.<lambda>3s��DrrN)rUrVrWrXr=rorvrYrrr�DummyBuilderrc2s��!0�0�D�0�5�3rrfrDr�)rrJrL�sample1r�rMr#r�)rIrarfrQs    r�test_dummy_builder�"TreeBuilderTest.test_dummy_builder-s���	�	�	1�+�	1����\�^��4�����D�L�L�!���������,����%5�%7��8�����D�L�L�!���������,����V�X��.�����D�L�L�!����&�,�,�.�)rc��[R5nURURS5R[R
5 URURS5RS5 [R[R
S9nURURS5R[R
5 URURS5RS5 [R[S9nURURS5[S55 g)N�ctext)�comment_factory)rrNr�rdrkrfr�r��rIr�s  r�test_treebuilder_comment�(TreeBuilderTest.test_treebuilder_commentAs����N�N���������7�+�/�/����<�������7�+�0�0�'�:��N�N�2�:�:�N�6��������7�+�/�/����<�������7�+�0�0�'�:��N�N�3�N�/��������7�+�S��\�:rc��[R5nURURSS5R[R
5 URURSS5RS5 [R[R
S9nURURS5R[R
5 URURS5RS5 URURSS5R[R
5 URURSS5RS5 [RSS9nURURS5[S5S45 URURSS5[S5S45 g)NrE)�
pi_factoryruz text zpitarget  text c��[U5U4$r)r�)rEr�s  rr�5TreeBuilderTest.test_treebuilder_pi.<locals>.<lambda>Xs
��C��K��;Nr)rrNr�r�rkr�r�r�rms  r�test_treebuilder_pi�#TreeBuilderTest.test_treebuilder_piMsE���N�N���������h��-�1�1�2�5�5�9�������h��-�2�2�H�=��N�N�b�e�e�N�,��������h��+�+�R�U�U�3�������h��,�,�h�7�������j�(�3�7�7����?�������j�(�3�8�8�:K�L��N�N�&N�N�O��������h��#�h�-��)>�?�������j�(�3�c�*�o�x�5P�Qrc�Z�"SS[R5nSn[RU5nURURS5 [RU"5S9nUR
U5 UR5nURURS5 Sn[RU5nURURS5 Sn[RU"5S9nUR
U5 UR5nURURS5 g)Nc��\rSrSrSrg)�;TreeBuilderTest.test_late_tail.<locals>.TreeBuilderSubclassi^rNr�rrr�TreeBuilderSubclassrx^r�rryz<a>text<!-- comment -->tail</a>�texttailrDz<a>text<?pi data?>tail</a>)rrNr�r�r�rJrLrM)rIryrr�rQs     r�test_late_tail�TreeBuilderTest.test_late_tail\s���	�"�.�.�	�0���M�M�#����������,����%8�%:��;�����C���L�L�N���������,�*���M�M�#����������,�*�����%8�%:��;�����C���L�L�N���������,rc��"SS[R5nSn[R[RSS9S9nURU5 UR	5nURUSRS5 URUSRS	5 URURS
5 [RU"SS9S9nURU5 UR	5nURUSRS5 URUSRS	5 URURS
5 Sn[R[RSS9S9nURU5 UR	5nURUSRS
5 URUSRS5 URURS5 [RU"SS9S9nURU5 UR	5nURUSRS
5 URUSRS5 URURS5 g)Nc��\rSrSrSrg)�KTreeBuilderTest.test_late_tail_mix_pi_comments.<locals>.TreeBuilderSubclassiwrNr�rrrryrwr�rryz/<a>text<?pi1?> <!-- comment -->
<?pi2?>tail</a>T)�insert_commentsrDrr�z
tailztext z+<a>text<!-- comment -->
<?pi data?>tail</a>)�
insert_piszpi datar�ztext
)rrNrJrLrMr�r�r�)rIryrrQr�s     r�test_late_tail_mix_pi_comments�.TreeBuilderTest.test_late_tail_mix_pi_commentsts���	�"�.�.�	�A�����R�^�^�D�^�%I��J�����C���L�L�N������1����K�0�����1����H�-��������)����%8��%N��O�����C���L�L�N������1����K�0�����1����H�-��������)�<�����R�^�^�t�^�%D��E�����C���L�L�N������1����I�.�����1����F�+��������*����%8�D�%I��J�����C���L�L�N������1����I�.�����1����F�+��������*rc���[R[RSS9S9nURUR5 UR5nUR
U5 g�Nr�rD)rrJrNrLrgrMrZ�rIrQrs   r�$test_treebuilder_elementfactory_none�4TreeBuilderTest.test_treebuilder_elementfactory_none�sF�����R�^�^�D�^�%I��J�����D�L�L�!��L�L�N���#�#�A�&rc�$�"SS[R5nU"5nURURS5S5 [R	US9nURUR5 UR5nURU5 g)Nc��\rSrSrSrSrg)�4TreeBuilderTest.test_subclass.<locals>.MyTreeBuilderi�c��US-$�Nrrr�s  rr��;TreeBuilderTest.test_subclass.<locals>.MyTreeBuilder.foobar�����1�u�rrN�rUrVrWrXr�rYrrr�
MyTreeBuilderr�����
rr�rrrD)	rrNr�r�rJrLrgrMrZ�rIr��tbrQrs     r�
test_subclass�TreeBuilderTest.test_subclass�sl��	�B�N�N�	��_��������2���+����R��(�����D�L�L�!��L�L�N���#�#�A�&rc�~�"SS[R5nU"[R[RS9nUR	URS5S5 [R
US9nURUR5 URS5 UR5nURU5 g)Nc��\rSrSrSrSrg)�?TreeBuilderTest.test_subclass_comment_pi.<locals>.MyTreeBuilderi�c��US-$r�rr�s  rr��FTreeBuilderTest.test_subclass_comment_pi.<locals>.MyTreeBuilder.foobar�r�rrNr�rrrr�r��r�rr�)rlrqrrrDz<!-- a comment--><?and a pi?>)rrNrfr�r�r�rJrLrgrMrZr�s     r�test_subclass_comment_pi�(TreeBuilderTest.test_subclass_comment_pi�s���	�B�N�N�	��2�:�:�"�%�%�
H��������2���+����R��(�����D�L�L�!����3�4��L�L�N���#�#�A�&rc��^�/mU4Sjn[RUS9n[RUS9nURUR5 UR5 UR
TS/5 g)Nc�P>�TRU5 [RX5$r)r�rr�)rkr��lsts  �r�	myfactory�7TreeBuilderTest.test_element_factory.<locals>.myfactory�s����J�J�s�O��:�:�c�*�*rr�rD�toplevel)rrNrJrL�sample2rMr�)rIr�r�rQr�s    @r�test_element_factory�$TreeBuilderTest.test_element_factory�sZ�����	+�
�^�^�I�^�
6�����R��(�����D�L�L�!���������z�l�+rc���[RUS9n[RUS9nURUR5 UR5nUR
XA5 URU5 gr�)rrNrJrLrgrMr�rZ)rIr$r�rQrs     r�_check_element_factory_class�,TreeBuilderTest._check_element_factory_class�sY��
�^�^�C�^�
0�����R��(�����D�L�L�!��L�L�N�����a�%��#�#�A�&rc�X�"SS[R5nURU5 g)Nc��\rSrSrSrg)�@TreeBuilderTest.test_element_factory_subclass.<locals>.MyElementi�rNr�rrrr�r��r�rr�)rr�r�)rIr�s  r�test_element_factory_subclass�-TreeBuilderTest.test_element_factory_subclass�s ��	��
�
�	��)�)�)�4rc��[RnURURS5 "SSU[5nURU5 g)NrMc��\rSrSrSrg)�LTreeBuilderTest.test_element_factory_pure_python_subclass.<locals>.MyElementi�rNr�rrrr�r��r�rr�)r�_Element_Pyr�rVrr�)rI�baser�s   r�)test_element_factory_pure_python_subclass�9TreeBuilderTest.test_element_factory_pure_python_subclass�s>���~�~��������*A�B�	��j�	��)�)�)�4rc��"SS5n[RU"5S9nURUR5 UR	UR5S5 g)Nc�$�\rSrSrSrSrSrSrg)�3TreeBuilderTest.test_doctype.<locals>.DoctypeParseri�Nc��XU4Ulgr��_doctype)rIr��pubid�systems    r�doctype�;TreeBuilderTest.test_doctype.<locals>.DoctypeParser.doctype�s��!%�f� 5��
rc��UR$rr�r	s rrM�9TreeBuilderTest.test_doctype.<locals>.DoctypeParser.close�s���}�}�$rr�)rUrVrWrXr�r�rMrYrrr�
DoctypeParserr��s���H�
6�
%rr�rD�rcz&-//W3C//DTD XHTML 1.0 Transitional//ENz7http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)rrJrLrgr�rM)rIr�rQs   r�test_doctype�TreeBuilderTest.test_doctype�sM��	%�	%����]�_��5�����D�L�L�!��������
H�	Irc���"SS5n[RU"5S9 SH;nUR[U5 [RU"U5S9 SSS5 M= [RU"[S9S9 SHYn[RU"U[S9S9nURUR5 URUR55 M[ g!,(df   M�=f)Nc�(�\rSrSrS\4SjrSrSrg)�BTreeBuilderTest.test_builder_lookup_errors.<locals>.RaisingBuilderi�Nc��XlX lgr��raise_in�what)rIr�r�s   rr|�KTreeBuilderTest.test_builder_lookup_errors.<locals>.RaisingBuilder.__init__�s�� (�
� �	rc�`�XR:XaURUR5eSnU$)Nc��grr)r,s r�handle�^TreeBuilderTest.test_builder_lookup_errors.<locals>.RaisingBuilder.__getattr__.<locals>.handle�s��rr�)rIr�r�s   r�__getattr__�NTreeBuilderTest.test_builder_lookup_errors.<locals>.RaisingBuilder.__getattr__�s)���=�=�(��)�)�D�M�M�2�2���
rr�)rUrVrWrXrr|r�rYrrr�RaisingBuilderr��s��(,�:�
!�
rr�rD)ror=rvrdr�)r�)	rrJr�rr�rLrgr�rM)rIr�r'rQs    r�test_builder_lookup_errors�*TreeBuilderTest.test_builder_lookup_errors�s���
	�
	�	���N�,��-�>�E��'�'�
�E�:����N�5�$9��:�;�:�?�	���N��?��@�>�E��\�\���N�)S�\�T�F��K�K����%����f�l�l�n�-�?�	;�:�s�C�
C.	rN)rUrVrWrXrgr�rZrhrnrtr{r�r�r�r�r�r�r�r�r�r�rYrrrrWrWs^��2�G�
2�G�+�*�(
;�
R�-�0"+�H'�'�
'�,�'�5�
5�I�".rrWc�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�
XMLParserTestis<file><line>22</line></file>s�<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>text</html>uX<?xml version="1.0" encoding="iso-8859-1"?>
<money value="$£€𐅻">$£€𐅻</money>c��URURS5 URUSRS5 URUSRS5 g)Nrfr�line�22)r�rkr�rds  r�_check_sample_element�#XMLParserTest._check_sample_elementsF���������'�����1����6�*�����1����D�)rc���[RS[R5S9nURUR5 URUR
55 g)Nr)r\rE)rrJrNrLrgr�rM)rIr�s  r�test_constructor_args�#XMLParserTest.test_constructor_argssE���,�,��&(�n�n�&6��8�����T�\�\�"��"�"�7�=�=�?�3rc��"SS[R5nU"5nURUR5 UR	UR55 g)Nc��\rSrSrSrg)�-XMLParserTest.test_subclass.<locals>.MyParseri$rNr�rrr�MyParserr�$r�rr�)rrJrLrgr�rM)rIr�rQs   rr��XMLParserTest.test_subclass#s=��	�r�|�|�	�������D�L�L�!��"�"�6�<�<�>�2rc��[R"5 [R"S[5 [R5nUR
UR5 UR5 SSS5 g!,(df   g=f)N�error)	�warnings�catch_warnings�simplefilter�DeprecationWarningrrJrLr�rMrNs  r�test_doctype_warning�"XMLParserTest.test_doctype_warning*sO��
�
$�
$�
&��!�!�'�+=�>��\�\�^�F��K�K����%��L�L�N�	'�
&�
&�s�AA:�:
Bc��^^�Sm"U4SjS[R5nU"5nUR[S5 UR	UR
5 SSS5 UR
5 URT5 S=mm[R"5 [R"S[5 [R"S[5 "U4SjS5nU"U"5S9nUR	UR
5 UR
5 URT5 URTS5 SSS5 g!,(df   N�=f!,(df   g=f)	Nc�">�\rSrSrU4SjrSrg)�@XMLParserTest.test_subclass_doctype.<locals>.MyParserWithDoctypei3c�>�X4mgrr)rIr,r-r�s   �rr��HXMLParserTest.test_subclass_doctype.<locals>.MyParserWithDoctype.doctype4s
��� �>�rrN�rUrVrWrXr�rYr�s�r�MyParserWithDoctyper�3s
���
*�
*rr�r�r�c�">�\rSrSrU4SjrSrg)�:XMLParserTest.test_subclass_doctype.<locals>.DoctypeParseriBc�>�XU4mgrr)rIr�r�r��	_doctype2s    �rr��BXMLParserTest.test_subclass_doctype.<locals>.DoctypeParser.doctypeCs
���!%�f� 5�IrrNr�)r�s�rr�r�Bs
���6�6rr�rDr�)
rrJr<�RuntimeWarningrLr�rMr�r�r�r�r�r�)rIr�rQr�r�r�s    @@r�test_subclass_doctype�#XMLParserTest.test_subclass_doctype1s�����	*�"�,�,�	*�
%�&��
�
"�
"�>�9�
=��K�K����%�>��������(�#�#�#��9�
�
$�
$�
&��!�!�'�+=�>��!�!�'�>�:�
6�
6�
)�
��@�F��K�K����%��L�L�N����h�'����Y�L�
M�'�
&�
>�
=��'�
&�s�E�BE�
E�
E!c�d�[R"5 [R"S[5 [R"S[5 "SS[
R5nU"5nURUR5 UR5 SSS5 g!,(df   g=f)Nr�c��\rSrSrSrg)�DXMLParserTest.test_inherited_doctype.<locals>.MyParserWithoutDoctypeiTrNr�rrr�MyParserWithoutDoctyper�Ts��rr)
r�r�r�r�r�rrJrLr�rM)rIrrQs   r�test_inherited_doctype�$XMLParserTest.test_inherited_doctypeOsl��
�
$�
$�
&��!�!�'�+=�>��!�!�'�>�:�
����
�+�-�F��K�K����%��L�L�N�'�
&�
&�s�BB!�!
B/c�R�[R[R5S9nURUR5 UR5nUR
URS5 UR
URSS5 UR
URS5 g)NrD�moneyr�u
$£€𐅻)
rrJrNrL�sample3rMr�rkr�r�r�s   r�test_parse_string�XMLParserTest.test_parse_stringZsw�����R�^�^�%5��6�����D�L�L�!��L�L�N���������(�������'�*�,C�D�������!8�9rrN)rUrVrWrXrgr�rr�r�r�r�r�rrrYrrrr�r�s:��-�G��G�M�G�*�
4�3��M�<	�:rr�c��\rSrSrSrSrg)�NamespaceParseTesticc�B�SSS.n[R[5nUR[	URSU55S5 UR[	URSU55S5 UR[	URSU55S5 g)	N�hellor")�hrPz{hello}tabler�z.//{hello}tdrz.//{foo}name)rr��SAMPLE_XML_NS_ELEMSr�r�r�)rIr0r�s   r�test_find_with_namespace�+NamespaceParseTest.test_find_with_namespaceds{���E�*���m�m�/�0������S�[�[���?�@�!�D�����S�[�[���?�@�!�D�����S�[�[���?�@�!�DrrN)rUrVrWrXrrYrrrr	r	cs��Err	c�b�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrg)�ElementSlicingTestimc�D�UVs/sHo"RPM sn$s snfrrj)rI�elemlistrs   r�
_elem_tags�ElementSlicingTest._elem_tagsns��'�(�x�!���x�(�(��(rnc�6�UR[U55$r)rr�rgs  r�
_subelem_tags� ElementSlicingTest._subelem_tagsqs�����t�D�z�*�*rc��[RS5n[U5Hn[RUSU-5 M U$)Nr�za%s)rr�rre)rI�numchildrenrrs    r�_make_elem_with_children�+ElementSlicingTest._make_elem_with_childrents7��

�J�J�s�O���{�#�A��M�M�!�U�Q�Y�'�$��rc�^�URS5mURTSRS5 URTSRS5 UR[U4Sj5 UR[U4Sj5 g)Nrr��a1����a8c�>�TS$)N�rrAs�rr�?ElementSlicingTest.test_getslice_single_index.<locals>.<lambda>�s	���a��erc�>�TS$)Ni�rrAs�rrr#�s	���a��fr)rr�rkr��
IndexErrorrds @r�test_getslice_single_index�-ElementSlicingTest.test_getslice_single_index~sc����)�)�"�-������1����4�(�����2����D�)����*�m�4����*�n�5rc���URS5nURURUSS5/SQ5 URURUSS5/SQ5 URURUSS5/SQ5 URURUSS5SS/5 URURUSS5SS/5 URURUSS	5S
S/5 g)Nr�r�)�a3�a4�a5�rAr)r*r�r�a0r)rr�rrds  r�test_getslice_range�&ElementSlicingTest.test_getslice_range�s����)�)�!�,���������1�2��/�1C�D��������1�Q��0�2D�E��������1�R��1�3E�F��������1�Q��0�4��,�?��������1�R��1�D�$�<�@��������2�A��/�$���>rc	�L�URS5nURURUSSS25SS/5 URURUSSS25/SQ5 URURUSSS25SS/5 URURUSSS25S	S/5 URURUSS[R25S
/5 URURUSS[RS-25S
/5 g)Nr�r�r �a9r�)r-r)�a6r2r-rr)�@�rr�rry�maxsizerds  r�test_getslice_steps�&ElementSlicingTest.test_getslice_steps�s���)�)�"�-���������1�R��6��3�d�D�\�B��������3�Q�3��0�2J�K��������3�Q�3��0�4��,�?��������1�4�a�4��1�D�$�<�@��������1�>�c�k�k�>�):�;�d�V�D��������1�+=�c�k�k�2�o�+=�)>�?�$��Hrc	� �URS5nURURUSSS25/SQ5 URURUSSS25SS/5 URURUSS[R*25S/5 URURUSS[R*S-
25S/5 URURUSS[R*S	-25S/5 g)
Nrr�)r)�a2rr-rr)rr�r�r4r5rds  r�test_getslice_negative_steps�/ElementSlicingTest.test_getslice_negative_steps�s����)�)�!�,���������4�R�4��1�3K�L��������4�R�4��1�D�$�<�@��������1�?�s�{�{�l�?�);�<�t�f�E��������1�+<�s�{�{�l�1�n�+<�)=�>���G��������1�+>�s�{�{�l�B�.>�+>�)?�@�4�&�Irc��URS5nUSS2	URURU5SS/5 URS5nUSS2	URURU5/5 URS5nUSSS2	URURU5/5 URS5nUSSS2	URURU5SS/5 URS5nUS	SS2	URURU5SS/5 URS5nUSSS2	URURU5S
/5 g)Nrrrr:r)r�rr-r�r)rr�rrds  r�
test_delslice� ElementSlicingTest.test_delslice�sT���)�)�!�,��
�a��c�F�����+�+�A�.��t��=��)�)�!�,��
�a�b�E�����+�+�A�.��3��)�)�!�,��
�d��d�G�����+�+�A�.��3��)�)�!�,��
�d��d�G�����+�+�A�.��t��=��)�)�!�,��
�a�d��d�G�����+�+�A�.��t��=��)�)�!�,��
�c��c�F�����+�+�A�.���7rc�t�URS5n[RS5US'URUR	U5/SQ5 [RS5US'URUR	U5/SQ5 UR[5 [RS5US	'SSS5 UR[5 [RS5US
'SSS5 URUR	U5/SQ5 g!,(df   Nh=f!,(df   NC=f)Nrr�r��r-r�r:r)r�r)r-r�r�r)r�rA���)rrr�r�rr�r%rds  r�test_setslice_single_index�-ElementSlicingTest.test_setslice_single_index�s����)�)�!�,���z�z�#���!������+�+�A�.�0G�H��
�
�3���"������+�+�A�.�0F�G�
�
�
�z�
*��:�:�c�?�A�a�D�+�
�
�
�z�
*��J�J�s�O�A�b�E�+�����+�+�A�.�0F�G�	+�
*��
*�
*�s�D�D)�
D&�)
D7c�V�URS5n[S5Vs/sHn[RSU-5PM snUSS&UR	URU5/SQ5 URS5n[RS5/USS&UR	URU5/SQ5 URS5n[S5Vs/sHn[RSU-5PM snUSS&UR	URU5/S	Q5 gs snfs snf)
Nrr�b%sr�r�)r-�b0�b1r)r�)r-r�r))r-rGrH�b2r))rrrr�r�r�rIrrs   r�test_setslice_range�&ElementSlicingTest.test_setslice_range�s����)�)�!�,��16�q��:��A�"�*�*�U�Q�Y�'��:��!�A������+�+�A�.�0H�I��)�)�!�,���*�*�S�/�"��!�A������+�+�A�.�0A�B��)�)�!�,��16�q��:��A�"�*�*�U�Q�Y�'��:��!�A������+�+�A�.�0N�O��;��;s�"D!�"D&c��URS5n[S5Vs/sHn[RSU-5PM snUSSS2'UR	URU5/SQ5 URS5nUR
[5 [RS5/USSS2'SSS5 UR
[5 [S5Vs/sHn[RSU-5PM snUSSS2'SSS5 UR
[5 /USSS2'SSS5 UR	URU5/S	Q5 URS
5n[RS5/USS[R2'UR	URU5/SQ5 [RS5/USS[RS
-2'UR	URU5/SQ5 gs snf!,(df   GNb=fs snf!,(df   GN#=f!,(df   GN=f)Nr�rrFr�rA)r-rGr:rHr*r+r�r�)r-rr:r)r*r+rrAr�r4�r-r�r:r)�
rrrr�r�rr�rryr6rJs   r�test_setslice_steps�&ElementSlicingTest.test_setslice_steps�s����)�)�!�,��38��8�<�8�a�B�J�J�u�q�y�)�8�<��!�A�a�%������+�+�A�.�0T�U��)�)�!�,��
�
�
�z�
*��
�
�3��(�A�a��!�e�H�+�
�
�
�z�
*�7<�Q�x�@�x�!��
�
�5�1�9�-�x�@�A�a��!�e�H�+�
�
�
�z�
*��A�a��!�e�H�+�����+�+�A�.�0T�U��)�)�!�,���Z�Z��_�-��!�.�S�[�[�.������+�+�A�.�0G�H�!#���C�� 1��!�
�S�[�[�"�_�
������+�+�A�.�0G�H��!=�+�
*��A�+�
*��
*�
*�s;�"H�H�
H"�"H�=	H"�#	H4�
H�H"�"
H1�4
Ic�2�URS5n[S5Vs/sHn[RSU-5PM snUSSS2'UR	URU5/SQ5 URS5nUR
[5 [RS5/USSS2'SSS5 UR
[5 [S5Vs/sHn[RSU-5PM snUSSS2'SSS5 UR
[5 /USSS2'SSS5 UR	URU5/S	Q5 URS5n[RS5/US
S[R*2'UR	URU5/SQ5 [RS5/US
S[R*S
-
2'UR	URU5/S
Q5 [RS5/US
S[R*S-2'UR	URU5/SQ5 gs snf!,(df   GN�=fs snf!,(df   GNv=f!,(df   GNb=f)NrrrFrr�)r-rHrGr)r�r�)r-rr:r)r�rAr�rNr�r4)r-r�r:r)rOrJs   r�test_setslice_negative_steps�/ElementSlicingTest.test_setslice_negative_steps�s���)�)�!�,��49�!�H�=�H�q�R�Z�Z���	�*�H�=��!�A�b�&�	�����+�+�A�.�0H�I��)�)�!�,��
�
�
�z�
*����C��)�A�a��"�f�I�+�
�
�
�z�
*�8=�a��A��1����E�A�I�.��A�A�a��"�f�I�+�
�
�
�z�
*��A�a��"�f�I�+�����+�+�A�.�0H�I��)�)�!�,�� �j�j��o�.��!�/�c�k�k�\�/������+�+�A�.�0G�H� "�
�
�3��0��!�
�c�k�k�\�!�^�
������+�+�A�.�0G�H�"$�*�*�S�/�!2��!�
�c�k�k�\�2�
�
������+�+�A�.�0G�H��%>�+�
*��B�+�
*��
*�
*�s;�"I�I�
I5�"I0�=	I5�#	J�
I-�0I5�5
J�
Jc�^�[RS5nUR[5 S[	S55USS&SSS5 UR[
5 SUSS&SSS5 SmUR
[
S5 U4Sj[	S55USS&SSS5 g!,(df   Nl=f!,(df   NZ=f!,(df   g=f)Nrkc3�,# �UH
nSS-v� M g7frjrrks  rr��IElementSlicingTest.test_issue123213_setslice_exception.<locals>.<genexpr>s���+�(�Q�Q�q�S�(�rmrr�c��[S5erorqrrrrP�AElementSlicingTest.test_issue123213_setslice_exception.<locals>.f
rsrrpc3�2># �UHnT"5v� M g7frrrus  �rr�rWs����+�(�Q�Q�S�S�(�rv)rr�r�rwrr�r�)rIrrPs  @r�#test_issue123213_setslice_exception�6ElementSlicingTest.test_issue123213_setslice_exceptions�����J�J�u���
�
�
�0�
1�+�%��(�+�A�b�q�E�2��
�
�y�
)��A�b�q�E�*�	)��
#�
#�I�{�
;�+�%��(�+�A�b�q�E�<�
;�2�
1��*�
)��<�
;�s#�B(�B9�C
�(
B6�9
C�

CrN)rUrVrWrXrrrr&r.r7r;r>rCrKrPrSr[rYrrrrrmsI��)�+��6�?�I�J�8�2H�P�I�(I�,,rrc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
r"SS5rSrSrSrSrSrSrSrSrg)�IOTestic	��[RS5nSUlUR[	U5S5 SH]nURU5 UR[	XS9S5 UR[	XR
5S9S5 SSS5 M_ SH�nURU5 UR[	XS9SU-RU55 UR
5nUR[	XS9SU-RU55 SSS5 M� [RS5nS	UlUR[	U5S
5 UR[	USS9S5 UR[	US
S9S5 SH.nUR[	XS9SU-RU55 M0 [RS5nS	URS'UR[	U5S5 UR[	USS9S5 UR[	US
S9S5 SH.nUR[	XS9SU-RU55 M0 [RS5nSUlUR[	U5S5 UR[	USS9S5 UR[	US
S9S5 SH.nUR[	XS9SU-RU55 M0 [RS5nSURS'UR[	U5S5 UR[	USS9S5 UR[	US
S9S5 SH.nUR[	XS9SU-RU55 M0 g!,(df   GM�=f!,(df   GM7=f)NrkrWz<tag>abc</tag>)rrrCs<tag>abc</tag>)rr#�utf-32z2<?xml version='1.0' encoding='%s'?>
<tag>abc</tag>z<&"'>z<tag>&lt;&amp;"'&gt;</tag>rs<tag>&lt;&amp;"'&gt;</tag>rz><?xml version='1.0' encoding='%s'?>
<tag>&lt;&amp;"'&gt;</tag>r�z"<tag key="&lt;&amp;&quot;'&gt;" />s"<tag key="&lt;&amp;&quot;'&gt;" />zF<?xml version='1.0' encoding='%s'?>
<tag key="&lt;&amp;&quot;'&gt;" />uåöö<>u<tag>åöö&lt;&gt;</tag>s<tag>åöö&lt;&gt;</tag>s%<tag>&#229;&#246;&#246;&lt;&gt;</tag>u=<?xml version='1.0' encoding='%s'?>
<tag>åöö&lt;&gt;</tag>u<tag key="åöö&lt;&gt;" />s<tag key="åöö&lt;&gt;" />s(<tag key="&#229;&#246;&#246;&lt;&gt;" />)rr#r%r$r`u@<?xml version='1.0' encoding='%s'?>
<tag key="åöö&lt;&gt;" />)	rr�r�r�rhr�upperr<r�)rIrc�encras    rr_�IOTest.test_encodings����z�z�%� ����	�����4��*:�;�(�C����c�"�� � ��4�!>�)�+�� � ��4�)�)�+�!F�)�+�#�"�)�6�C����c�"�� � ��4�!>�*�,/�0�17����>��	�	���� � ��4�!@�*�,1�2�39�6�#�;�@�#�"�6��z�z�%� ����	�����4��*G�H�����4�'�:�.�	0�����4�*�=�.�	0�5�C����Y�t�:�3�58�9�:@�&��+�
G�6�
�z�z�%� ��&����E������4��*O�P�����4�'�:�6�	8�����4�*�=�6�	8�5�C����Y�t�:�<�>A�B�CI�6�#�;�
P�6�
�z�z�%� ��$��	�����4��*K�L�����4�'�:�>�	@�����4�*�=�8�	:�5�C����Y�t�:�1�36�7�8>��s��
E�6�
�z�z�%� ��-����E������4��*N�O�����4�'�:�A�	C�����4�*�=�;�	=�M�C����Y�t�:�6�8;�<�=C�V�C�[�
J�N�u#�"��#�"�s�AN1�1A'O�1
O	�
O	c�Z�UR[R[5 [R[R
S55nUR[5 [[S5nURUR5S5 SSS5 g!,(df   g=f)N�<site>ø</site>r��<site>&#248;</site>)rrrrrrCr�r`rHr�rI�rIrgrPs   r�test_write_to_filename�IOTest.test_write_to_filenameYsi�����	�(�(�&�1��~�~�b�f�f�%<�=�>���
�
�6��
�&�$�
�1����Q�V�V�X�'A�B� �
�
�s�2!B�
B*c�&�UR[R[5 [R[R
S55nUR[SS9 [[S5nURUR5S5 SSS5 UR[SS9 [[S5nURUR5[S55 SSS5 g!,(df   Ne=f!,(df   g=f)NrerrCr��<site>ø</site>r�:<?xml version='1.0' encoding='ISO-8859-1'?>
<site>�</site>)rrrrrrCr�r`rHr�rIr>rgs   r�$test_write_to_filename_with_encoding�+IOTest.test_write_to_filename_with_encoding`s������	�(�(�&�1��~�~�b�f�f�%<�=�>���
�
�6�G�
�,�
�&�$�
�1����Q�V�V�X�'C�D� �	
�
�
�6�L�
�1�
�&�$�
�1����Q�V�V�X�{�6�(7�
8� �
�	 �
�� �
�s�1!C1�>*D�1
C?�
Dc��UR[R[5 [	[S5nUR
nSSS5 [R"[5 [R[RS55nUR[SS9 [	[S5nURUR5S5 SSS5 g!,(df   N�=f!,(df   g=f)Nr�rer[rCr�rk)rrrrrHr\rrCr�r`r�rI)rIrPr\rgs    r�!test_write_to_filename_as_unicode�(IOTest.test_write_to_filename_as_unicodems������	�(�(�&�1�
�&�#�
�!��z�z�H������ ��~�~�b�f�f�%<�=�>���
�
�6�I�
�.�
�&�$�
�1����Q�V�V�X�'?�@� �
�
�
�� �
�s�
C�0!C+�
C(�+
C9c�V�UR[R[5 [R[R
S55n[[SSS9nURUSS9 URUR5 SSS5 [[S5nURUR5S5 SSS5 [[SSS	S
9nURUSS9 URUR5 SSS5 [[S5nURUR5S5 SSS5 [[SSS9nURUSS9 URUR5 SSS5 [[S5nURUR5S
5 SSS5 g!,(df   GNB=f!,(df   GN=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)Nrer�rrCr[r�rkrW�xmlcharrefreplace)r\�errorsrfrs<site>�</site>�
rrrrrrCr�rHr`r�r�r�rIrgs   r�test_write_to_text_file�IOTest.test_write_to_text_filexs������	�(�(�&�1��~�~�b�f�f�%<�=�>��
�&�#��
0�A��J�J�q�9�J�-����Q�X�X�&�1��&�$�
�1����Q�V�V�X�'C�D� ��&�#��8K�
L�PQ��J�J�q�9�J�-����Q�X�X�&�M��&�$�
�1����Q�V�V�X�(B�C� ��&�#��
5���J�J�q�9�J�-����Q�X�X�&�6��&�$�
�1����Q�V�V�X�'?�@� �
�1�
0�� �
��M�
L�� �
��6�
5�� �
�sH�,G� !G�,G'�!G8�,H	�!H�
G�
G$�'
G5�8
H�	
H�
H(c���UR[R[5 [R[R
S55n[[S5nURU5 URUR5 SSS5 [[S5nURUR5S5 SSS5 g!,(df   NH=f!,(df   g=f)Nrer
r�rfrurgs   r�test_write_to_binary_file� IOTest.test_write_to_binary_file�s������	�(�(�&�1��~�~�b�f�f�%<�=�>��
�&�$�
�1��J�J�q�M����Q�X�X�&� ��&�$�
�1����Q�V�V�X�'A�B� �
� �
�� �
�s�-C�"!C�
C�
C+c��UR[R[5 [R[R
S55n[[S5nURUSS9 URUR5 SSS5 [[S5nURUR5S5 SSS5 [[S5nURUSS9 URUR5 SSS5 [[S5nURUR5S5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nj=f!,(df   g=f)	Nrer
rrCr�rkrrlrurgs   r�'test_write_to_binary_file_with_encoding�.IOTest.test_write_to_binary_file_with_encoding�s�����	�(�(�&�1��~�~�b�f�f�%<�=�>��
�&�$�
�1��J�J�q�7�J�+����Q�X�X�&� ��&�$�
�1����Q�V�V�X�'C�D� ��&�$�
�1��J�J�q�<�J�0����Q�X�X�&� ��&�$�
�1����Q�V�V�X�6�
7� �
� �
�� �
�� �
�� �
�s0�,E�!!E�,E*�!E;�
E�
E'�*
E8�;
F	c�R�UR[R[5 [R[R
S55n[[S5nURUSS9 URUR5 SSS5 [[S5nURUR5SRS55 SSS5 [[SSS9nURUSS9 URUR5 SSS5 [[S5nURUR5SRS55 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Ny=f!,(df   g=f)	Nrer
r#rCr�u7<?xml version='1.0' encoding='utf-16'?>
<site>ø</site>r)�	buffering)rrrrrrCr�rHr`r�r�r�rIr<rgs   r�"test_write_to_binary_file_with_bom�)IOTest.test_write_to_binary_file_with_bom�s/�����	�(�(�&�1��~�~�b�f�f�%<�=�>��
�&�$�
�1��J�J�q�8�J�,����Q�X�X�&� ��&�$�
�1����Q�V�V�X�,�,2�F�8�,<�
>� �
�&�$�!�
,���J�J�q�8�J�,����Q�X�X�&�-��&�$�
�1����Q�V�V�X�,�,2�F�8�,<�
>� �
� �
�� �
��
-�
,�� �
�s0�,E%�!0E6�(,F�,0F�%
E3�6
F�
F�
F&c���[R5n[R"S5nUR	U5 URUR
5RS5 g�Nz"<?xml version="1.0"?><site></site>�site)rrCr]r_rFr�r�rk�rIrgrOs   r�test_read_from_stringio�IOTest.test_read_from_stringio�sE���~�~������E�F���
�
�6���������+�+�V�4rc���[R[RS55n[R"5nURUSS9 UR
UR5S5 g�Nrer[rC)rrCr�r]r_r`r�rar�s   r�test_write_to_stringio�IOTest.test_write_to_stringio�sM���~�~�b�f�f�%<�=�>��������
�
�6�I�
�.�������*�,C�Drc���[R5n[R"S5nUR	U5 URUR
5RS5 g�Ns"<?xml version="1.0"?><site></site>r�)rrCr]r^rFr�r�rk�rIrgras   r�test_read_from_bytesio�IOTest.test_read_from_bytesio�sD���~�~����j�j�B�C���
�
�3���������+�+�V�4rc���[R[RS55n[R"5nURU5 UR
UR5S5 g�Nrerf)rrCr�r]r^r`r�rar�s   r�test_write_to_bytesio�IOTest.test_write_to_bytesio�sG���~�~�b�f�f�%<�=�>���j�j�l���
�
�3���������)C�Drc��\rSrSrSrg)�IOTest.dummyi�rNr�rrr�dummyr��s��rr�c��[R"S5nUR5nURUl[R5nUR
U5 URUR5RS5 gr�)
r]r_r�rIrrCrFr�r�rk)rIrO�readerrgs    r�test_read_from_user_text_reader�&IOTest.test_read_from_user_text_reader�s[�����E�F��������k�k����~�~����
�
�6���������+�+�V�4rc� �[R[RS55n[R"5nUR5nURUlUR
USS9 URUR5S5 gr�)	rrCr�r]r_r�r`r�ra)rIrgrO�writers    r�test_write_to_user_text_writer�%IOTest.test_write_to_user_text_writer�sc���~�~�b�f�f�%<�=�>�������������|�|����
�
�6�I�
�.�������*�,C�Drc�8�[R"S5nUR5nURUl[R5nUR
U5 URUR5RS5 [R5ngr�)
r]r^r�rIrrCrFr�r�rk)rIrar�rgs    r�!test_read_from_user_binary_reader�(IOTest.test_read_from_user_binary_reader�sg���j�j�B�C��������h�h����~�~����
�
�6���������+�+�V�4��~�~��rc�"�[R[RS55n[R"5nUR5nURUlUR
U5 URUR5S5 gr�)	rrCr�r]r^r�r`r�ra�rIrgrar�s    r� test_write_to_user_binary_writer�'IOTest.test_write_to_user_binary_writer�s^���~�~�b�f�f�%<�=�>���j�j�l��������y�y����
�
�6���������)C�Drc�p�[R[RS55n[R"5nUR5nURUlSUlURUlUR
USS9 URUR5SRS55 g)Nz<site />c��gr�rrrrr�BIOTest.test_write_to_user_binary_writer_with_bom.<locals>.<lambda>�s��$rr#rCz0<?xml version='1.0' encoding='utf-16'?>
<site />)rrCr�r]r^r�r`�seekable�tellr�rar<r�s    r�)test_write_to_user_binary_writer_with_bom�0IOTest.test_write_to_user_binary_writer_with_bom�s����~�~�b�f�f�^�4�5���j�j�l��������y�y���&����h�h����
�
�6�H�
�-���������%�v�h�/�	1rc	�R�[RS5nUR[RUS5SR	[RUS555 UR[RUS5SR	[RUS555 g)Nz<tag>foo</tag>r[r�r#r)rr�r�r6rZr[r�s  r�test_tostringlist_invariant�"IOTest.test_tostringlist_invariantsy���}�}�-�.������K�K��i�(��G�G�B�O�O�D�)�4�5�	7�	
����K�K��h�'��H�H�R�_�_�T�8�4�5�	7rc��[RS5nUR[RUS5S5 UR[RUSSS9S5 UR[RUSSS9S5 g)Nz<tag>a<x />b<y></y>c</tag>r[z<tag>a<x />b<y />c</tag>T)�short_empty_elementsFz<tag>a<x></x>b<y></y>c</tag>)rr�r�r6r�s  r�test_short_empty_elements� IOTest.test_short_empty_elementssz���}�}�9�:������K�K��i�(�&�	(�	
����K�K��i�d�K�C�&�	(�	
����K�K��i�e�K�D�*�	,rrN)rUrVrWrXr_rhrmrprvryr|r�r�r�r�r�r�r�r�r�r�r�r�r�rYrrrr^r^sv��CJ�JC�8�	A�A�*C�7�">�(5�E�5�E�
�
�5�E� �E�
1�7�
,rr^c�,�\rSrSrSrSrSrSrSrg)�ParseErrorTestic�T�UR[R5[5 gr)r�rrZr!r	s rr��ParseErrorTest.test_subclasss�����b�m�m�o�{�;rc�v�[RU5 g![RanUsSnA$SnAff=fr)rr�rZ)rIrrs   r�
_get_error�ParseErrorTest._get_errors,��	��M�M�!����}�}�	��H��	�s��8�3�8�8c��URURS5RS5 URURS5RS5 URURS5RS5 g)Nr")r�rz<tag>&foo;</tag>)r�rAzfoobar<)r�r�)r�r��positionr	s r�test_error_position�"ParseErrorTest.test_error_position#s`���������/�8�8�&�A�������);�<�E�E�v�N��������3�<�<�f�Erc��SSKJs Js Jn UR	URS5RURUR5 g)Nrr")	�xml.parsers.expat.errors�parsers�expatrtr�r��code�codes�XML_ERROR_SYNTAX)rI�ERRORSs  r�test_error_code�ParseErrorTest.test_error_code(s9��1�1��������/�4�4����V�4�4�5�	7rrN)	rUrVrWrXr�r�r�r�rYrrrr�r�s��<��F�
7rr�c��\rSrSrSrSrg)�KeywordArgsTesti.c�X�[RS5nURURSS5URSSS95 URUR	SSS5UR	SSSS95 URURSS5URSSS95 UR[
URSS55[
URSSS955 UR[RS5R05 [RS[SSS95[RS[SSS9S9[RS[SS	9SS
9[RSSSS9[RS[SSS9SSS9/nUHCnURURS5 URUR[SSS95 ME [RUSSS
S0S9nURURS
S5 UR[S5 [RSS5 SSS5 UR[S5 [RSSS9 SSS5 g!,(df   NB=f!,(df   g=f)Nz
<a>foo</a>r�)�pathr�)r�r+r��#r")r�r�)r�)r�)r�rr��key1�value1zmust be dict, not strzI'm not a dict)rr�r�r�r�r�r�r�r�r�r~rkrer�r�)rIr��elementsrr&s     r�test_issue14818�KeywordArgsTest.test_issue148181s7���F�F�<� ���������T�*����S�T��:�	<�������C��t�4�����d�t��L�	N�������3��-�������=�	?�����a�j�j��d�3�4��a�j�j�c�d�j�C�D�	F�	
������C��/�/��4��J�J�s�D�c�e�4�5��J�J�s�4�S�U�#;�J�<��J�J�s�D�c�N�u�J�5��J�J�s���J�/��J�J�s�D�c�e�4�3�5�J�I�
���A����Q�U�U�C�(����Q�X�X�t���'?�@���]�]�8�A�;��&�(�9K�]�
L��������6�*�H�5�
�
#�
#�I�/F�
G��J�J�s�,�-�H�
�
#�
#�I�/F�
G��J�J�s�#3�J�4�H�
G�H�
G��
G�
G�s�7J
�,J�

J�
J)rN)rUrVrWrXr�rYrrrr�r�.s��5rr�c�*�\rSrSr\S5rSrSrg)�NoAcceleratorTestiRc�J�[[La[R"S5eg)Nzonly for the Python version)rrr��SkipTestrts rru�NoAcceleratorTest.setUpClassSs ��
�T�>��#�#�$A�B�B�rc���UR[RR[R
5 UR[RR[R
5 gr)r�rr�r|�types�FunctionTyperJr	s r�test_correct_import_pyET�*NoAcceleratorTest.test_correct_import_pyETYsD��	
���d�l�l�3�3�U�5G�5G�H����d�n�n�5�5�u�7I�7I�JrrN)rUrVrWrXr�rur�rYrrrr�r�Rs���C��C�
Krr�c��\rSrSrSrSrg)�BoolTestibc��[RS5nSnUR[U5 [	U5nSSS5 URWS5 [R
US5 UR[U5 [	U5nSSS5 URWS5 g!,(df   Ns=f!,(df   N2=f)Nz<a style="new"></a>z�Testing an element's truth value will always return True in future versions.  Use specific 'len\(elem\)' or 'elem is not None' test instead.Fr�T)rr�r<r��boolr�re)rIrr�r��
new_results     r�test_warning�BoolTest.test_warningcs����M�M�/�0��
N�	��
"�
"�#5�s�
;��!�W�F�<�	
�
�
�f�e�$�	�
�
�a���
�
"�
"�#5�s�
;��a��J�<��
�
�j�$�'�<�
;��<�
;�s�B'�B8�'
B5�8
CrN)rUrVrWrXr�rYrrrr�r�bs��(rr�c�0�[R"U40UD6$r)r�canonicalize)rres  r�c14n_roundtripr�vs�����S�,�G�,�,rc�*�\rSrSrSrSrSrSrSrg)�C14NTestizNc�:�UR[S5S5 UR[S5S5 UR[S5S5 UR[S5S5 UR[S	5S
5 UR[S5S5 UR[S
5S5 UR[S5S5 UR[S5S5 UR[S5S5 UR[S5S5 UR[S5S5 SnUR[U5U5 SnUR[U5U5 SnUR[U5U5 g)Nz<doc/>z<doc></doc>z<doc xmlns='uri'/>z<doc xmlns="uri"></doc>z <prefix:doc xmlns:prefix='uri'/>z,<prefix:doc xmlns:prefix="uri"></prefix:doc>z+<doc xmlns:prefix='uri'><prefix:bar/></doc>z7<doc><prefix:bar xmlns:prefix="uri"></prefix:bar></doc>z�<elem xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' />z
<elem></elem>z*<doc>Hello, world!<!-- Comment 1 --></doc>z<doc>Hello, world!</doc>z<value>&#x32;</value>z<value>2</value>zG<compute><![CDATA[value>"0" && value<"10" ?"valid":"error"]]></compute>zI<compute>value&gt;"0" &amp;&amp; value&lt;"10" ?"valid":"error"</compute>zS<compute expr='value>"0" &amp;&amp; value&lt;"10" ?"valid":"error"'>valid</compute>z{<compute expr="value>&quot;0&quot; &amp;&amp; value&lt;&quot;10&quot; ?&quot;valid&quot;:&quot;error&quot;">valid</compute>z7<norm attr=' &apos;   &#x20;&#13;&#xa;&#9;   &apos; '/>z/<norm attr=" '    &#xD;&#xA;&#x9;   ' "></norm>z6<normNames attr='   A   &#x20;&#13;&#xa;&#9;   B   '/>z=<normNames attr="   A    &#xD;&#xA;&#x9;   B   "></normNames>z7<normId id=' &apos;   &#x20;&#13;&#xa;&#9;   &apos; '/>z1<normId id=" '    &#xD;&#xA;&#x9;   ' "></normId>z5<X xmlns="http://nps/a"><Y targets="abc,xyz"></Y></X>zJ<X xmlns="http://nps/a"><Y xmlns="http://nsp/b" targets="abc,xyz"></Y></X>zN<X xmlns="http://nps/a"><Y xmlns:b="http://nsp/b" b:targets="abc,xyz"></Y></X>)r�r��rIrs  r�test_simple_roundtrip�C14NTest.test_simple_roundtrip�s��������1�=�A�����(<�=�)�	+�����(J�K�:�	<�����(U�V�E�	G�����)M�N��	�	
����(T�U�&�	(�����(?�@��	 �����(q�r�W�	Y�����)B�C�
J�	K�����(a�b�?�	A�����(`�a�K�	M�����(a�b�A�	C�F�������,�c�2�Z�������,�c�2�^�������,�c�2rc	���[R"S5nUR[USS9S5 UR[USS/S9S5 UR[USS/S	9S
5 UR[USS/S/S9S5 UR[USS
S/S	9S5 UR[US
S/S9S5 UR[USSS/S	9S5 UR[USS/S9S5 g)Nz�        <root xmlns:x="http://example.com/x">
            <a x:attr="attrx">
                <b>abtext</b>
            </a>
            <b>btext</b>
            <c>
                <x:d>dtext</x:d>
            </c>
        </root>
        T)�
strip_textz�<root><a xmlns:x="http://example.com/x" x:attr="attrx"><b>abtext</b></a><b>btext</b><c><x:d xmlns:x="http://example.com/x">dtext</x:d></c></root>z{http://example.com/x}attr)r��
exclude_attrszc<root><a><b>abtext</b></a><b>btext</b><c><x:d xmlns:x="http://example.com/x">dtext</x:d></c></root>z{http://example.com/x}d)r��exclude_tagszb<root><a xmlns:x="http://example.com/x" x:attr="attrx"><b>abtext</b></a><b>btext</b><c></c></root>)r�r�r�z4<root><a><b>abtext</b></a><b>btext</b><c></c></root>r�r�zC<root><c><x:d xmlns:x="http://example.com/x">dtext</x:d></c></root>)r�za<root>
    
    
    <c>
        <x:d xmlns:x="http://example.com/x">dtext</x:d>
    </c>
</root>zI<root><a xmlns:x="http://example.com/x" x:attr="attrx"></a><c></c></root>zu<root>
    <a xmlns:x="http://example.com/x" x:attr="attrx">
        
    </a>
    
    <c>
        
    </c>
</root>)r�r�r�r�r�s  r�test_c14n_exclusion�C14NTest.test_c14n_exclusion�sA���o�o�
�

��	
����3�4�0�
�	�	
����3�4�@\�?]�^�
�	�	
����3�4�?X�>Y�Z�
�	�	
����3�4�@\�?]�)B�(C�
E�
�	�	
����3�4�s�C�j�I�
�	�
	
����3�c�3�Z�8�
�	�	
����3�4�?X�Z]�>^�_�
�	�	
����3�.G��-M�N�
�
	rc�l
�[SSS9n[[RRU5n[[R"U55Vs/sH nURS5(dMUSSPM" nnUVs/sHnURS5(dMUPM nnUVVs0sH�nURS5(dMU[RU"U5S-5R5Vs0sHEnURRS5S	UR=(d S
R5U4_MG sn_M� nnnUVVs0sHenUUVs/sHSnURSUS35(dMUR!SS
5S	U;dM:X7UR!SS
5S	4PMU sn_Mg n	nnUR#S[%U	R'5V
Vs/sHn
U
HnUPM M snn
55 S.SjnU	R)5GH�up�U
GH�up�U"U
S5S:HnU"U
S5S:HnU"U
S5S:HnSU
;a�U
SS
R+S5Vs/sH)nSUR-S5SUR-S53PM+ nnU
SS
R+S5Vs/sH)nSUR-S5SUR-S53PM+ nnOS=nnSR	S[U
R)5555nUR/USUS35 US:XaU(dUR1S U35 US!:XaU(dUR1S U35 SU
;a-U
SS
R3S"5bUR1S#U35 U"US-5nUS$:Xar[5U"S%5S&5n[5US&5n[6R8"UR;5R=S'UR;555nSSS5 SSS5 [R?UUUUUUS(9n[5U"US-5S)S*S+9nUR;5nUS,:Xa$UR=S-S
5nUR=S-S
5nSSS5 UR#WU5 SSS5 GM� GM� gs snfs snfs snfs snnfs snfs snnfs snn
fs snfs snf!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   GM=f)/Nzc14n-20rrz.xmlr]�in�c14n�}r�r��out_r^r��c�.�URXS45S$)Nrr)r�)�config�option_namer+s   r�
get_option�+C14NTest.test_xml_c14n2.<locals>.get_options���:�:�k�R�=�9�!�<�<r�IgnoreComments�true�
TrimTextNodes�
PrefixRewrite�
sequential�
QNameAwarez/{http://www.w3.org/2010/xml-c14n2}QualifiedAttr�{�NS�Namez){http://www.w3.org/2010/xml-c14n2}Element�,c3�x# �UH0unup#USU=(d SRSU553v� M2 g7f)�=rc3�\# �UH"oRRS5Sv� M$ g7f)r�r�N)rk�split)r�r�s  rr��4C14NTest.test_xml_c14n2.<locals>.<genexpr>.<genexpr>6s ���/W�h������C�0@��0D�h�s�*,N)rZ)r�r�r�r�s    rr��*C14NTest.test_xml_c14n2.<locals>.<genexpr>5s?���(�3I�/��/�u��f�A�e�W�s�x�x�/W�h�/W�'W�X�Y�3I�s�8:�(�)�
inNsRedeclz2Redeclared namespace handling is not supported in �inNsSuperfluousz.{http://www.w3.org/2010/xml-c14n2}XPathElementz2QName rewriting in XPath text is not supported in �inC14N5z	world.txtr�s&ent2;)�	from_file�
with_commentsr��rewrite_prefixes�qname_aware_tags�qname_aware_attrs�rr�rC�inC14N3z attr="default"r) r
rr:r�rZr7�listdir�endswith�
startswithrrFr�rkrr�r_�rsplitr�r��valuesr�r�r�rr�r�rHr]r^rIr9r�)rI�datadir�	full_path�filename�files�input_files�option�configs�
input_file�tests�output_files�output_filer�r��
keep_commentsr�rr��qattrs�qtags�config_descrrP�entity_filer�r�s                         r�test_xml_c14n2�C14NTest.test_xml_c14n2�s����9�]�;���B�G�G�L�L�'�2�	�/5�b�j�j��6I�/J�/�/J�8��%�%�f�-���#�2��/J��/�&+�
�%*���"�"�4�(�
�U�	�
�"�

�"���"�"�6�*�

�H�!�h�h�y��':�V�'C�D�L�L�N��O�F��
�
� � ��%�b�)�V�[�[�->�B�,E�,E�,G��+P�P�N��
�
"�
	�
�"*�
�*�
�

� %�� %�H��&�&��j�\��';�<�A��O�O�C��+�B�/�7�:�A��8�?�?�3��#:�2�#>�?�@� %��
�*�	�
�	
����S�,1�L�L�N�"-�,:�L�+��
�+�
�N�"-�.�	/�	=�).���
�$�J�'3�#�� *��,�!.�17�!8�
�'��O�-�06�7�
�#-��O�$-�0<�$=� ��6�)�#)��"6�q�"9�"A�"A�M�#O��#O�B��R�V�V�D�\�N�"�R�V�V�F�^�,<�=�#O���#)��"6�q�"9�"A�"A�G�#I��#I�B��R�V�V�D�\�N�"�R�V�V�F�^�,<�=�#I���E�&*�)�E�F� #�x�x�(�39�&�,�,�.�3I�(� ��
�\�\�[�M��<�.��"B�C�!�\�1�:J��
�
�P�Q\�P]�^�`�!�%6�6�?O��
�
�P�Q\�P]�^�`�#�v�-�&��2F�q�2I�2N�2N�L�3N�UY�3Z��
�
�P�Q\�P]�^�`�"�*�v�"5�6�A�!�Y�.�!�)�K�"8�$�?�;�!%�a���!�$&�J�J�q�v�v�x�/?�/?�	�;�K[�K[�K]�/^�$_��"/�@��?�?�"#�&3�#-�)9�).�&�+�J�D��i��f�(<�=�s�V�T�XY�#$�6�6�8��%��2�'/�'7�'7�8I�2�'N�H�#'�<�<�0A�2�#F�D�U��$�$�X�t�4�AD�C�7(4�)6��E/��
��
��
����
��"-�� ��
�<"/���@�?��U�T��5D�C�s��S�.	S�=S�S�(S�/S�5AS
�S�S�S�=S�S�5S�#S �+0S&�60S+�3BT#�
T	�AS0�T	�$4T#�;T	�T#�
S�S�0
S>�:T	�
T
�T#�
T 
�T#�#
T3r)	rUrVrWrX�maxDiffr�r�r0rYrrrr�r�zs���G�
&3�PG�`b5rr�c��[SS/S9qUc[nUqSn[R"U5 SSKJn [RRnUR5n[R"URU5 [R"UR5 URn[R"[USU5 UR5Ul[[S5(aX[R[R [R"5n[R"[R/UQ76 gg)	NrMrN)�blockedc��S=qqgrrrrr�cleanup�setUpModule.<locals>.cleanupks�����TrrrFr�_set_factories)rrrr��addModuleCleanuprHrGr�_namespace_mapr#r�r�r�setattrr�r8rfr�)�moduler6rGr0�
nsmap_copyr��
old_factoriess       r�setUpModuler?^s����6�(6�'7�9�D�
�~���
�B��
���g�&�&��!�!�0�0�E�����J����e�l�l�J�7����e�k�k�*��#�#�J����g�{�H�j�I�#���*�K���r�#�$�$��)�)�"�*�*�b�e�e�<�
��!�!�"�"3�"3�D�m�D�%r�__main__)Tr[r)\r#r2rcr]r�r�r:rzr�ryr�r�r��
unittest.mockr!r�r��
contextlibrrrrr/r�test.supportrr	r
rrr
�test.support.import_helperr�test.support.os_helperrrrrr<�UnicodeEncodeErrorr�rGr^rrrrr
rmrnr�rr&r6r>�TestCaser@rhrmrpr�r�rr��format�escaper�r�r�r|r�r�r�r�r�r�r�rrArWr�r	rr^r�r�r�r�r�r�r?rU�mainrrr�<module>rKs�����	���	�
��
�������"��%��"�(�C�C�:�)���	���,�}�=��A����'�"��_�]�C���3�M�J���
����
���"�
������E�#(��4�
L��"�"�
L��&�=�=�@zP�h�'�'�zP�z!a�H�%�%�a�Hn9��)�)�n9�f	��������	������!����������������������F�4�;�;�~�t�,�-�
	���	'��	"�#�����X����X����	����	����	��p7�8�$�$�p7�lm?�x� � �m?�hB4���(9�(9�B4�J@7�_�h�&7�&7�@7�F
��
�
�s�
��S��E��(�*;�*;�E�P5.�(�+�+�5.�pv:�h�'�'�v:�r\(�h�'�'�\(�~t.�h�'�'�t.�nQ:�H�%�%�Q:�hE��*�*�E�d,��*�*�d,�LC,�X�
�
�C,�L7�X�&�&�7�* 5�h�'�'� 5�HK��)�)�K� (�x� � �(�(-�`5�x� � �`5�H"E�J�z���M�M�O���kR�A�
�
�
�?�
@�@�A�s�
M�M7

Youez - 2016 - github.com/yon3zu
LinuXploit