Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_sax.cpython-39.pyc

a

��g��	@s"ddlmZmZmZmZmZddlZddlmZz
e�WneyVe�d��Yn0ddl	m
Z
mZmZm
Z
mZmZddlmZddlmZmZddlmZmZmZdd	lmZmZddlZddlZddlZddl Z dd
l!m"Z"ddl#Z$ddl%m&Z&ddl'm(Z(m)Z)m*Z*e(d
dd�Z+e(ddd�Z,ze+�-d�e,�-d�Wne.�yZe�d��Yn0dZ/ej0j1�s�ze&j2�-e&j3�Wne4e5f�y�dZ/Yn0e�6e/d�Z7dZ8Gdd�dej9�Z:d?dd�Z;d@dd�Z<dAdd�Z=Gd d!�d!ej9�Z>Gd"d#�d#ej9�Z?Gd$d%�d%ej9�Z@Gd&d'�d'ej9�ZAGd(d)�d)�ZBGd*d+�d+eBej9�ZCGd,d-�d-eBej9�ZDGd.d/�d/eD�ZEGd0d1�d1eBej9�ZFGd2d3�d3eBej9�ZGd4ZHGd5d6�d6ej9�ZIeJe,d7��ZKeK�L�ZMWd�n1�s�0YGd8d9�d9e:�ZNGd:d;�d;ej9�ZOGd<d=�d=e:�ZPeQd>k�re�R�dS)B�)�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)�InputSource�AttributesImpl�AttributesNSImpl)�BytesIO�StringIO)�URLError)�support)�findfile�FakePath�TESTFNztest.xmlZxmltestdata)Zsubdirztest.xml.out�utf-8z!filename is not encodable to utf8TFz$Requires non-ascii filenames supportz%http://www.python.org/xml-ns/saxtest/c@s$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�r4�)/usr/local/lib/python3.9/test/test_sax.py�verify_empty_attrs3s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+r,r-r.r/r0r1r2r4r4r5�verify_empty_nsattrsDsz 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)rr;)r'r(r)r*r+�assertInr-r.r/r0r1r"r#r$r%r2r4r4r5�verify_attrs_wattrUszXmlTestBase.verify_attrs_wattrN)�__name__�
__module__�__qualname__r6r9r=r4r4r4r5r2srcCs|dur|Sd||fS�N�&<?xml version="1.0" encoding="%s"?>
%sr4)�doc�encodingr4r4r5�xml_strgsrE.cCs|dur|}t||��|d�S)N.�xmlcharrefreplace)rE�encode)rCrD�
decl_encodingr4r4r5�	xml_byteslsrIcCsP|dur|}ttd|dd�� }|�t||��Wd�n1sB0YdS)N.�wrF)rD�errors)�openr�writerE)rCrDrH�fr4r4r5�
make_xml_fileqsrOc@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�r3r4r4r5�tearDown{szParseTest.tearDowncCs>ddlm}t�}||t|d��|�|��t|jd��dS)Nr)�parser)�xml.saxrUrrr'�getvaluerE�data)r3rNrU�resultr4r4r5�check_parse~szParseTest.check_parsec	Cs�d}|D]�}|�tt|j|���t|j|�ttd|d��}|�|�Wd�n1s\0Y|�t|j��t|j|d�ttd|d��}|�|�Wd�q1s�0YqdS)N��us-ascii�
iso-8859-1r�utf-16�utf-16le�utf-16be�r�rD)rZrrErXrOrLr�r3�	encodingsrDrNr4r4r5�test_parse_text�s(zParseTest.test_parse_textc	Cs�d}|D]�}|�tt|j|���t|j|�|�t�ttd��}|�|�Wd�n1sb0Y|�tt|j|d���t|j|d�|�t�ttd��}|�|�Wd�q1s�0Yq|�tt|jdd���t|jdd�|�t�ttd��}|�|�Wd�n1�s.0Y|�tt|jdd���t|jdd�|�t�ttd��}|�|�Wd�n1�s�0Y|�tt|jd���t|jd�|�t�ttd��}|�|�Wd�n1�s�0Y|�t��(|�tt|jdd���Wd�n1�s:0Yt|jdd�|�t��|�t�Wd�n1�s~0Yttd��F}|�t��|�|�Wd�n1�s�0YWd�n1�s�0YdS)N�r\rr^r_r`�rb�	utf-8-sigrr])	rZrrIrXrOrrLr rrcr4r4r5�test_parse_bytes�sF
(
*
*
*
*8*zParseTest.test_parse_bytescCs t|jdd�|�tt��dS)Nr)rOrXrZrrrSr4r4r5�test_parse_path_object�sz ParseTest.test_parse_path_objectcCs`t|jdd�ttd��4}t�}|�|�|�d�|�|�Wd�n1sR0YdS)Nr]rg)rOrXrLrr�
setByteStreamZsetEncodingrZ)r3rN�inputr4r4r5�test_parse_InputSource�s

