Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.118.49.198
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_pyexpat.cpython-310.pyc
o

ab�j�@sTddlmZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
Gdd�dej�ZdZGd	d
�d
ej�ZGdd�dej�ZGd
d�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedkr�e��dSdS) �)�BytesION)�expat)�errors)�sortdictc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�SetAttributeTestcCstjdd�|_dS�N�!�Znamespace_separator)r�ParserCreate�parser��self�r�:/usr/local/python-3.10/lib/python3.10/test/test_pyexpat.py�setUp�zSetAttributeTest.setUpcC�:|�|jjd�dD]}||j_|�|jjt|��q
dS�NF)r��r)�assertIsr�buffer_text�bool�r
�xrrr�test_buffer_text�
�z!SetAttributeTest.test_buffer_textcCrr)rrZnamespace_prefixesrrrrr�test_namespace_prefixesrz(SetAttributeTest.test_namespace_prefixescCrr)rrZordered_attributesrrrrr�test_ordered_attributes"rz(SetAttributeTest.test_ordered_attributescCrr)rrZspecified_attributesrrrrr�test_specified_attributes(rz*SetAttributeTest.test_specified_attributescCs�|�t��d|j_Wd�n1swY|�t��|jjWd�n1s-wY|�tt|jtd�d�|�t|jjtd�d�|�tt|jtd��dS)Nr�r)	�assertRaises�AttributeErrorrZreturns_unicode�	TypeError�setattr�range�__setattr__�getattrrrrr�test_invalid_attributes.s
�
�z(SetAttributeTest.test_invalid_attributesN)	�__name__�
__module__�__qualname__rrrrrr(rrrrrsrs�<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<?xml-stylesheet href="stylesheet.css"?>
<!-- comment data -->
<!DOCTYPE quotations SYSTEM "quotations.dtd" [
<!ELEMENT root ANY>
<!ATTLIST root attr1 CDATA #REQUIRED attr2 CDATA #IMPLIED>
<!NOTATION notation SYSTEM "notation.jpeg">
<!ENTITY acirc "&#226;">
<!ENTITY external_entity SYSTEM "entity.file">
<!ENTITY unparsed_entity SYSTEM "entity.file" NDATA notation>
%unparsed_entity;
]>

<root attr1="value1" attr2="value2&#8000;">
<myns:subelement xmlns:myns="http://www.python.org/namespace">
     Contents of subelements
</myns:subelement>
<sub2><![CDATA[contents of CDATA section]]></sub2>
&external_entity;
&skipped_entity;
�
</root>
c@sReZdZGdd�d�Zgd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�	ParseTestc@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/S)0zParseTest.OutputtercCs
g|_dS�N)�outrrrr�__init__Ws
zParseTest.Outputter.__init__cCs$|j�dt|�dt|��dS)NzStart element: � )r.�append�reprr�r
�name�attrsrrr�StartElementHandlerZs
�z'ParseTest.Outputter.StartElementHandlercC�|j�dt|��dS)Nz
End element: �r.r1r2�r
r4rrr�EndElementHandler^�z%ParseTest.Outputter.EndElementHandlercCs(|��}|r|j�dt|��dSdS)NzCharacter data: )�stripr.r1r2�r
�datarrr�CharacterDataHandleras�z(ParseTest.Outputter.CharacterDataHandlercC�$|j�dt|�dt|��dS)NzPI: r0r8)r
�targetr>rrr�ProcessingInstructionHandlerf�$z0ParseTest.Outputter.ProcessingInstructionHandlercCr@)Nz	NS decl: r0r8)r
�prefixZurirrr�StartNamespaceDeclHandlerirCz-ParseTest.Outputter.StartNamespaceDeclHandlercCr7)NzEnd of NS decl: r8)r
rDrrr�EndNamespaceDeclHandlerlr;z+ParseTest.Outputter.EndNamespaceDeclHandlercC�|j�d�dS)N�Start of CDATA section�r.r1rrrr�StartCdataSectionHandlero�z,ParseTest.Outputter.StartCdataSectionHandlercCrG)N�End of CDATA sectionrIrrrr�EndCdataSectionHandlerrrKz*ParseTest.Outputter.EndCdataSectionHandlercCr7)Nz	Comment: r8�r
�textrrr�CommentHandlerur;z"ParseTest.Outputter.CommentHandlercGs"|\}}}}|j�d|f�dS)NzNotation declared: %srI)r
�argsr4�baseZsysidZpubidrrr�NotationDeclHandlerxsz'ParseTest.Outputter.NotationDeclHandlercGs$|\}}}}}|j�d|f�dS)NzUnparsed entity decl: %srI)r
rQZ
entityNamerRZsystemIdZpublicIdZnotationNamerrr�UnparsedEntityDeclHandler|sz-ParseTest.Outputter.UnparsedEntityDeclHandlercC�|j�d�dS)N�Not standalonerrIrrrr�NotStandaloneHandler��z(ParseTest.Outputter.NotStandaloneHandlercGs*|\}}}}|j�d|dd�f�dS)NzExternal entity ref: %srrI)r
rQ�contextrR�sysId�pubIdrrr�ExternalEntityRefHandler�sz,ParseTest.Outputter.ExternalEntityRefHandlercG�|j�d|f�dS)N�
Start doctyperrI�r
rQrrr�StartDoctypeDeclHandler��z+ParseTest.Outputter.StartDoctypeDeclHandlercCrU)N�End doctyperrIrrrr�EndDoctypeDeclHandler�rXz)ParseTest.Outputter.EndDoctypeDeclHandlercGr])N�Entity declarationrrIr_rrr�EntityDeclHandler�raz%ParseTest.Outputter.EntityDeclHandlercGr])N�XML declarationrrIr_rrr�XmlDeclHandler�raz"ParseTest.Outputter.XmlDeclHandlercGr])N�Element declarationrrIr_rrr�ElementDeclHandler�raz&ParseTest.Outputter.ElementDeclHandlercGr])N�Attribute list declarationrrIr_rrr�AttlistDeclHandler�raz&ParseTest.Outputter.AttlistDeclHandlercGr])N�Skipped entityrrIr_rrr�SkippedEntityHandler�raz(ParseTest.Outputter.SkippedEntityHandlercC�dSr-r�r
ZuserDatarrr�DefaultHandler��z"ParseTest.Outputter.DefaultHandlercCrnr-rrorrr�DefaultHandlerExpand�rqz(ParseTest.Outputter.DefaultHandlerExpandN)r)r*r+r/r6r:r?rBrErFrJrMrPrSrTrWr\r`rcrergrirkrmrprrrrrr�	OutputterVs0rs)r6r:r?rBrTrSrErFrPrJrMrprrrWr\r`rcrergrirkrmcCs"|jD]}t||t||��qdS)z{
        Set each of the callbacks defined on handler and named in
        self.handler_names on the given parser.
        N)�
