Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_sax.cpython-310.pyc
o

�9j��	@sJddlmZmZmZmZmZddlZddlmZze�Wney)e�d��wddl	m
Z
mZmZm
Z
mZmZddlmZddlmZmZmZddlmZmZmZdd	lmZmZddlZddlZddl Z ddl!Z!dd
l"m#Z#ddl$Z%ddl&m'Z'ddl&m(Z(dd
l)m*Z*m+Z+e(ddd�Z,e(ddd�Z-ze,�.d�e-�.d�Wne/y�e�d��wdZ0ej1j2s�z
e'j3�.e!�4��Wn
e5e6fy�dZ0Ynwe�7e0d�Z8dZ9Gdd�dej:�Z;dDdd�Z<dEdd�Z=dEdd �Z>Gd!d"�d"ej:�Z?Gd#d$�d$ej:�Z@Gd%d&�d&ej:�ZAGd'd(�d(ej:�ZBGd)d*�d*�ZCGd+d,�d,eCej:�ZDGd-d.�d.eCej:�ZEGd/d0�d0eE�ZFGd1d2�d2eCej:�ZGGd3d4�d4eCej:�ZHd5ZIGd6d7�d7ej:�ZJeKe-d8��ZLeL�M�ZNWd�n	1�shwYGd9d:�d:e;�ZOGd;d<�d<ej:�ZPGd=d>�d>e;�ZQGd?d@�d@ej:�ZRGdAdB�dBej:�ZSeTdCk�r�e�U�dSdS)F�)�make_parser�ContentHandler�SAXException�SAXReaderNotAvailable�SAXParseExceptionN)�mockzno XML parsers available)�XMLGenerator�escape�unescape�	quoteattr�
XMLFilterBase�prepare_input_source)�
create_parser)�feature_namespaces�feature_external_ges�LexicalHandler)�InputSource�AttributesImpl�AttributesNSImpl)�BytesIO�StringIO)�URLError)�	os_helper)�findfile)�FakePath�TESTFNztest.xml�xmltestdata)�subdirztest.xml.out�utf-8z!filename is not encodable to utf8TFz$Requires non-ascii filenames supportz%http://www.python.org/xml-ns/saxtest/c@�$eZdZdd�Zdd�Zdd�ZdS)�XmlTestBasecCs|�t|jd�|�t|jd�|�t|jd�|�t|jd�|�t|jd�|�|��d�|�|�	�g�|�|�
�g�|�t|�d�|�d|�|�t
|���g�|�|�d�d�|�|�dd�d�|�t
|���g�|�t
|���g�dS)N�attrr�attrs�)�assertRaises�KeyError�getValue�getValueByQName�getNameByQName�getQNameByName�__getitem__�assertEqual�	getLength�getNames�	getQNames�len�assertNotIn�list�keys�get�items�values��selfr"�r8�$/usr/lib/python3.10/test/test_sax.py�verify_empty_attrs6szXmlTestBase.verify_empty_attrscCs|�t|jtdf�|�t|jd�|�t|jd�|�t|jtdf�|�t|jtdf�|�|�	�d�|�|�
�g�|�|��g�|�t|�d�|�
tdf|�|�t|���g�|�|�tdf�d�|�|�tdfd�d�|�t|���g�|�t|���g�dS)Nr!�ns:attrrr#)r$r%r&�ns_urir'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r8r8r9�verify_empty_nsattrsGsz XmlTestBase.verify_empty_nsattrscCs|�|��d�|�|��dg�|�|��dg�|�t|�d�|�d|�|�t|���dg�|�|�d�d�|�|�dd�d�|�t|�	��dg�|�t|�
��dg�|�|�d�d�|�|�d�d�|�|�
d�d�|�|dd�|�|�d�d�dS)N�r!�valr#)r!r?)r+r,r-r.r/�assertInr1r2r3r4r5r&r'r(r)r6r8r8r9�verify_attrs_wattrXszXmlTestBase.verify_attrs_wattrN)�__name__�
__module__�__qualname__r:r=rAr8r8r8r9r 5sr cCs|dur|Sd||fS�N�&<?xml version="1.0" encoding="%s"?>
%sr8)�doc�encodingr8r8r9�xml_strjsrI.cCs|dur|}t||��|d�S)N.�xmlcharrefreplace)rI�encode)rGrH�
decl_encodingr8r8r9�	xml_bytesosrMcCsR|dur|}ttd|dd��}|�t||��Wd�dS1s"wYdS)N.�wrJ)rH�errors)�openr�writerI)rGrHrL�fr8r8r9�
make_xml_filets
"�rSc@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�	ParseTestu,<money value="$£€𐅻">$£€𐅻</money>cCst�t�dS�N)r�unlinkr�r7r8r8r9�tearDown~szParseTest.tearDowncC�>ddlm}t�}||t|d��|�|��t|jd��dS)Nr)�parser)�xml.saxrZrrr+�getvaluerI�data)r7rRrZ�resultr8r8r9�check_parse��zParseTest.check_parsec	Cs�d}|D]Z}|�tt|j|���t|j|�ttd|d��
}|�|�Wd�n1s.wY|�t|j��t|j|d�ttd|d��
}|�|�Wd�n1sYwYqdS)N��us-ascii�
iso-8859-1r�utf-16�utf-16le�utf-16be�r�rH)r_rrIr]rSrPr�r7�	encodingsrHrRr8r8r9�test_parse_text�s����zParseTest.test_parse_textc	Cs�d}|D]d}|�tt|j|���t|j|�|�t�ttd��
}|�|�Wd�n1s1wY|�tt|j|d���t|j|d�|�t�ttd��
}|�|�Wd�n1scwYq|�tt|jdd���t|jdd�|�t�ttd��
}|�|�Wd�n1s�wY|�tt|jdd���t|jdd�|�t�ttd��
}|�|�Wd�n1s�wY|�tt|jd���t|jd�|�t�ttd��
}|�|�Wd�n1s�wY|�t��|�tt|jdd���Wd�n	1�swYt|jdd�|�t��
|�t�Wd�n	1�s<wYttd��,}|�t��
|�|�Wd�n1�s]wYWd�dSWd�dS1�svwYdS)N�rbrrdrerf�rb�	utf-8-sigrrc)	r_rrMr]rSrrPr$rrir8r8r9�test_parse_bytes�s^
�
��
�
�
��� ��$�zParseTest.test_parse_bytescCs t|jdd�|�tt��dS)Nr)rSr]r_rrrWr8r8r9�test_parse_path_object�sz ParseTest.test_parse_path_objectcCsbt|jdd�ttd��}t�}|�|�|�d�|�|�Wd�dS1s*wYdS)Nrcrm)rSr]rPrr�
setByteStream�setEncodingr_)r7rR�inputr8r8r9�test_parse_InputSource�s