z ParseTest.test_parse_InputSourcec	s�t�d���fdd�}tjd|d��^t|jdd�|�t��|�t�Wd�n1s^0Y|�	�j
�Wd�n1s�0YdS)Ncs�|���SrQr4)�args�Zbuiltin_open�fileobjr4r5�	mock_open�sz4ParseTest.test_parse_close_source.<locals>.mock_openzxml.sax.saxutils.open)Zside_effectr])rLrZpatchrOrXr rrZr�
assertTrue�closed)r3rqr4ror5�test_parse_close_source�s(z!ParseTest.test_parse_close_sourcecCs>ddlm}t�}||t|d��|�|��t|jd��dS)Nr)�parseStringr)rVrurrr'rWrErX)r3�srurYr4r4r5�check_parseString�szParseTest.check_parseStringcCs0d}|D]}|�t|j|��q|�|j�dS)Nr[)rwrErX�r3rdrDr4r4r5�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�n1s�0YdS)Nrfrhrr])rwrIrXr rrxr4r4r5�test_parseString_bytes�sz ParseTest.test_parseString_bytesN)r>r?r@rXrTrZrerirjrmrtrwryrzr4r4r4r5rPxs
*	rPc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MakeParserTestcCspddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}ddlm}|�}dS)Nr�r)rVr)r3r�pr4r4r5�test_make_parser2�sz MakeParserTest.test_make_parser2cCsHtdg�td�tdh�ttdh��tddi�ttdg��dS)N�module)r�r�	frozenset�iterrSr4r4r5�test_make_parser3s

z MakeParserTest.test_make_parser3cCs>tg�tt��tt��tt��ti�ttg��dSrQ)r�tuple�setr�r�rSr4r4r5�test_make_parser4s


z MakeParserTest.test_make_parser4cCsRtddg�td�tddh�ttddh��tddd��ttddg��dS)N�module1�module2)r�r�r�rSr4r4r5�test_make_parser5sz MakeParserTest.test_make_parser5N)r>r?r@r~r�r�r�r4r4r4r5r{�s
	r{c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�SaxutilsTestcCs|�td�d�dS)N�Donald Duck & Co�Donald Duck &amp; Co�r'r	rSr4r4r5�test_escape_basic+szSaxutilsTest.test_escape_basiccCs|�td�d�dS)N�<Donald Duck & Co>�&lt;Donald Duck &amp; Co&gt;r�rSr4r4r5�test_escape_all.s
�zSaxutilsTest.test_escape_allcCs|�tdddi�d�dS�NuHei på deg�åz&aring;zHei p&aring; degr�rSr4r4r5�test_escape_extra2s�zSaxutilsTest.test_escape_extracCs|�td�d�dS)Nr�r��r'r
rSr4r4r5�test_unescape_basic7sz SaxutilsTest.test_unescape_basiccCs|�td�d�dS)Nr�r�r�rSr4r4r5�test_unescape_all:s
�zSaxutilsTest.test_unescape_allcCs|�tdddi�d�dSr�r�rSr4r4r5�test_unescape_extra>s�z SaxutilsTest.test_unescape_extracCs|�tdddi�d�dS)Nz	&amp;foo;z&foo;Zsplatr�rSr4r4r5�test_unescape_amp_extraBsz$SaxutilsTest.test_unescape_amp_extracCs|�td�d�dS)Nr�z"Donald Duck &amp; Co"�r'rrSr4r4r5�test_quoteattr_basicFs
�z!SaxutilsTest.test_quoteattr_basiccCs|�td�d�dS)NzIncludes "double" quotesz'Includes "double" quotes'r�rSr4r4r5�test_single_quoteattrJs
�z"SaxutilsTest.test_single_quoteattrcCs|�td�d�dS)NzIncludes 'single' quotesz"Includes 'single' quotes"r�rSr4r4r5�test_double_quoteattrNs
�z"SaxutilsTest.test_double_quoteattrcCs|�td�d�dS)Nz%Includes 'single' and "double" quotesz1"Includes 'single' and &quot;double&quot; quotes"r�rSr4r4r5�test_single_double_quoteattrRs
�z)SaxutilsTest.test_single_double_quoteattrcCstdg�}dS)Nzxml.parsers.no_such_parserr|)r3r}r4r4r5�test_make_parserWszSaxutilsTest.test_make_parserN)r>r?r@r�r�r�r�r�r�r�r�r�r�r�r�r4r4r4r5r�)sr�c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�PrepareInputSourceTestcCsBtj|_t|jd��}|�d�Wd�n1s40YdS)NrJzThis was read from a file.)rr�filerLrM)r3�tmpr4r4r5�setUp_szPrepareInputSourceTest.setUpcCst�|j�dSrQ)rrRr�rSr4r4r5rTdszPrepareInputSourceTest.tearDowncCstd�S�NsThis is a byte stream.)rrSr4r4r5�make_byte_streamgsz'PrepareInputSourceTest.make_byte_streamcCstd�S�NzThis is a character stream.)rrSr4r4r5�make_character_streamjsz,PrepareInputSourceTest.make_character_streamcCs&|�|�|�|��|�|��dSrQ)ZassertIsNotNoner'�read�close)r3�stream�contentr4r4r5�checkContentms
z#PrepareInputSourceTest.checkContentcCsBt|j�}|�|���t|�}|�|���|�|��d�dSr�)	rr��setCharacterStreamr�r
�assertIsNone�
getByteStreamr��getCharacterStream�r3�src�prepr4r4r5�test_character_streamss