handler_namesr$r')r
r�handlerr4rrr�_hookup_callbacks�s
�zParseTest._hookup_callbackscCs,gd�}t||�D]
\}}|�||�q	dS)N))rf)z1.0�
iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'rV)r^)Z
quotationszquotations.dtdNr)rh)�root)rrNr)rj)rxZattr1�CDATANr)rj)rxZattr2ryNrz<Notation declared: ('notation', None, 'notation.jpeg', None))rd)Zacircr�âNNNN)rd)Zexternal_entityrNNzentity.fileNNzPUnparsed entity decl: ('unparsed_entity', None, 'entity.file', None, 'notation')rVrbu?Start element: 'root' {'attr1': 'value1', 'attr2': 'value2ὀ'}z1NS decl: 'myns' 'http://www.python.org/namespace'z>Start element: 'http://www.python.org/namespace!subelement' {}z)Character data: 'Contents of subelements'z9End element: 'http://www.python.org/namespace!subelement'zEnd of NS decl: 'myns'zStart element: 'sub2' {}rHz+Character data: 'contents of CDATA section'rLzEnd element: 'sub2'z0External entity ref: (None, 'entity.file', None))rl)Zskipped_entityruCharacter data: 'µ'zEnd element: 'root')�zip�assertEqual)r
�
operationsZexpected_operationsZ	operationZexpected_operationrrr�_verify_parse_output�s"�zParseTest._verify_parse_outputcCsP|��}tjdd�}|�||�|�td�|j}|�|�|�t	t
|d�dS)Nrr	Tu�)rsrr
rv�Parser>r.r~r!r"r'�r
r.rr}rrr�test_parse_bytes�s
zParseTest.test_parse_bytescCsF|��}tjdd�}|�||�|�t�d�d�|j}|�|�dS)Nrr	rwT)	rsrr
rvrr>�decoder.r~r�rrr�test_parse_str�szParseTest.test_parse_strcCsF|��}tjdd�}|�||�tt�}|�|�|j}|�|�dSr)	rsrr
rvrr>�	ParseFiler.r~)r
r.r�filer}rrr�test_parse_file�s
zParseTest.test_parse_filecCsnt��}tt�}|�|�|�tj��
}|�|�Wd�n1s#wY|�t�|j	j
�tjj�dSr-)
rr
rr>r�r!�errorr|ZErrorString�	exception�coderZXML_ERROR_FINISHED)r
rr��cmrrr�test_parse_agains
��zParseTest.test_parse_againN)r)r*r+rsrtrvr~r�r�r�r�rrrrr,UsU&
r,c@�$eZdZdd�Zdd�Zdd�ZdS)�NamespaceSeparatorTestcCs$t��tjdd�tjdd�dS)Nr	r0�rr
rrrr�
test_legalsz!NamespaceSeparatorTest.test_legalc
Cs�ztjdd�|��Wnty&}z|�t|�d�WYd}~nd}~wwz
tjdd�|��WdStyO}z|�t|�d�WYd}~dSd}~ww)N�*r	zJParserCreate() argument 'namespace_separator' must be str or None, not intztoo longzCnamespace_separator must be at most one character, omitted, or None)rr
�failr#r|�str�
ValueError)r
�errr�test_illegals$
���
���z#NamespaceSeparatorTest.test_illegalcCstjdd�dS)N�r	r�rrrr�test_zero_length*s	z'NamespaceSeparatorTest.test_zero_lengthN)r)r*r+r�r�r�rrrrr�sr�c@�eZdZdd�Zdd�ZdS)�
InterningTestcsdt��}g��fdd�}||_||_|�dd��d}|�t��d��D]	}|�||u�q&dS)Ncs��|�dSr-�r1)r4rQ��Lrr�	collector;�z%InterningTest.test.<locals>.collectors<e> <e/> <e></e> </e>Tr�)rr
r6r:rr|�len�
assertTrue)r
�pr��tag�entryrr�r�test7s�zInterningTest.testcCsNGdd�d�}tjdd�}d|_||�}|j|_|�td�|�|jd�dS)Nc@r�)z7InterningTest.test_issue9402.<locals>.ExternalOutputtercSs||_d|_dSr-)r�
parser_result�r
rrrrr/Is
z@InterningTest.test_issue9402.<locals>.ExternalOutputter.__init__cSs|j�d�}|�dd�|_dS)Nr��Tr)rZExternalEntityParserCreaterr�)r
rYrRrZr[Zexternal_parserrrrr\MszPInterningTest.test_issue9402.<locals>.ExternalOutputter.ExternalEntityRefHandlerN)r)r*r+r/r\rrrr�ExternalOutputterHsr�rr	rT)rr
rr\rr>r|r�)r
r�rr.rrr�test_issue9402Fs
zInterningTest.test_issue9402N)r)r*r+r�r�rrrrr�6sr�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zgfd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�BufferTextTestcCs&g|_t��|_d|j_|j|j_dS�Nr)�stuffrr
rrr?rrrrr[s
zBufferTextTest.setUpc
Cs&|�|j|d||jtt|�f�dS)Nz%s
stuff    = %r
expected = %r)r|r��mapr�)r
�expectedZlabelrrr�checkas