"�z ParseTest.test_parse_InputSourcec	s�t�d���fdd�}tjd|d��0t|jdd�|�t��
|�t�Wd�n1s/wY|�	�j
�Wd�dS1sEwYdS)Ncs�|���SrUr8)�args��builtin_open�fileobjr8r9�	mock_open�sz4ParseTest.test_parse_close_source.<locals>.mock_openzxml.sax.saxutils.open)�side_effectrc)rPr�patchrSr]r$rr_r�
assertTrue�closed)r7ryr8rvr9�test_parse_close_source�s�"�z!ParseTest.test_parse_close_sourcecCrY)Nr)�parseStringr)r[rrrr+r\rIr])r7�srr^r8r8r9�check_parseString�r`zParseTest.check_parseStringcCs0d}|D]}|�t|j|��q|�|j�dS)Nra)r�rIr]�r7rjrHr8r8r9�test_parseString_text�szParseTest.test_parseString_textcCs�d}|D]}|�t|j|��|�t|j|d��q|�t|jdd��|�t|jdd��|�t|jd��|�t��|�t|jdd��Wd�dS1sRwYdS)Nrlrnrrc)r�rMr]r$rr�r8r8r9�test_parseString_bytes�s"�z ParseTest.test_parseString_bytesN)rBrCrDr]rXr_rkrorprtr~r�r�r�r8r8r8r9rT{s
*	rTc@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MakeParserTestcCspddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}dS)Nr�r)r[r)r7r�pr8r8r9�test_make_parser2�s
z MakeParserTest.test_make_parser2cCsHtdg�td�tdh�ttdh��tddi�ttdg��dS)N�module)r��r�	frozenset�iterrWr8r8r9�test_make_parser3	s

z MakeParserTest.test_make_parser3cCs>tg�tt��tt��tt��ti�ttg��dSrU)r�tuple�setr�r�rWr8r8r9�test_make_parser4s


z MakeParserTest.test_make_parser4cCsRtddg�td�tddh�ttddh��tddd��ttddg��dS)N�module1�module2)r�r�r�rWr8r8r9�test_make_parser5sz MakeParserTest.test_make_parser5N)rBrCrDr�r�r�r�r8r8r8r9r��s

	r�c@�leZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�SaxutilsTestcC�|�td�d�dS)N�Donald Duck & Co�Donald Duck &amp; Co�r+r	rWr8r8r9�test_escape_basic.�zSaxutilsTest.test_escape_basiccCr�)N�<Donald Duck & Co>�&lt;Donald Duck &amp; Co&gt;r�rWr8r8r9�test_escape_all1�
�zSaxutilsTest.test_escape_allcC�|�tdddi�d�dS�NuHei på deg�åz&aring;zHei p&aring; degr�rWr8r8r9�test_escape_extra5��zSaxutilsTest.test_escape_extracCr�)Nr�r��r+r
rWr8r8r9�test_unescape_basic:r�z SaxutilsTest.test_unescape_basiccCr�)Nr�r�r�rWr8r8r9�test_unescape_all=r�zSaxutilsTest.test_unescape_allcCr�r�r�rWr8r8r9�test_unescape_extraAr�z SaxutilsTest.test_unescape_extracCs|�tdddi�d�dS)Nz	&amp;foo;z&foo;�splatr�rWr8r8r9�test_unescape_amp_extraEsz$SaxutilsTest.test_unescape_amp_extracCr�)Nr�z"Donald Duck &amp; Co"�r+rrWr8r8r9�test_quoteattr_basicIr�z!SaxutilsTest.test_quoteattr_basiccCr�)NzIncludes "double" quotesz'Includes "double" quotes'r�rWr8r8r9�test_single_quoteattrMr�z"SaxutilsTest.test_single_quoteattrcCr�)NzIncludes 'single' quotesz"Includes 'single' quotes"r�rWr8r8r9�test_double_quoteattrQr�z"SaxutilsTest.test_double_quoteattrcCr�)Nz%Includes 'single' and "double" quotesz1"Includes 'single' and &quot;double&quot; quotes"r�rWr8r8r9�test_single_double_quoteattrUr�z)SaxutilsTest.test_single_double_quoteattrcCstdg�}dS)Nzxml.parsers.no_such_parserr�)r7r�r8r8r9�test_make_parserZszSaxutilsTest.test_make_parserN)rBrCrDr�r�r�r�r�r�r�r�r�r�r�r�r8r8r8r9r�,sr�c@r�)�PrepareInputSourceTestcCsDtj|_t|jd��}|�d�Wd�dS1swYdS)NrNzThis was read from a file.)rr�filerPrQ)r7�tmpr8r8r9�setUpbs"�zPrepareInputSourceTest.setUpcCst�|j�dSrU)rrVr�rWr8r8r9rXgszPrepareInputSourceTest.tearDowncC�td�S�NsThis is a byte stream.)rrWr8r8r9�make_byte_streamj�z'PrepareInputSourceTest.make_byte_streamcCr��NzThis is a character stream.)rrWr8r8r9�make_character_streammr�z,PrepareInputSourceTest.make_character_streamcCs&|�|�|�|��|�|��dSrU)�assertIsNotNoner+�read�close)r7�stream�contentr8r8r9�checkContentps
z#PrepareInputSourceTest.checkContentcC�Bt|j�}|�|���t|�}|�|���|�|��d�dSr�)	rr��setCharacterStreamr�r
�assertIsNone�
getByteStreamr��getCharacterStream�r7�src�prepr8r8r9�test_character_streamvs