�z,PrepareInputSourceTest.test_character_streamcCsBt|j�}|�|���t|�}|�|���|�|��d�dSr�)	rr�rkr�r
r�r�r�r�r�r4r4r5�test_byte_stream|s

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

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


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

�z(PrepareInputSourceTest.test_path_objectscCs.t|���}|�|���|�|��d�dSr�)r
r�r�r�r�r�r�r4r4r5�test_binary_file�s

�z'PrepareInputSourceTest.test_binary_filecCs.t|���}|�|���|�|��d�dSr�)r
r�r�r�r�r�r�r4r4r5�test_text_file�s

�z%PrepareInputSourceTest.test_text_fileN)r>r?r@r�rTr�r�r�r�r�r�r�r�r�r�r4r4r4r5r�]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)NrC�<doc></doc>�	�ioclassr�
startDocument�startElement�
endElement�endDocumentr'rW�xml�r3rY�genr4r4r5�test_xmlgen_basic�s
zXmlgenTest.test_xmlgen_basiccCsT|��}t|dd�}|��|�di�|�d�|��|�|��|�d��dS)NT�Zshort_empty_elementsrC�<doc/>r�r�r4r4r5�test_xmlgen_basic_empty�s
z"XmlgenTest.test_xmlgen_basic_emptycCsZ|��}t|�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NrC�huhei�<doc>huhei</doc>�
r�rr�r��
charactersr�r�r'rWr�r�r4r4r5�test_xmlgen_content�s

zXmlgenTest.test_xmlgen_contentcCs^|��}t|dd�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NTr�rCr�r�r�r�r4r4r5�test_xmlgen_content_empty�s

z$XmlgenTest.test_xmlgen_content_emptycCs\|��}t|�}|��|�dd�|�di�|�d�|��|�|��|�	d��dS)N�testrXrCz<?test data?><doc></doc>)
r�rr�ZprocessingInstructionr�r�r�r'rWr�r�r4r4r5�test_xmlgen_pi�s

�zXmlgenTest.test_xmlgen_picCsZ|��}t|�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NrCz<huhei&z<doc>&lt;huhei&amp;</doc>r�r�r4r4r5�test_xmlgen_content_escape�s


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

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



�z"XmlgenTest.test_xmlgen_attr_escapecCstd}|D]f}|��}t||d�}|��|�dddi�|�d�|�d�|��|�|��|j	d|d��qdS)N�	ziso-8859-15rrhr^r`r_zutf-32zutf-32bezutf-32lerbrCr��€u<doc a="€">€</doc>r��r3rdrDrYr�r4r4r5�test_xmlgen_encodings


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


�z"XmlgenTest.test_xmlgen_unencodablecCsZ|��}t|�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NrC� �<doc> </doc>�
r�rr�r��ignorableWhitespacer�r�r'rWr�r�r4r4r5�test_xmlgen_ignorable)s

z XmlgenTest.test_xmlgen_ignorablecCs^|��}t|dd�}|��|�di�|�d�|�d�|��|�|��|�	d��dS)NTr�rCr�r�r�r�r4r4r5�test_xmlgen_ignorable_empty5s