��zBufferTextTest.checkcCs|j�|�dSr-�r�r1rNrrrr?frKz#BufferTextTest.CharacterDataHandlercCsF|j�d|�|�d�}|dkrd|j_dS|dkr!d|j_dSdS)Nz<%s>zbuffer-textZyesr�nor)r�r1�getrr)r
r4r5Zbtrrrr6is
�z"BufferTextTest.StartElementHandlercC�|j�d|�dS)Nz</%s>r�r9rrrr:q�z BufferTextTest.EndElementHandlercCr�)Nz	<!--%s-->r�r=rrrrPtr�zBufferTextTest.CommentHandlercCs"|D]}t|j|t||��qdSr-)r$rr')r
�handlersr4rrr�setHandlersws�zBufferTextTest.setHandlerscCst��}|�|j�dSr-)rr
�assertFalserr�rrr�test_default_to_disabled{sz'BufferTextTest.test_default_to_disabledcCs2|�|jj�|j�dd�|�|jdgd�dS)N�<a>1<b/>2<c/>3</a>TZ123�$buffered text not properly collapsed)r�rrrr|r�rrrr�test_buffering_enableds
�z%BufferTextTest.test_buffering_enabledcC�2|�dg�|j�dd�|�|jgd�d�dS)Nr6s9<a>1<b buffer-text='no'/>2
3<c buffer-text='yes'/>4
5</a>T)�<a>�1�<b>�2�
�3�<c>z4
5z*buffering control not reacting as expected�r�rrr|r�rrrr�test1�s�zBufferTextTest.test1cCs$|j�dd�|�|jdgd�dS)Ns&<a>1<b/>&lt;2&gt;<c/>&#32;
&#x20;3</a>Tz1<2> 
 3r�)rrr|r�rrrr�test2�s�zBufferTextTest.test2cCr�)Nr6r�T)r�r�r�r�r�r�� buffered text not properly splitr�rrrr�test3�s