�z,PrepareInputSourceTest.test_character_streamcCr�r�)	rr�rqr�r
r�r�r�r�r�r8r8r9�test_byte_streams

�z'PrepareInputSourceTest.test_byte_streamcCs4t|j�}t|�}|�|���|�|��d�dS�NsThis was read from a file.)rr�r
r�r�r�r�r�r8r8r9�test_system_id�s

�z%PrepareInputSourceTest.test_system_idcCs,t|j�}|�|���|�|��d�dSr�)r
r�r�r�r�r��r7r�r8r8r9�test_string�s


�z"PrepareInputSourceTest.test_stringcCs0tt|j��}|�|���|�|��d�dSr�)r
rr�r�r�r�r�r�r8r8r9�test_path_objects�s

�z(PrepareInputSourceTest.test_path_objectscC�.t|���}|�|���|�|��d�dSr�)r
r�r�r�r�r�r�r8r8r9�test_binary_file��

�z'PrepareInputSourceTest.test_binary_filecCr�r�)r
r�r�r�r�r�r�r8r8r9�test_text_file�r�z%PrepareInputSourceTest.test_text_fileN)rBrCrDr�rXr�r�r�r�r�r�r�r�r�r�r8r8r8r9r�`s	
	r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1S)2�
XmlgenTestcCsP|��}t|�}|��|�di�|�d�|��|�|��|�d��dS)NrG�<doc></doc>�	�ioclassr�
startDocument�startElement�
endElement�endDocumentr+r\�xml�r7r^�genr8r8r9�test_xmlgen_basic�s
zXmlgenTest.test_xmlgen_basiccCsT|��}t|dd�}|��|�di�|�d�|��|�|��|�d��dS)NT��short_empty_elementsrG�<doc/>r�r�r8r8r9�test_xmlgen_basic_empty�s
z"XmlgenTest.test_xmlgen_basic_emptycC�Z|��}t|�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NrG�huhei�<doc>huhei</doc>�
r�rr�r��
charactersr�r�r+r\r�r�r8r8r9�test_xmlgen_content��

zXmlgenTest.test_xmlgen_contentcC�^|��}t|dd�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NTr�rGr�r�r�r�r8r8r9�test_xmlgen_content_empty��

z$XmlgenTest.test_xmlgen_content_emptycCs\|��}t|�}|��|�dd�|�di�|�d�|��|�|��|�	d��dS)N�testr]rGz<?test data?><doc></doc>)
r�rr��processingInstructionr�r�r�r+r\r�r�r8r8r9�test_xmlgen_pi�s

�zXmlgenTest.test_xmlgen_picCr�)NrGz<huhei&z<doc>&lt;huhei&amp;</doc>r�r�r8r8r9�test_xmlgen_content_escape�s


�z%XmlgenTest.test_xmlgen_content_escapecCs�|��}t|�}|��|�dddi�|�dddi�|�d�|�dddi�|�d�|�dddi�|�d�|�d�|��|�|��|�d��dS)	NrG�a�"�e�'z'"z

	zK<doc a='"'><e a="'"></e><e a="'&quot;"></e><e a="&#10;&#13;&#9;"></e></doc>r�r�r8r8r9�test_xmlgen_attr_escape�s




�z"XmlgenTest.test_xmlgen_attr_escapecCstd}|D]3}|��}t||d�}|��|�dddi�|�d�|�d�|��|�|��|j	d|d��qdS)N�	ziso-8859-15rrnrdrfrezutf-32zutf-32bezutf-32lerhrGr��€u<doc a="€">€</doc>r��r7rjrHr^r�r8r8r9�test_xmlgen_encodings


��zXmlgenTest.test_xmlgen_encodingcCsf|��}t|dd�}|��|�dddi�|�d�|�d�|��|�|��|j	ddd��dS)N�asciirhrGr�r�z<doc a="&#8364;">&#8364;</doc>r�r�r8r8r9�test_xmlgen_unencodables


�z"XmlgenTest.test_xmlgen_unencodablecCr�)NrG� �<doc> </doc>�
r�rr�r��ignorableWhitespacer�r�r+r\r�r�r8r8r9�test_xmlgen_ignorable,r�z XmlgenTest.test_xmlgen_ignorablecCr�)NTr�rGr�r�rr�r8r8r9�test_xmlgen_ignorable_empty8r�z&XmlgenTest.test_xmlgen_ignorable_emptycCs�d}|D]>}|��}t||d�}|��|�dddi�|�d�|��|�d�|��|�d�|��|�	|�
�|jd|d��qdS)Nr�rhrGr�r�r�u<doc a="€">€ </doc>)r�rr�r�r�rKrr�r�r+r\r�r�r8r8r9�test_xmlgen_encoding_bytesDs

��z%XmlgenTest.test_xmlgen_encoding_bytescCs�|��}t|�}|��|�dt�|�tdfdi�|�ddi�|�dd�|�tdfd�|�d�|��|�	|�
�|�dt��dS)N�ns1rG�ns1:doc�N�udocz/<ns1:doc xmlns:ns1="%s"><udoc></udoc></ns1:doc>�r�rr��startPrefixMappingr<�startElementNS�endElementNS�endPrefixMappingr�r+r\r�r�r8r8r9�test_xmlgen_nsVs
�
�zXmlgenTest.test_xmlgen_nscCs�|��}t|dd�}|��|�dt�|�tdfdi�|�ddi�|�dd�|�tdfd�|�d�|��|�	|�
�|�dt��dS)NTr�rrGrrz)<ns1:doc xmlns:ns1="%s"><udoc/></ns1:doc>r	r�r8r8r9�test_xmlgen_ns_emptyhs
�
�zXmlgenTest.test_xmlgen_ns_emptycCsX|��}t|�}|��|�ddddi�|�dd�|��|�|��|�d��dS)N�Nr�r��N�b�cz
<a b="c"></a>�	r�rr�rrr�r+r\r�r�r8r8r9�test_1463026_1zszXmlgenTest.test_1463026_1cCs\|��}t|dd�}|��|�ddddi�|�dd�|��|�|��|�d��dS)NTr�rr�rrz
<a b="c"/>rr�r8r8r9�test_1463026_1_empty�szXmlgenTest.test_1463026_1_emptycCsj|��}t|�}|��|�dd�|�ddi�|�dd�|�d�|��|�|�	�|�
d��dS)N�qux�rr�r�z<a xmlns="qux"></a>�r�rr�r
rrr
r�r+r\r�r�r8r8r9�test_1463026_2�s
zXmlgenTest.test_1463026_2cCsn|��}t|dd�}|��|�dd�|�ddi�|�dd�|�d�|��|�|�	�|�
d��dS)NTr�rrr�z<a xmlns="qux"/>rr�r8r8r9�test_1463026_2_empty�s
zXmlgenTest.test_1463026_2_emptycCsn|��}t|�}|��|�dd�|�ddddi�|�dd�|�d�|��|�|�	�|�
d��dS)N�myrrr�rrz"<my:a xmlns:my="qux" b="c"></my:a>rr�r8r8r9�test_1463026_3�s

�zXmlgenTest.test_1463026_3cCsr|��}t|dd�}|��|�dd�|�ddddi�|�dd�|�d�|��|�|�	�|�
d	��dS)
NTr�rrrr�rrz<my:a xmlns:my="qux" b="c"/>rr�r8r8r9�test_1463026_3_empty�s

�zXmlgenTest.test_1463026_3_emptycCsXtd�}t�}|�td�|��}t|�}|�|�|�|�|�|�	�|�
d��dS)Nzb<?xml version="1.0"?><a:g1 xmlns:a="http://example.com/ns"><a:g2 xml:lang="en">Hello</a:g2></a:g1>T�M<a:g1 xmlns:a="http://example.com/ns"><a:g2 xml:lang="en">Hello</a:g2></a:g1>)rr�
setFeaturerr�r�setContentHandlerrZr+r\r�)r7�test_xml�parserr^r�r8r8r9�test_5027_1�s�


��zXmlgenTest.test_5027_1cCs�|��}t|�}|��|�dd�|�ddi�ddi}|�dd|�|�d	�|�dd�|�dd�|�d�|��|�	|�
�|�d
��dS)Nr��http://example.com/ns)r%�g1r&)z$http://www.w3.org/XML/1998/namespace�lang�en)r%�g2r)�Hellor)r�rr�r
rr�rr
r�r+r\r�)r7r^r��	lang_attrr8r8r9�test_5027_2�s"


��zXmlgenTest.test_5027_2cCs(|��}dd�}||�|�|j�dS)NcSs t|�}|��|�di�dS)NrG)rr�r�)�outr�r8r8r9�func�sz+XmlgenTest.test_no_close_file.<locals>.func)r��assertFalser})r7r^r.r8r8r9�test_no_close_file�szXmlgenTest.test_no_close_filecCsz|��}t|�}|�dddi�|�d�|�d�|�dddi�|�d�|�|��|�d�t|�d	��d��dS)
N�foor��1.0r*�barrz2.0z+<foo a="1.0">Hello</foo><bar b="2.0"></bar>�)	r�rr�r�r�r+r\r�r/r�r8r8r9�test_xmlgen_fragments



�zXmlgenTest.test_xmlgen_fragmentN)rBrCrDr�r�r�r�r�r�r�r�r�rrrrrrrrrrrr$r,r0r5r8r8r8r9r��s2






	r�c@seZdZeZddd�ZdZdS)�StringXmlgenTestrccCsd||fSrEr8�r7rGrHr8r8r9r��zStringXmlgenTest.xmlN�rc)rBrCrDrr�r�r�r8r8r8r9r6s
r6c@seZdZeZddd�ZdS)�BytesXmlgenTestrccCsd||f�|d�S)NrFrJ�rKr7r8r8r9r��
��zBytesXmlgenTest.xmlNr9)rBrCrDrr�r�r8r8r8r9r:sr:c@seZdZGdd�de�ZdS)�WriterXmlgenTestc@s.eZdZejZdZdd�Zdd�Zdd�Z	dS)	zWriterXmlgenTest.ioclassFcC�dS�NTr8rWr8r8r9�seekable(�z!WriterXmlgenTest.ioclass.seekablecCst|�SrU)r/rWr8r8r9�tell+szWriterXmlgenTest.ioclass.tellcCs
d�|�S)N�)�joinrWr8r8r9r\/�
z!WriterXmlgenTest.ioclass.getvalueN)
rBrCrDr1�appendrQr}r@rBr\r8r8r8r9r�$sr�N)rBrCrDr1r�r8r8r8r9r=#sr=c@seZdZdd�Zddd�ZdS)�StreamWriterXmlgenTestcCs"t�}t�d�|d�}|j|_|S)Nr�rJ)r�codecs�	getwriterr\)r7�raw�writerr8r8r9r�3szStreamWriterXmlgenTest.ioclassrccC�d||f�dd�S�NrFr�rJr;r7r8r8r9r�9r<zStreamWriterXmlgenTest.xmlNr9)rBrCrDr�r�r8r8r8r9rG2srGc@s(eZdZejdZdd�Zddd�ZdS)	�StreamReaderWriterXmlgenTestz-codecscsDtj�jddddd����fdd�}��|��fdd	�}|�_�S)
NrNr�rJr)rHrO�	bufferingcs���t��j�dSrU)r�rrV�fnamer8�r7rKr8r9�cleanupCsz5StreamReaderWriterXmlgenTest.ioclass.<locals>.cleanupcs@���t�jd��}|��Wd�S1swYdS�Nrm)r�rP�namer�)rR)rKr8r9r\Gs$�z6StreamReaderWriterXmlgenTest.ioclass.<locals>.getvalue)rHrPrP�
addCleanupr\)r7rRr\r8rQr9r�@s�
z$StreamReaderWriterXmlgenTest.ioclassrccCrLrMr;r7r8r8r9r�Or<z StreamReaderWriterXmlgenTest.xmlNr9)rBrCrDrrrPr�r�r8r8r8r9rN=s
rNs,<?xml version="1.0" encoding="iso-8859-1"?>
c@�eZdZdd�ZdS)�XMLFilterBaseTestcCspt�}t|�}t�}|�|�|��|�di�|�d�|�d�|�d�|�	�|�
|��td�dS)NrGr�r�s<doc>content </doc>)
rrrr!r�r�r�rr�r�r+r\�start)r7r^r��filterr8r8r9�test_filter_basicWs



z#XMLFilterBaseTest.test_filter_basicN)rBrCrDrZr8r8r8r9rWVsrWrmc@seZdZdd�Zdd�Zedd��Zdd�Zd	d
�ZGdd�d�Z	Gd
d�d�Z
dd�Zdd�Zdd�Z
Gdd�d�Zdd�Zdd�ZGdd�de�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zed)d*��Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zed7d8��Z d9S):�ExpatReaderTestcCsft�}t�}t|�}|�|�ttd��
}|�|�Wd�n1s$wY|�|��t	�dSrS�
rrrr!rP�TEST_XMLFILErZr+r\�xml_test_out�r7r#r^�xmlgenrRr8r8r9�test_expat_binary_filess
�z&ExpatReaderTest.test_expat_binary_filecCsjt�}t�}t|�}|�|�ttddd��
}|�|�Wd�n1s&wY|�|��t	�dS�N�rtrcrhr\r_r8r8r9�test_expat_text_file~s
�z$ExpatReaderTest.test_expat_text_filecCsbtj}t�t|�|�tj|�t�}t�}t	|�}|�
|�|�t|d��|�
|��t�dSrS)r�TESTFN_UNICODE�shutil�copyfiler]rUrVrrrr!rZrPr+r\r^�r7rPr#r^r`r8r8r9�test_expat_binary_file_nonascii�s
z/ExpatReaderTest.test_expat_binary_file_nonasciicCspt�t�}t�}t�}t|�}|�|�t|d��
}|�|�Wd�n1s)wY|�	|�
�t�dSrS)�os�fsencoder]rrrr!rPrZr+r\r^)r7rPr#r^r`rRr8r8r9�!test_expat_binary_file_bytes_name�s