z&XmlgenTest.test_xmlgen_ignorable_emptycCs�d}|D]|}|��}t||d�}|��|�dddi�|�d�|��|�d�|��|�d�|��|�	|�
�|jd|d��qdS)Nr�rbrCr�r�r�u<doc a="€">€ </doc>)r�rr�r�r�rGr�r�r�r'rWr�r�r4r4r5�test_xmlgen_encoding_bytesAs

�z%XmlgenTest.test_xmlgen_encoding_bytescCs�|��}t|�}|��|�dt�|�tdfdi�|�ddi�|�dd�|�tdfd�|�d�|��|�	|�
�|�dt��dS)N�ns1rC�ns1:doc�NZudocz/<ns1:doc xmlns:ns1="%s"><udoc></udoc></ns1:doc>�r�rr��startPrefixMappingr8�startElementNS�endElementNS�endPrefixMappingr�r'rWr�r�r4r4r5�test_xmlgen_nsSs
��zXmlgenTest.test_xmlgen_nscCs�|��}t|dd�}|��|�dt�|�tdfdi�|�ddi�|�dd�|�tdfd�|�d�|��|�	|�
�|�dt��dS)NTr�r�rCr�r�z)<ns1:doc xmlns:ns1="%s"><udoc/></ns1:doc>r�r�r4r4r5�test_xmlgen_ns_emptyes
��zXmlgenTest.test_xmlgen_ns_emptycCsX|��}t|�}|��|�ddddi�|�dd�|��|�|��|�d��dS)N�Nr�r��N�b�cz
<a b="c"></a>�	r�rr�r�r�r�r'rWr�r�r4r4r5�test_1463026_1wszXmlgenTest.test_1463026_1cCs\|��}t|dd�}|��|�ddddi�|�dd�|��|�|��|�d��dS)NTr�r�r�r�r�z
<a b="c"/>r�r�r4r4r5�test_1463026_1_empty�szXmlgenTest.test_1463026_1_emptycCsj|��}t|�}|��|�dd�|�ddi�|�dd�|�d�|��|�|�	�|�
d��dS)N�qux�r�r�r�z<a xmlns="qux"></a>�r�rr�r�r�r�r�r�r'rWr�r�r4r4r5�test_1463026_2�s
zXmlgenTest.test_1463026_2cCsn|��}t|dd�}|��|�dd�|�ddi�|�dd�|�d�|��|�|�	�|�
d��dS)NTr�r�r�r�z<a xmlns="qux"/>r�r�r4r4r5�test_1463026_2_empty�s
zXmlgenTest.test_1463026_2_emptycCsn|��}t|�}|��|�dd�|�ddddi�|�dd�|�d�|��|�|�	�|�
d��dS)N�myr�r�r�r�r�z"<my:a xmlns:my="qux" b="c"></my:a>r�r�r4r4r5�test_1463026_3�s

�zXmlgenTest.test_1463026_3cCsr|��}t|dd�}|��|�dd�|�ddddi�|�dd�|�d�|��|�|�	�|�
d	��dS)
NTr�r�r�r�r�r�r�z<my:a xmlns:my="qux" b="c"/>r�r�r4r4r5�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�setContentHandlerrUr'rWr�)r3Ztest_xml�parserrYr�r4r4r5�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�r�r�r�r�r�r'rWr�)r3rYr�Z	lang_attrr4r4r5�test_5027_2�s"


��zXmlgenTest.test_5027_2cCs(|��}dd�}||�|�|j�dS)NcSs t|�}|��|�di�dS)NrC)rr�r�)�outr�r4r4r5�func�sz+XmlgenTest.test_no_close_file.<locals>.func)r��assertFalsers)r3rYr
r4r4r5�test_no_close_file�szXmlgenTest.test_no_close_filecCsz|��}t|�}|�dddi�|�d�|�d�|�dddi�|�d�|�|��|�d�t|�d	��d��dS)
NZfoor�z1.0r
Zbarr�z2.0z+<foo a="1.0">Hello</foo><bar b="2.0"></bar>�)	r�rr�r�r�r'rWr�r+r�r4r4r5�test_xmlgen_fragments



�zXmlgenTest.test_xmlgen_fragmentN)r>r?r@r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr4r4r4r5r��s0






	r�c@seZdZeZddd�ZdZdS)�StringXmlgenTestr]cCsd||fSrAr4�r3rCrDr4r4r5r�szStringXmlgenTest.xmlN)r])r>r?r@rr�r�r�r4r4r4r5rs