�zBufferTextTest.test3cCs:|�ddg�d|j_|j�dd�|�|jgd��dS)Nr6r:r�T)r�r��</b>r��</c>�</a>)r�rr?rr|r�rrrr�test4�s�zBufferTextTest.test4cCs2|�ddg�|j�dd�|�|jgd��dS)Nr6r:s<a>1<b></b>2<c/>3</a>T)	r�r�r�r�r�r�r�r�r�r�rrrr�test5�s
�zBufferTextTest.test5cC�4|�gd��|j�dd�|�|jgd�d�dS)N�rPr:r6s<a>1<b/>2<c></c>345</a> T)	r�r�r�r�r�r�r�Z345r�r�r�rrrr�test6�s�zBufferTextTest.test6cCr�)Nr�s,<a>1<b/>2<c></c>3<!--abc-->4<!--def-->5</a> T)
r�r�r�r�r�r�r�r�z
<!--abc-->�4z
<!--def-->�5r�r�r�rrrr�test7�s�zBufferTextTest.test7N)r)r*r+rr�r?r6r:rPr�r�r�r�r�r�r�r�r�r�rrrrr�Zs"	r�c@r�)�HandlerExceptionTestcCst|��r-)�RuntimeErrorr3rrrr6�sz(HandlerExceptionTest.StartElementHandlercCs,|�tj�|d�|�|�|d|�dS)Nrr)r|�os�path�basename)r
r��filename�funcnamerrr�check_traceback_entry�sz*HandlerExceptionTest.check_traceback_entrycCst��}|j|_z
|�dd�|��WdSty�}zh|�|jdddd|jd�t�	|j
�}|�t|�d�|�|ddd	�|�|d
dd�|�|d
dd�t
��rwtjdkrft��dks~|�d|d
d�WYd}~dSWYd}~dSWYd}~dSd}~ww)Ns<a><b><c/></b></a>Tr�az*Expected RuntimeError for element 'a', butz	 found %r�ztest_pyexpat.py�test_exceptionrz	pyexpat.cZStartElementrr6�win32ZARMzcall_with_frame("StartElement")rr
r6rr�r�r|rQ�	traceback�
extract_tb�
__traceback__r�r��	sysconfigZis_python_build�sys�platform�machineZassertIn)r
rr��entriesrrrr��s6��
�
�
�"���z#HandlerExceptionTest.test_exceptionN)r)r*r+r6r�r�rrrrr��sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�PositionTestcC�|�d�dS)N�s��	check_posr3rrrr6�r�z PositionTest.StartElementHandlercCr�)Nr�r�r9rrrr:�r�zPositionTest.EndElementHandlercCsd||jj|jj|jjf}|�|jt|j�kd�|j|j}|�||d||f�|jd7_dS)Nztoo many parser eventsz%Expected position %s, got position %sr)	rZCurrentByteIndexZCurrentLineNumberZCurrentColumnNumberr��uptor��
expected_listr|)r
�event�posr�rrrr��s��
�zPositionTest.check_poscCsDt��|_|j|j_|j|j_d|_gd�|_d}|j�|d�dS)Nr))r�rrr)r��rr)r��r�r)r�r r�r�)r���r)r��r�rs<a>
 <b>
  <c/>
 </b>