�z1ExpatReaderTest.test_expat_binary_file_bytes_namec	Cs�t�}t�}t|�}|�|�ttd��&}t|��ddd��
}|�|�Wd�n1s.wYWd�n1s=wY|�|�	�t
�dS)NrmF)�closefd)rrrr!rPr]�filenorZr+r\r^)r7r#r^r`rR�f2r8r8r9�test_expat_binary_file_int_name�s
���z/ExpatReaderTest.test_expat_binary_file_int_namec@r)zExpatReaderTest.TestDTDHandlercCsg|_g|_dSrU)�
_notations�	_entitiesrWr8r8r9�__init__��
z'ExpatReaderTest.TestDTDHandler.__init__cCs|j�|||f�dSrU)rqrF)r7rT�publicId�systemIdr8r8r9�notationDecl��z+ExpatReaderTest.TestDTDHandler.notationDeclcCs|j�||||f�dSrU)rrrF)r7rTrurv�ndatar8r8r9�unparsedEntityDecl�sz1ExpatReaderTest.TestDTDHandler.unparsedEntityDeclN)rBrCrDrsrwrzr8r8r8r9�TestDTDHandler�sr{c@�eZdZdd�Zdd�ZdS)z"ExpatReaderTest.TestEntityRecordercCs
g|_dSrU)�entitiesrWr8r8r9rs�rEz+ExpatReaderTest.TestEntityRecorder.__init__cCs.|j�||f�t�}|�|�|�|�|SrU)r}rFr�setPublicId�setSystemId)r7rurv�sourcer8r8r9�
resolveEntity�s