rc@seZdZeZddd�ZdS)�BytesXmlgenTestr]cCsd||f�|d�S)NrBrF�rGrr4r4r5r�s
��zBytesXmlgenTest.xmlN)r])r>r?r@rr�r�r4r4r4r5rsrc@seZdZGdd�de�ZdS)�WriterXmlgenTestc@s.eZdZejZdZdd�Zdd�Zdd�Z	dS)	zWriterXmlgenTest.ioclassFcCsdS)NTr4rSr4r4r5�seekable%sz!WriterXmlgenTest.ioclass.seekablecCst|�SrQ)r+rSr4r4r5�tell(szWriterXmlgenTest.ioclass.tellcCs
d�|�S)N�)�joinrSr4r4r5rW,sz!WriterXmlgenTest.ioclass.getvalueN)
r>r?r@r-�appendrMrsrrrWr4r4r4r5r�!s
r�N)r>r?r@r-r�r4r4r4r5r src@seZdZdd�Zddd�ZdS)�StreamWriterXmlgenTestcCs"t�}t�d�|d�}|j|_|S)Nr�rF)r�codecs�	getwriterrW)r3�raw�writerr4r4r5r�0szStreamWriterXmlgenTest.ioclassr]cCsd||f�dd�S�NrBr�rFrrr4r4r5r�6s
��zStreamWriterXmlgenTest.xmlN)r])r>r?r@r�r�r4r4r4r5r/src@s(eZdZejdZdd�Zddd�ZdS)	�StreamReaderWriterXmlgenTestz-codecscsDtj�jddddd����fdd�}��|��fdd	�}|�_�S)
NrJr�rFr)rDrK�	bufferingcs���t��j�dSrQ)r�rrR�fnamer4�r3r r4r5�cleanup@sz5StreamReaderWriterXmlgenTest.ioclass.<locals>.cleanupcs@���t�jd��}|��Wd�S1s20YdS�Nrg)r�rL�namer�)rN)r r4r5rWDsz6StreamReaderWriterXmlgenTest.ioclass.<locals>.getvalue)rrLr$�
addCleanuprW)r3r&rWr4r%r5r�=s�
z$StreamReaderWriterXmlgenTest.ioclassr]cCsd||f�dd�Sr!rrr4r4r5r�Ls
��z StreamReaderWriterXmlgenTest.xmlN)r])r>r?r@rrr$r�r�r4r4r4r5r":s
r"s,<?xml version="1.0" encoding="iso-8859-1"?>
c@seZdZdd�ZdS)�XMLFilterBaseTestcCspt�}t|�}t�}|�|�|��|�di�|�d�|�d�|�d�|�	�|�
|��td�dS)NrCr�r�s<doc>content </doc>)
rrrrr�r�r�r�r�r�r'rW�start)r3rYr��filterr4r4r5�test_filter_basicTs



z#XMLFilterBaseTest.test_filter_basicN)r>r?r@r-r4r4r4r5r*Ssr*rgc@s>eZdZdd�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�Ze�e j!d3kd4e j!�d5��d6d7��Z"d8d9�Z#d:d;�Z$d<d=�Z%ed>d?��Z&d@S)A�ExpatReaderTestcCsft�}t�}t|�}|�|�ttd��}|�|�Wd�n1sH0Y|�|��t	�dSr'�
rrrrrL�TEST_XMLFILErUr'rW�xml_test_out�r3rrY�xmlgenrNr4r4r5�test_expat_binary_fileps
(z&ExpatReaderTest.test_expat_binary_filecCsjt�}t�}t|�}|�|�ttddd��}|�|�Wd�n1sL0Y|�|��t	�dS�NZrtr]rbr/r2r4r4r5�test_expat_text_file{s
(z$ExpatReaderTest.test_expat_text_filecCsbtj}t�t|�|�tj|�t�}t�}t	|�}|�
|�|�t|d��|�
|��t�dSr')r�TESTFN_UNICODE�shutil�copyfiler0r)rRrrrrrUrLr'rWr1�r3r$rrYr3r4r4r5�test_expat_binary_file_nonascii�s
z/ExpatReaderTest.test_expat_binary_file_nonasciicCspt�t�}t�}t�}t|�}|�|�t|d��}|�|�Wd�n1sR0Y|�	|�
�t�dSr')�os�fsencoder0rrrrrLrUr'rWr1)r3r$rrYr3rNr4r4r5�!test_expat_binary_file_bytes_name�s