</a>T)rr
rr6r:r�r�r)r
�xmlrrrr��s



zPositionTest.testN)r)r*r+r6r:r�r�rrrrr��s
r�c@seZdZdd�ZdS)�
sf1296433TestcsLdd}Gdd�dt���fdd�}t��}||_|�t|j|�d��dS)Nz1<?xml version='1.0' encoding='iso8859'?><s>%s</s>Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac@seZdZdS)zAsf1296433Test.test_parse_only_xml_data.<locals>.SpecificExceptionN)r)r*r+rrrr�SpecificExceptionsr�cs��r-r)rO�r�rrrurqz7sf1296433Test.test_parse_only_xml_data.<locals>.handler�iso8859)�	Exceptionrr
r?r!r�encode)r
r�rurrr�r�test_parse_only_xml_data�sz&sf1296433Test.test_parse_only_xml_dataN)r)r*r+r�rrrrr��sr�c@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS)�ChardataBufferTestz.
    test setting of chardata buffer size
    cC�|�|�d�d�dS)Nir�r|�small_buffer_testrrrr�test_1025_bytes�z"ChardataBufferTest.test_1025_bytescCr)Ni�rrrrrr�test_1000_bytesrz"ChardataBufferTest.test_1000_bytescCs�t��}d|_|�t��d|_Wd�n1swY|�t��d|_Wd�n1s2wY|�ttf��tjd|_Wd�n1sOwY|�t	��d|_Wd�dS1shwYdS)Nr���rg�@)
rr
rr!r��buffer_size�
OverflowErrorr��maxsizer#r�rrr�test_wrong_sizes���"�z"ChardataBufferTest.test_wrong_sizecCstd}d}t��}|j|_d|_d|_d|_|�|�|�|jd�|j|_|�|jd�|�|�|�|jd�dS)Ns+<?xml version='1.0' encoding='iso8859'?><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s>irrr)	rr
�counting_handlerr?rr�nrr|�r
�xml1�xml2rrrr�test_unchanged_size#s