z0ExpatReaderTest.TestEntityRecorder.resolveEntityN)rBrCrDrsr�r8r8r8r9�TestEntityRecorder�sr�cCsvt�}|��}|�|�|�d�|�d�|�d�|�d�|�d�|��|�|jdg�|�|jdg�dS)N�<!DOCTYPE doc [
z-  <!ENTITY img SYSTEM "expat.gif" NDATA GIF>
zW  <!NOTATION GIF PUBLIC "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
�]>
r�)�GIFz;-//CompuServe//NOTATION Graphics Interchange Format 89a//ENN)�imgNz	expat.gifr�)rr{�
setDTDHandler�feedr�r+rqrr)r7r#�handlerr8r8r9�test_expat_dtdhandler�s





�z%ExpatReaderTest.test_expat_dtdhandlercCsz|�tjj�t�}|�td�|��}|�|�|�	t
��
|�d�Wd�n1s.wY|�|j
dg�dS)NT�8<!DOCTYPE external SYSTEM "unsupported://non-existing">
)Nzunsupported://non-existing)rU�urllib�request�
urlcleanuprr rr��setEntityResolverr$rr�r+r}�r7r#�resolverr8r8r9�test_expat_external_dtd_enabled�s
���z/ExpatReaderTest.test_expat_external_dtd_enabledcCsFt�}|��}|�|�|�d�|�d�|��|�|jg�dS)Nr�z<doc />)rr�r�r�r�r+r}r�r8r8r9�test_expat_external_dtd_default�s
�
z/ExpatReaderTest.test_expat_external_dtd_defaultc@rV)z"ExpatReaderTest.TestEntityResolvercCst�}|�td��|S)Ns	<entity/>)rrqr)r7rurv�inpsrcr8r8r9r��sz0ExpatReaderTest.TestEntityResolver.resolveEntityN)rBrCrDr�r8r8r8r9�TestEntityResolver�sr�cCs|t�}|�td�|�|���t�}|�t|��|�d�|�d�|�d�|�d�|�	�|�
|��td�dS)NTr��#  <!ENTITY test SYSTEM "whatever">
r��<doc>&test;</doc>s<doc><entity></entity></doc>)
rr rr�r�rr!rr�r�r+r\rX�r7r#r^r8r8r9�!test_expat_entityresolver_enableds