(z1ExpatReaderTest.test_expat_binary_file_bytes_namec	Cs�t�}t�}t|�}|�|�ttd��L}t|��ddd��}|�|�Wd�n1s\0YWd�n1sz0Y|�|�	�t
�dS)NrgF)�closefd)rrrrrLr0�filenorUr'rWr1)r3rrYr3rN�f2r4r4r5�test_expat_binary_file_int_name�s
Fz/ExpatReaderTest.test_expat_binary_file_int_namec@s$eZdZdd�Zdd�Zdd�ZdS)zExpatReaderTest.TestDTDHandlercCsg|_g|_dSrQ)�
_notations�	_entitiesrSr4r4r5�__init__�sz'ExpatReaderTest.TestDTDHandler.__init__cCs|j�|||f�dSrQ)rCr)r3r(�publicId�systemIdr4r4r5�notationDecl�sz+ExpatReaderTest.TestDTDHandler.notationDeclcCs|j�||||f�dSrQ)rDr)r3r(rFrGZndatar4r4r5�unparsedEntityDecl�sz1ExpatReaderTest.TestDTDHandler.unparsedEntityDeclN)r>r?r@rErHrIr4r4r4r5�TestDTDHandler�srJc@seZdZdd�Zdd�ZdS)z"ExpatReaderTest.TestEntityRecordercCs
g|_dSrQ)�entitiesrSr4r4r5rE�sz+ExpatReaderTest.TestEntityRecorder.__init__cCs.|j�||f�t�}|�|�|�|�|SrQ)rKrrZsetPublicId�setSystemId)r3rFrG�sourcer4r4r5�
resolveEntity�s


z0ExpatReaderTest.TestEntityRecorder.resolveEntityN)r>r?r@rErNr4r4r4r5�TestEntityRecorder�srOcCsvt�}|��}|�|�|�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)ZimgNz	expat.gifrR)rrJZ
setDTDHandler�feedr�r'rCrD)r3r�handlerr4r4r5�test_expat_dtdhandler�s





�z%ExpatReaderTest.test_expat_dtdhandlercCsz|�tjj�t�}|�td�|��}|�|�|�	t
��|�d�Wd�n1s\0Y|�|j
dg�dS)NT�8<!DOCTYPE external SYSTEM "unsupported://non-existing">
)Nzunsupported://non-existing)r)�urllibZrequest�
urlcleanuprrrrO�setEntityResolverr rrSr'rK�r3rZresolverr4r4r5�test_expat_external_dtd_enabled�s
�"�z/ExpatReaderTest.test_expat_external_dtd_enabledcCsFt�}|��}|�|�|�d�|�d�|��|�|jg�dS)NrVz<doc />)rrOrYrSr�r'rKrZr4r4r5�test_expat_external_dtd_default�s
�
z/ExpatReaderTest.test_expat_external_dtd_defaultc@seZdZdd�ZdS)z"ExpatReaderTest.TestEntityResolvercCst�}|�td��|S)Ns	<entity/>)rrkr)r3rFrG�inpsrcr4r4r5rN�sz0ExpatReaderTest.TestEntityResolver.resolveEntityN)r>r?r@rNr4r4r4r5�TestEntityResolver�sr^cCs|t�}|�td�|�|���t�}|�t|��|�d�|�d�|�d�|�d�|�	�|�
|��td�dS)NTrP�#  <!ENTITY test SYSTEM "whatever">
rQ�<doc>&test;</doc>s<doc><entity></entity></doc>)
rrrrYr^rrrrSr�r'rWr+�r3rrYr4r4r5�!test_expat_entityresolver_enabled�s