z&ChardataBufferTest.test_unchanged_sizecCs�d}d}d}t��}|j|_d|_d|_|�|jd�d|_|�|d�|�|jd�|�|jd�d|_|�	|j�|�|jd�t
d�D]}|�|d�qF|�|jd	�d|_|�|j�|�|jd�|�|d
�|�|jd�dS)Ns+<?xml version='1.0' encoding='iso8859'?><a>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</a>r�rF�
r�T�)rr
rr?rrr|rrr�r%r�)r
rrZxml3r�irrr�test_disabling_buffer:s.z(ChardataBufferTest.test_disabling_buffercCs|jd7_dSr�)rrNrrrrXrz#ChardataBufferTest.counting_handlercCsBdd|d}t��}|j|_d|_d|_d|_|�|�|jS)Ns+<?xml version='1.0' encoding='iso8859'?><s>�as</s>rrr)rr
rr?rrrr)r
Z
buffer_lenr�rrrrr[s
z$ChardataBufferTest.small_buffer_testcCs~d}d}t��}|j|_d|_d|_|�|jd�d|_|�|d�|jd9_|�|jd�|�|d	�|�|jd�dS)
Ns.<?xml version='1.0' encoding='iso8859'?><a><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�aaa</s><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s></a>rrrFr�T�	rr
rr?rrr|rrr
rrr�test_change_size_1fsz%ChardataBufferTest.test_change_size_1cCs|d}d}t��}|j|_d|_d|_|�|jd�d|_|�|d�|jd|_|�|jd�|�|d	�|�|jd
�dS)Ns.<?xml version='1.0' encoding='iso8859'?><a>a<s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrFrrTr�rr
rrr�test_change_size_2vsz%ChardataBufferTest.test_change_size_2N)
r)r*r+�__doc__rrr
rrrrrrrrrrr�sr�c@r�)�MalformedInputTestc
Cs`d}t��}z
|�|d�|��WdStjy/}z|�t|�d�WYd}~dSd}~ww)Ns
Tz unclosed token: line 2, column 0)rr
rr��
ExpatErrorr|r��r
r�rr�rrrr��s��zMalformedInputTest.test1cCsPd}t��}d}|�tj|��|�|d�Wd�dS1s!wYdS)Ns<?xml version…='1.0'?>
z3XML declaration not well-formed: line 1, column \d+T)rr
ZassertRaisesRegexrr)r
r�rZerr_patternrrrr��s"�zMalformedInputTest.test2N)r)r*r+r�r�rrrrr�s	rc@r�)�ErrorMessageTestcCs |�tjtjtjtj�dSr-)r|rZXML_ERROR_SYNTAX�messages�codesrrrr�
test_codes�s�zErrorMessageTest.test_codesc
Csfd}t��}z
|�|d�|��WdStjy2}z|�|jtjtj	�WYd}~dSd}~ww)N�<T)
rr
rr�rr|r�rr"ZXML_ERROR_UNCLOSED_TOKENrrrr�test_expaterror�s
���z ErrorMessageTest.test_expaterrorN)r)r*r+r#r%rrrrr �sr c@s eZdZdZdd�Zdd�ZdS)�ForeignDTDTestszE
    Tests for the UseForeignDTD method of expat parser objects.
    cs�g��fdd�}t��}|�d�|�tj�||_|�d�|��dg�g�dd�<t��}|��|�tj�||_|�d�|��dg�dS)z�
        If UseForeignDTD is passed True and a document without an external
        entity reference is parsed, ExternalEntityRefHandler is first called
        with None for the public and system ids.
        c���||f�dSr�r��rYrRZ	system_idZ	public_id�Zhandler_call_argsrr�resolve_entity��z<ForeignDTDTests.test_use_foreign_dtd.<locals>.resolve_entityTs<?xml version='1.0'?><element/>)NNN�rr
Z
UseForeignDTDZSetParamEntityParsingZXML_PARAM_ENTITY_PARSING_ALWAYSr\rr|�r
r*rrr)r�test_use_foreign_dtd�s


z$ForeignDTDTests.test_use_foreign_dtdcsPg��fdd�}t��}|�d�|�tj�||_|�d�|��dg�dS)z�
        If UseForeignDTD is passed True and a document with an external
        entity reference is parsed, ExternalEntityRefHandler is called with
        the public and system ids from the document.
        cr'r�r�r(r)rrr*�r+zCForeignDTDTests.test_ignore_use_foreign_dtd.<locals>.resolve_entityTs@<?xml version='1.0'?><!DOCTYPE foo PUBLIC 'bar' 'baz'><element/>)ZbarZbazNr,r-rr)r�test_ignore_use_foreign_dtd�s
�z+ForeignDTDTests.test_ignore_use_foreign_dtdN)r)r*r+rr.r/rrrrr&�sr&�__main__)�iorr�r�r�r�Zunittestr�Zxml.parsersrZxml.parsers.expatrZtest.supportrZTestCaserr>r,r�r�r�r�r�r�r�rr r&r)�mainrrrr�<module>s6(?#$` z4�
© 2025 GrazzMean