�z1ExpatReaderTest.test_expat_entityresolver_enabledcCs�t�}|�|�t�d�|�|���t�}|�t|��|�	d�|�	d�|�	d�|�	d�|�
�|�|��td�dS)NFr�r�r�r��<doc></doc>)
rr+�
getFeaturerr�r�rr!rr�r�r\rXr�r8r8r9�!test_expat_entityresolver_defaults




�z1ExpatReaderTest.test_expat_entityresolver_defaultc@r|)zExpatReaderTest.AttrGatherercCs
||_dSrU��_attrs)r7rTr"r8r8r9r�$rEz)ExpatReaderTest.AttrGatherer.startElementcCs
||_dSrUr�)r7rT�qnamer"r8r8r9r'rEz+ExpatReaderTest.AttrGatherer.startElementNSN)rBrCrDr�rr8r8r8r9�AttrGatherer"sr�cC�:t�}|��}|�|�|�d�|��|�|j�dS)Nr�)rr�r!r�r�r:r��r7r#�gatherr8r8r9�test_expat_attrs_empty*�

z&ExpatReaderTest.test_expat_attrs_emptycCr�)Nz<doc attr='val'/>)rr�r!r�r�rAr�r�r8r8r9�test_expat_attrs_wattr4r�z&ExpatReaderTest.test_expat_attrs_wattrcCs<td�}|��}|�|�|�d�|��|�|j�dS)Nr>r�)rr�r!r�r�r=r�r�r8r8r9�test_expat_nsattrs_empty>s

z(ExpatReaderTest.test_expat_nsattrs_emptycCs,td�}|��}|�|�|�dt�|��|j}|�|��d�|�|�	�tdfg�|�
|��gkp<|��dgk�|�t|�d�|�
tdf|�|�|�tdf�d�|�|�tdfd�d�|�t|���tdfdfg�|�t|���dg�|�|�tdf�d�|�|tdfd�dS)Nr>z"<doc xmlns:ns='%s' ns:attr='val'/>r!r;r?r#)rr�r!r�r<r�r�r+r,r-r|r.r/r@r3r1r4r5r&)r7r#r�r"r8r8r9�test_expat_nsattrs_wattrHs&
�z(ExpatReaderTest.test_expat_nsattrs_wattrcCs<t�}t�}t|�}|�|�|�t�|�|��t�dSrU)	rrrr!rZr]r+r\r^�r7r#r^r`r8r8r9�test_expat_inpsource_filenameas

z-ExpatReaderTest.test_expat_inpsource_filenamecCs@t�}t�}t|�}|�|�|�tt��|�|��t	�dSrU)
rrrr!rZrr]r+r\r^r�r8r8r9�test_expat_inpsource_sysidks
z*ExpatReaderTest.test_expat_inpsource_sysidcCs`tj}t�t|�|�tj|�t�}t�}t	|�}|�
|�|�t|��|�
|��t�dSrU)rrerfrgr]rUrVrrrr!rZrr+r\r^rhr8r8r9�#test_expat_inpsource_sysid_nonasciius
z3ExpatReaderTest.test_expat_inpsource_sysid_nonasciicCsvt�}t�}t|�}|�|�t�}ttd��}|�|�|�|�Wd�n1s,wY|�	|�
�t�dSrS)rrrr!rrPr]rqrZr+r\r^�r7r#r^r`r�rRr8r8r9� test_expat_inpsource_byte_stream�s

�z0ExpatReaderTest.test_expat_inpsource_byte_streamcCszt�}t�}t|�}|�|�t�}ttddd��}|�|�|�|�Wd�n1s.wY|�	|�
�t�dSrb)rrrr!rrPr]r�rZr+r\r^r�r8r8r9�%test_expat_inpsource_character_stream�s