�z1ExpatReaderTest.test_expat_entityresolver_enabledcCs�t�}|�|�t�d�|�|���t�}|�t|��|�	d�|�	d�|�	d�|�	d�|�
�|�|��td�dS)NFrPr_rQr`�<doc></doc>)
rr'Z
getFeaturerrYr^rrrrSr�rWr+rar4r4r5�!test_expat_entityresolver_default
s



�z1ExpatReaderTest.test_expat_entityresolver_defaultc@seZdZdd�Zdd�ZdS)zExpatReaderTest.AttrGatherercCs
||_dSrQ��_attrs)r3r(rr4r4r5r�!sz)ExpatReaderTest.AttrGatherer.startElementcCs
||_dSrQre)r3r(Zqnamerr4r4r5r�$sz+ExpatReaderTest.AttrGatherer.startElementNSN)r>r?r@r�r�r4r4r4r5�AttrGatherersrgcCs:t�}|��}|�|�|�d�|��|�|j�dS)Nr�)rrgrrSr�r6rf�r3r�gatherr4r4r5�test_expat_attrs_empty's

z&ExpatReaderTest.test_expat_attrs_emptycCs:t�}|��}|�|�|�d�|��|�|j�dS)Nz<doc attr='val'/>)rrgrrSr�r=rfrhr4r4r5�test_expat_attrs_wattr1s

z&ExpatReaderTest.test_expat_attrs_wattrcCs<td�}|��}|�|�|�d�|��|�|j�dS)Nr:r�)rrgrrSr�r9rfrhr4r4r5�test_expat_nsattrs_empty;s

z(ExpatReaderTest.test_expat_nsattrs_emptycCs,td�}|��}|�|�|�dt�|��|j}|�|��d�|�|�	�tdfg�|�
|��gkpx|��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'/>rr7r;r)rrgrrSr8r�rfr'r(r)rrr*r+r<r/r-r0r1r")r3rrirr4r4r5�test_expat_nsattrs_wattrEs&
�z(ExpatReaderTest.test_expat_nsattrs_wattrcCs<t�}t�}t|�}|�|�|�t�|�|��t�dSrQ)	rrrrrUr0r'rWr1�r3rrYr3r4r4r5�test_expat_inpsource_filename^s

z-ExpatReaderTest.test_expat_inpsource_filenamecCs@t�}t�}t|�}|�|�|�tt��|�|��t	�dSrQ)
rrrrrUrr0r'rWr1rnr4r4r5�test_expat_inpsource_sysidhs
z*ExpatReaderTest.test_expat_inpsource_sysidcCs`tj}t�t|�|�tj|�t�}t�}t	|�}|�
|�|�t|��|�
|��t�dSrQ)rr7r8r9r0r)rRrrrrrUrr'rWr1r:r4r4r5�#test_expat_inpsource_sysid_nonasciirs
z3ExpatReaderTest.test_expat_inpsource_sysid_nonasciicCsvt�}t�}t|�}|�|�t�}ttd��$}|�|�|�|�Wd�n1sX0Y|�	|�
�t�dSr')rrrrrrLr0rkrUr'rWr1�r3rrYr3r]rNr4r4r5� test_expat_inpsource_byte_stream�s

(z0ExpatReaderTest.test_expat_inpsource_byte_streamcCszt�}t�}t|�}|�|�t�}ttddd��$}|�|�|�|�Wd�n1s\0Y|�	|�
�t�dSr5)rrrrrrLr0r�rUr'rWr1rrr4r4r5�%test_expat_inpsource_character_stream�s

(z5ExpatReaderTest.test_expat_inpsource_character_streamcCsRt�}t|�}t�}|�|�|�d�|�d�|��|�|��td�dS)N�<doc>�</doc>rc)	rrrrrSr�r'rWr+�r3rYr3rr4r4r5�test_expat_incremental�s


z&ExpatReaderTest.test_expat_incrementalcCs�t�}t|�}t�}|�|�|�d�|�d�t�}t|�}|�|�|��|�d�|�d�|�d�|��|�|��t	d�dS)Nru�textrvs<doc>text</doc>)
rrrrrS�resetr�r'rWr+rwr4r4r5�test_expat_incremental_reset�s






z,ExpatReaderTest.test_expat_incremental_reset���rzExpat z" does not support reparse deferralcCs�t�}t|�}t�}|�|�dD]}|�|�q"|�|��t�|�|j	�
��|��|�|j	�
��|�|��td�|�d�|��|�|��td�dS)N�z<doc�>�<doc>rvrc)
rrrrrSr'rWr+rr�_parser�GetReparseDeferralEnabled�flushr��r3rYr3r�chunkr4r4r5�#test_flush_reparse_deferral_enabled�s

z3ExpatReaderTest.test_flush_reparse_deferral_enabledcCs�t�}t|�}t�}|�|�dD]}|�|�q"tjdkrX|j�d�|�	|�
�t�|�|j�
��|��|�|j�
��|�	|�
�td�|�d�|��|�	|�
�td�dS)Nrr|Fr�rvrc)rrrrrS�pyexpat�version_infor�ZSetReparseDeferralEnabledr'rWr+rr�r�r�r�r4r4r5�$test_flush_reparse_deferral_disabled�s 


z4ExpatReaderTest.test_flush_reparse_deferral_disabledcCsnt�}t|�}t�}|�|�|�d�|�d�|��|�|��d�|�|��d�|�|�	�d�dS)Nrurvr:)
rrrrrSr�r'�getSystemId�getPublicId�
getLineNumberrwr4r4r5�test_expat_locator_noinfo�s


z)ExpatReaderTest.test_expat_locator_noinfocCsLt�}t|�}t�}|�|�|�t�|�|��t�|�|��d�dSrQ)	rrrrrUr0r'r�r�rwr4r4r5�test_expat_locator_withinfos

z+ExpatReaderTest.test_expat_locator_withinfocCsltj}t�t|�|�tj|�t�}t|�}t	�}|�
|�|�|�|�|�
�|�|�|��d�dSrQ)rr7r8r9r0r)rRrrrrrUr'r�r�)r3r$rYr3rr4r4r5�$test_expat_locator_withinfo_nonascii
s

z4ExpatReaderTest.test_expat_locator_withinfo_nonasciiN)'r>r?r@r4r6�requires_nonascii_filenamesr;r>rBrJrOrUr[r\r^rbrdrrgrjrkrlrmrorprqrsrtrxr{�unittestZskipIfr�r�r�r�r�r�r�r4r4r4r5r.lsH








�

r.c@s2eZdZdd�Zdd�Zdd�ZGdd�d�Zd	S)
�ErrorReportingTestc
Cs�t�}|�t��t�}|�td��d}|�|�z|�|�|��Wn4t	y~}z|�
|��|�WYd}~n
d}~00dS)Ns<foo bar foobar>za file name)rrrrrkrrLrUZfailrr'r�)r3rrMr(r�r4r4r5�test_expat_inpsource_location!s

z0ErrorReportingTest.test_expat_inpsource_locationcCsJt�}|�t��|�t|jtd��|�|��d�|�|�	�d�dS)Nz<foo>�r:)
rrrr rrUrr'�getColumnNumberr�)r3rr4r4r5�test_expat_incomplete.s
z(ErrorReportingTest.test_expat_incompletecCsdttdd|�dd���ttdd|�dd���ttdd|�dd���ttdd|�dd���dS)N�messager:)�strr�DummyLocatorrSr4r4r5�test_sax_parse_exception_str5s
�
�
�
�z/ErrorReportingTest.test_sax_parse_exception_strc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)zErrorReportingTest.DummyLocatorcCs||_||_dSrQ)�_lineno�_colno)r3�lineno�colnor4r4r5rEHsz(ErrorReportingTest.DummyLocator.__init__cCsdS)NZpubidr4rSr4r4r5r�Lsz+ErrorReportingTest.DummyLocator.getPublicIdcCsdS)NZsysidr4rSr4r4r5r�Osz+ErrorReportingTest.DummyLocator.getSystemIdcCs|jSrQ)r�rSr4r4r5r�Rsz-ErrorReportingTest.DummyLocator.getLineNumbercCs|jSrQ)r�rSr4r4r5r�Usz/ErrorReportingTest.DummyLocator.getColumnNumberN)r>r?r@rEr�r�r�r�r4r4r4r5r�Gs
r�N)r>r?r@r�r�r�r�r4r4r4r5r� s
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
XmlReaderTestcCs|�ti��dSrQ)r6rrSr4r4r5�test_attrs_emptyaszXmlReaderTest.test_attrs_emptycCs|�tddi��dS)Nrr;)r=rrSr4r4r5�test_attrs_wattrdszXmlReaderTest.test_attrs_wattrcCs|�tii��dSrQ)r9rrSr4r4r5�test_nsattrs_emptygsz 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)Nrr;r7r:r)rr8r'r(r)r*r+r<r-r.r/r0r1r"r#r$r%r2r4r4r5�test_nsattrs_wattrjs$
�z XmlReaderTest.test_nsattrs_wattrN)r>r?r@r�r�r�r�r4r4r4r5r�^sr��__main__)N).).)SrVrrrrrr�rZSkipTestZxml.sax.saxutilsrr	r
rrr
Zxml.sax.expatreaderrZxml.sax.handlerrrZxml.sax.xmlreaderrrr�iorrrZos.pathr<r�r8Zurllib.errorrZurllib.requestrWr�rZtest.supportrrrr0ZTEST_XMLFILE_OUTrG�UnicodeEncodeErrorZsupports_nonascii_filenames�path�supports_unicode_filenamesr7ZTESTFN_ENCODING�UnicodeError�	TypeErrorZ
skipUnlessr�r8ZTestCaserrErIrOrPr{r�r�r�rrrrr"r+r*rLrNr�r1r.r�r�r>�mainr4r4r4r5�<module>s�
 


�5


|54Sc(7>!


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