�z5ExpatReaderTest.test_expat_inpsource_character_streamcCsRt�}t|�}t�}|�|�|�d�|�d�|��|�|��td�dS)N�<doc>�</doc>r�)	rrrr!r�r�r+r\rX�r7r^r`r#r8r8r9�test_expat_incremental�s


z&ExpatReaderTest.test_expat_incrementalcCs�t�}t|�}t�}|�|�|�d�|�d�t�}t|�}|�|�|��|�d�|�d�|�d�|��|�|��t	d�dS)Nr��textr�s<doc>text</doc>)
rrrr!r��resetr�r+r\rXr�r8r8r9�test_expat_incremental_reset�s






z,ExpatReaderTest.test_expat_incremental_resetcCsnt�}t|�}t�}|�|�|�d�|�d�|��|�|��d�|�|��d�|�|�	�d�dS)Nr�r�r>)
rrrr!r�r�r+�getSystemId�getPublicId�
getLineNumberr�r8r8r9�test_expat_locator_noinfo�s


z)ExpatReaderTest.test_expat_locator_noinfocCsLt�}t|�}t�}|�|�|�t�|�|��t�|�|��d�dSrU)	rrrr!rZr]r+r�r�r�r8r8r9�test_expat_locator_withinfo�s

z+ExpatReaderTest.test_expat_locator_withinfocCsltj}t�t|�|�tj|�t�}t|�}t	�}|�
|�|�|�|�|�
�|�|�|��d�dSrU)rrerfrgr]rUrVrrrr!rZr+r�r�)r7rPr^r`r#r8r8r9�$test_expat_locator_withinfo_nonascii�s

z4ExpatReaderTest.test_expat_locator_withinfo_nonasciiN)!rBrCrDrard�requires_nonascii_filenamesrirlrpr{r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r8r8r8r9r[os@









r[c@s2eZdZdd�Zdd�Zdd�ZGdd�d�Zd	S)
�ErrorReportingTestc
Cs�t�}|�t��t�}|�td��d}|�|�z|�|�|��WdSt	yA}z|�
|��|�WYd}~dSd}~ww)Ns<foo bar foobar>za file name)rr!rrrqrrrZ�failrr+r�)r7r#r�rTr�r8r8r9�test_expat_inpsource_location�s

��z0ErrorReportingTest.test_expat_inpsource_locationcCsJt�}|�t��|�t|jtd��|�|��d�|�|�	�d�dS)Nz<foo>�r>)
rr!rr$rrZrr+�getColumnNumberr�)r7r#r8r8r9�test_expat_incomplete�s
z(ErrorReportingTest.test_expat_incompletecCsdttdd|�dd���ttdd|�dd���ttdd|�dd���ttdd|�dd���dS)N�messager>)�strr�DummyLocatorrWr8r8r9�test_sax_parse_exception_strs
�
�
�

�z/ErrorReportingTest.test_sax_parse_exception_strc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)zErrorReportingTest.DummyLocatorcCs||_||_dSrU)�_lineno�_colno)r7�lineno�colnor8r8r9rsrtz(ErrorReportingTest.DummyLocator.__init__cCr>)N�pubidr8rWr8r8r9r�rAz+ErrorReportingTest.DummyLocator.getPublicIdcCr>)N�sysidr8rWr8r8r9r� rAz+ErrorReportingTest.DummyLocator.getSystemIdcC�|jSrU)r�rWr8r8r9r�#�z-ErrorReportingTest.DummyLocator.getLineNumbercCr�rU)r�rWr8r8r9r�&r�z/ErrorReportingTest.DummyLocator.getColumnNumberN)rBrCrDrsr�r�r�r�r8r8r8r9r�sr�N)rBrCrDr�r�r�r�r8r8r8r9r��s

r�c@r�)
�
XmlReaderTestcCs|�ti��dSrU)r:rrWr8r8r9�test_attrs_empty2�zXmlReaderTest.test_attrs_emptycCs|�tddi��dS)Nr!r?)rArrWr8r8r9�test_attrs_wattr5rxzXmlReaderTest.test_attrs_wattrcCs|�tii��dSrU)r=rrWr8r8r9�test_nsattrs_empty8r�z XmlReaderTest.test_nsattrs_emptycCsZttdfditdfdi�}|�|��d�|�|��tdfg�|�|��dg�|�t|�d�|�tdf|�|�t|�	��tdfg�|�|�
tdf�d�|�|�
tdfd�d�|�t|���tdfdfg�|�t|���dg�|�|�
tdf�d�|�|�d�d�|�|�d�tdf�|�|tdfd�|�|�tdf�d�dS)Nr!r?r;r>r#)rr<r+r,r-r.r/r@r1r2r3r4r5r&r'r(r)r6r8r8r9�test_nsattrs_wattr;s$
�z XmlReaderTest.test_nsattrs_wattrN)rBrCrDr�r�r�r�r8r8r8r9r�/s
r�c@r|)�LexicalHandlerTestcCs�d|_d|_d|_d|_d|_d|_t�|_|j�d�	|j|j��|j�d�	|j��|j�d�	|jd	��|j�d
�	|j��|j�d�|j�d�|j�d
�|j�d�|j�d�|j�d�	|jd	��|j�d�	|jd��|j�d�	|jd��|j�d�|j�d�	|j��|j�d�|j�d�|j�d�|j�d�|j�d�	|jd|jd	|jd��|j�d�	|jd��|j�d�	|j��|j�
d	�d|_d|_d|_
d|_d|_d|_d|_g|_dS)Nr2zUTF-8�wish)�nbspr��target)zComment in a DTDzReally! You think so?z#<?xml version="{}" encoding="{}"?>
z<!DOCTYPE {} [
z<!-- {} -->
rz,<!ELEMENT {} (to,from,heading,body,footer)>
z<!ELEMENT to (#PCDATA)>
z<!ELEMENT from (#PCDATA)>
z<!ELEMENT heading (#PCDATA)>
z<!ELEMENT body (#PCDATA)>
z<!ELEMENT footer (#PCDATA)>
z<!ENTITY {} "&#xA0;">
z&<!ENTITY {} "Written by: Alexander.">
r>z+<!ENTITY {} "Hope it gets to: Aristotle.">
�r�z<{}>z<to>Aristotle</to>
z<from>Alexander</from>
z <heading>Supplication</heading>
z <body>Teach me patience!</body>
z<footer>&{};&{};&{};</footer>
z</{}>
F)r#�specified_version�specified_encoding�specified_doctype�specified_entity_names�specified_commentr�	test_datarQ�format�seek�versionrH�
standalone�doctype�publicID�systemID�
end_of_dtd�commentsrWr8r8r9r�Qst��������
��
zLexicalHandlerTest.setUpcCs�Gdd�dt�}t�|_|j�t��|j�d||��t�}|�|j�|j�	|�|�
|j|j�|�
|j�|�
|j�|�|j�|�
t|j�t|j��|�
d|jd�d�|jd�dS)Ncs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	z<LexicalHandlerTest.test_handlers.<locals>.TestLexicalHandlerc�t�j|i|��||_dSrU��superrs�test_harness�r7r�ru�kwargs��	__class__r8r9rs��
zELexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.__init__cSs||j_||j_||j_dSrU)r�r�r�r�)r7r�r�r�r8r8r9�startDTD�szELexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.startDTDcS�d|j_dSr?)r�r�rWr8r8r9�endDTD�r8zCLexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.endDTDcSs|jj�|�dSrU)r�r�rF)r7r�r8r8r9�comment�r�zDLexicalHandlerTest.test_handlers.<locals>.TestLexicalHandler.comment)rBrCrDrsr�r�r��
__classcell__r8r8r�r9�TestLexicalHandler�s
r��-http://xml.org/sax/properties/lexical-handlerr�r)rrr#r!r�setPropertyrr�r�rZr+r�r�r�r�r�r|r�r/r�r�)r7r�r�r8r8r9�
test_handlers�s$��$z LexicalHandlerTest.test_handlersN�rBrCrDr�r�r8r8r8r9r�Ps6r�c@r|)�CDATAHandlerTestcCs�d|_g|_|j�d�|j�d�d|_t�|_|j�d�|j�d�|j�|jdd�d��|j�d�|j�d�|j�d	|jd
d�d��|j�d�|j�d
�|j�d�g|_d|_	dS)N)zParseable character dataF)z <> &% - assorted other XML junk.Trz<root_doc>
z<some_pcdata>
�
z</some_pcdata>
z
<some_cdata>
z	<![CDATA[r>z]]>
z</some_cdata>
z</root_doc>
F)
r#�specified_charsrF�
char_indexrr�rQr��chardata�in_cdatarWr8r8r9r��s"
zCDATAHandlerTest.setUpcCs�Gdd�dt�}Gdd�dt�}t�|_|j�||��|j�d||��t�}|�|j�|j�	|�|�
|j�|�|j
d�dS)Ncs,eZdZ�fdd�Zdd�Zdd�Z�ZS)z:CDATAHandlerTest.test_handlers.<locals>.TestLexicalHandlercr�rUr�r�r�r8r9rs�r�zCCDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.__init__cSr�r?�r�rrWr8r8r9�
startCDATA�r8zECDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.startCDATAcSr�)NFrrWr8r8r9�endCDATA�r8zCCDATAHandlerTest.test_handlers.<locals>.TestLexicalHandler.endCDATA)rBrCrDrsrrr�r8r8r�r9r��sr�cs$eZdZ�fdd�Zdd�Z�ZS)z7CDATAHandlerTest.test_handlers.<locals>.TestCharHandlercr�rUr�r�r�r8r9rs�r�z@CDATAHandlerTest.test_handlers.<locals>.TestCharHandler.__init__cSsR|dkr'|j}|j|j}|�|d|�|�|d|j�|jd7_dSdS)Nr�rr>)r�r�rr+r)r7r��h�tr8r8r9r��s�zBCDATAHandlerTest.test_handlers.<locals>.TestCharHandler.characters)rBrCrDrsr�r�r8r8r�r9�TestCharHandler�srr�r�)rrrr#r!r�rr�r�rZr/rr+r)r7r�rr�r8r8r9r��s
�zCDATAHandlerTest.test_handlersNr�r8r8r8r9r��sr��__main__rU).)Vr[rrrrr�unittestr�SkipTest�xml.sax.saxutilsrr	r
rrr
�xml.sax.expatreaderr�xml.sax.handlerrrr�xml.sax.xmlreaderrrr�iorrrH�os.pathrjrf�sys�urllib.errorr�urllib.requestr��test.supportrr�test.support.os_helperrrr]�TEST_XMLFILE_OUTrK�UnicodeEncodeError�supports_nonascii_filenames�path�supports_unicode_filenamesre�getfilesystemencoding�UnicodeError�	TypeError�
skipUnlessr�r<�TestCaser rIrMrSrTr�r�r�r�r6r:r=rGrNrXrWrPrRr�r^r[r�r�r�r�rB�mainr8r8r8r9�<module>s�

� 

���
5

|54Sc
�>!Y
<�

Youez - 2016 - github.com/yon3zu
LinuXploit