python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_pyexpat.cpython-312.pyc

Αe~nddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZddl
mZmZmZGdd	ej&Zd
ZGddej&ZGd
dej&ZGddej&ZGddej&ZGddej&ZGddej&ZGddej&ZGddej&ZGddej&ZGddej&ZGdd ej&Z e!d!k(rejDyy)"N)BytesIO)support)	os_helper)expat)errors)sortdict
is_emscriptenis_wasic0eZdZdZdZdZdZdZdZy)SetAttributeTestc:tjd|_yN!namespace_separator)rParserCreateparserselfs E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_pyexpat.pysetUpzSetAttributeTest.setUps((SAc|j|jjddD]B}||j_|j|jjt|DyNF)rr)assertIsrbuffer_textboolrxs  rtest_buffer_textz!SetAttributeTest.test_buffer_textsQ

dkk--u5	<A&'DKK#MM$++1147;	<rc|j|jjddD]B}||j_|j|jjt|Dyr)rrnamespace_prefixesrr s  rtest_namespace_prefixesz(SetAttributeTest.test_namespace_prefixesS

dkk44e<	CA-.DKK*MM$++88$q'B	Crc|j|jjddD]B}||j_|j|jjt|Dyr)rrordered_attributesrr s  rtest_ordered_attributesz(SetAttributeTest.test_ordered_attributes$r&rc|j|jjddD]B}||j_|j|jjt|Dyr)rrspecified_attributesrr s  rtest_specified_attributesz*SetAttributeTest.test_specified_attributes*sS

dkk66>	EA/0DKK,MM$++::DGD	Erc"|jt5d|j_ddd|jt5|jjddd|jtt
|jt
dd|jt|jjt
dd|jtt|jt
dy#1swYxYw#1swYxYw)Nrr)	assertRaisesAttributeErrorrreturns_unicode	TypeErrorsetattrrange__setattr__getattrrs rtest_invalid_attributesz(SetAttributeTest.test_invalid_attributes0s


~
.	,*+DKK'	,


~
.	(KK''	(	
)Wdkk5:qI)T[[%<%<eCj!L)Wdkk5:F	,	,	(	(sC9D9DDN)	__name__
__module____qualname__rr"r%r)r,r7rrrrs%B<CCE	Grrs<?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>
cLeZdZGddZgdZdZdZdZdZdZ	d	Z
y
)	ParseTestceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZy)ParseTest.Outputtercg|_yN)outrs r__init__zParseTest.Outputter.__init__Ys	DHrcp|jjdt|zdzt|zy)NzStart element:  )rBappendreprrrnameattrss   rStartElementHandlerz'ParseTest.Outputter.StartElementHandler\s/HHOO-T
:S@$UO,
-rcR|jjdt|zy)Nz
End element: rBrFrGrrIs  rEndElementHandlerz%ParseTest.Outputter.EndElementHandler`sHHOOOd4j89rcx|j}|r(|jjdt|zyy)NzCharacter data: )striprBrFrGrdatas  rCharacterDataHandlerz(ParseTest.Outputter.CharacterDataHandlercs/::<D 2T$Z ?@rcp|jjdt|zdzt|zy)NzPI: rErM)rtargetrSs   rProcessingInstructionHandlerz0ParseTest.Outputter.ProcessingInstructionHandlerhs)HHOOFT&\1C7$t*DErcp|jjdt|zdzt|zy)Nz	NS decl: rErM)rprefixuris   rStartNamespaceDeclHandlerz-ParseTest.Outputter.StartNamespaceDeclHandlerks)HHOOK$v,6<tCyHIrcR|jjdt|zy)NzEnd of NS decl: rM)rrYs  rEndNamespaceDeclHandlerz+ParseTest.Outputter.EndNamespaceDeclHandlernsHHOO.f=>rc:|jjdy)NStart of CDATA sectionrBrFrs rStartCdataSectionHandlerz,ParseTest.Outputter.StartCdataSectionHandlerqsHHOO45rc:|jjdy)NEnd of CDATA sectionr`rs rEndCdataSectionHandlerz*ParseTest.Outputter.EndCdataSectionHandlertsHHOO23rcR|jjdt|zy)Nz	Comment: rMrtexts  rCommentHandlerz"ParseTest.Outputter.CommentHandlerwsHHOOK$t*45rcN|\}}}}|jjd|y)NzNotation declared: r`)rargsrIbasesysidpubids      rNotationDeclHandlerz'ParseTest.Outputter.NotationDeclHandlerzs#'+$D$uHHOOd<=rcP|\}}}}}|jjd|y)NzUnparsed entity decl: r`)rrj
entityNamerksystemIdpublicIdnotationNames       rUnparsedEntityDeclHandlerz-ParseTest.Outputter.UnparsedEntityDeclHandler~s%AE>Jh,HHOO?@rc:|jjdy)NNot standalonerr`rs rNotStandaloneHandlerz(ParseTest.Outputter.NotStandaloneHandlersHHOO,-rcT|\}}}}|jjd|ddy)NzExternal entity ref: rr`)rrjcontextrksysIdpubIds      rExternalEntityRefHandlerz,ParseTest.Outputter.ExternalEntityRefHandlers,*.'GT5%HHOOQRBCrc>|jjd|fy)N
Start doctyperr`rrjs  rStartDoctypeDeclHandlerz+ParseTest.Outputter.StartDoctypeDeclHandlersHHOO_d34rc:|jjdy)NEnd doctyperr`rs rEndDoctypeDeclHandlerz)ParseTest.Outputter.EndDoctypeDeclHandlersHHOOM*rc>|jjd|fy)NEntity declarationrr`rs  rEntityDeclHandlerz%ParseTest.Outputter.EntityDeclHandlersHHOO1489rc>|jjd|fy)NXML declarationrr`rs  rXmlDeclHandlerz"ParseTest.Outputter.XmlDeclHandlersHHOO.56rc>|jjd|fy)NElement declarationrr`rs  rElementDeclHandlerz&ParseTest.Outputter.ElementDeclHandlersHHOO2D9:rc>|jjd|fy)NAttribute list declarationrr`rs  rAttlistDeclHandlerz&ParseTest.Outputter.AttlistDeclHandlersHHOO94@Arc>|jjd|fy)NSkipped entityrr`rs  rSkippedEntityHandlerz(ParseTest.Outputter.SkippedEntityHandlersHHOO-t45rcyrAr;ruserDatas  rDefaultHandlerz"ParseTest.Outputter.DefaultHandlerrcyrAr;rs  rDefaultHandlerExpandz(ParseTest.Outputter.DefaultHandlerExpandrrN)r8r9r:rCrKrOrTrWr[r]rardrhrnrtrwr|rrrrrrrrrr;rr	Outputterr?Xsy		-	:	A
	F	J	?	6	4	6	>	A		
									rr)rKrOrTrWrtrnr[r]rhrardrrrwr|rrrrrrrc	T|jD]}t||t||y)z{
        Set each of the callbacks defined on handler and named in
        self.handler_names on the given parser.
        N)
handler_namesr3r6)rrhandlerrIs    r_hookup_callbackszParseTest._hookup_callbackss,
&&	:DFD''4"89	:rcXgd}t||D]\}}|j||y)N))r)z1.0
iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'rv)r~)
quotationszquotations.dtdNr)r)root)rrNr;)r)rattr1CDATANr)r)rattr2rNrz<Notation declared: ('notation', None, 'notation.jpeg', None))r)acircrâNNNN)r)external_entityrNNzentity.fileNNzPUnparsed entity decl: ('unparsed_entity', None, 'entity.file', None, 'notation')rvru?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' {}r_z+Character data: 'contents of CDATA section'rczEnd element: 'sub2'z0External entity ref: (None, 'entity.file', None))r)skipped_entityruCharacter data: 'µ'zEnd element: 'root')zipassertEqual)r
operationsexpected_operations	operationexpected_operations     r_verify_parse_outputzParseTest._verify_parse_outputs;!
D.1=P-Q	<)I)Y(:;	<rc|j}tjd}|j|||j	t
d|j}|j||jtt|dy)NrrTu)rrrrParserSrBrr/r0r6rrBrrs    rtest_parse_byteszParseTest.test_parse_bytessgnn##<vs+T4 WW
!!*-.'68Drc|j}tjd}|j|||j	t
j
dd|j}|j|y)NrrrT)	rrrrrrSdecoderBrrs    rtest_parse_strzParseTest.test_parse_strs\nn##<vs+T[[.5WW
!!*-rc|j}tjd}|j||t	t
}|j
||j}|j|yr)	rrrrrrS	ParseFilerBr)rrBrfilers     rtest_parse_filezParseTest.test_parse_files\nn##<vs+t}WW
!!*-rctj}tt}|j	||jtj5}|j	|ddd|jtjjjtjjy#1swY[xYwrA)
rrrrSrr/errorrErrorString	exceptioncoderXML_ERROR_FINISHED)rrrcms    rtest_parse_againzParseTest.test_parse_again	s##%t}

u{{
+	#rT"	#**2<<+<+<=,,99	;	#	#sCC	N)r8r9r:rrrrrrrrr;rrr=r=Ws6SSj

M:$<L
E.
.
;rr=ceZdZdZdZdZy)NamespaceSeparatorTestctjtjdtjdy)NrrErrrs r
test_legalz!NamespaceSeparatorTest.test_legals,	
t4
s3rcd	tjd|j	tjd|jy#t$r%}|j	t|dYd}~Qd}~wwxYw#t$r%}|j	t|dYd}~yd}~wwxYw)N*rzJParserCreate() argument 'namespace_separator' must be str or None, not intztoo longzCnamespace_separator must be at most one character, omitted, or None)rrfailr2rstr
ValueError)res  rtest_illegalz#NamespaceSeparatorTest.test_illegals	^26IIK
	W:>IIK
	^SV\
^
^	^	WSVU
W
W	Ws.&A&B	A>A99A>	B/
B**B/c0tjdy)Nrrrs rtest_zero_lengthz'NamespaceSeparatorTest.test_zero_length,s	r2rN)r8r9r:rrrr;rrrrs4
W	3rrceZdZdZdZy)
InterningTestctj}gfd}||_||_|j	ddd}|jt
dD]}|j||uy)Nc(j|yrArF)rIrjLs  r	collectorz%InterningTest.test.<locals>.collector=s
HHTNrs<e> <e/> <e></e> </e>Tr)rrrKrOrrlen
assertTrue)rprtagentryrs     @rtestzInterningTest.test9sv 	 )'	($/dQ#	*EOOC5L)	*rcGdd}tjd}d|_||}|j|_|j	t
d|j
|jdy)NceZdZdZdZy)7InterningTest.test_issue9402.<locals>.ExternalOutputterc ||_d|_yrA)r
parser_resultrrs  rrCz@InterningTest.test_issue9402.<locals>.ExternalOutputter.__init__Ks$%)"rch|jjd}|jdd|_y)NrrTr)rExternalEntityParserCreaterr)rryrkrzr{external_parsers      rr|zPInterningTest.test_issue9402.<locals>.ExternalOutputter.ExternalEntityRefHandlerOs."&++"H"H"L%4%:%:3%E"rN)r8r9r:rCr|r;rrExternalOutputterrJs
*
rrrrrT)rrrr|rrSrr)rrrrBs    rtest_issue9402zInterningTest.test_issue9402Hsb		##<'*-*F*F'T4 **A.rN)r8r9r:rrr;rrrr8s
*/rrcpeZdZdZdZdZdZdZdZgfdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZy)BufferTextTestcg|_tj|_d|j_|j
|j_yNr)stuffrrrrrTrs rrzBufferTextTest.setUp]s7
((*"#+/+D+D(rc~|j|j||d|jdtt|y)Nz
stuff    = z
expected = )rrmapr)rexpectedlabels   rcheckzBufferTextTest.checkcs/X$**c#x&8:	;rc:|jj|yrArrFrfs  rrTz#BufferTextTest.CharacterDataHandlerhs

$rc|jjd|z|jd}|dk(rd|j_y|dk(rd|j_yy)Nz<%s>zbuffer-textyesrnor)rrFgetrr)rrIrJbts    rrKz"BufferTextTest.StartElementHandlerksQ

&4-(
YY}
%
;&'DKK#
4Z&'DKK#rc@|jjd|zy)Nz</%s>rrNs  rrOz BufferTextTest.EndElementHandlerss

'D.)rc@|jjd|zy)Nz	<!--%s-->rrRs  rrhzBufferTextTest.CommentHandlervs

+,-rc	T|D]#}t|j|t||%yrA)r3rr6)rhandlersrIs   rsetHandlerszBufferTextTest.setHandlersys(	<DDKKwtT':;	<rcbtj}|j|jyrA)rrassertFalserrs  rtest_default_to_disabledz'BufferTextTest.test_default_to_disabled}s$##%++,rc|j|jj|jjdd|j	|j
dgdy)N<a>1<b/>2<c/>3</a>T123$buffered text not properly collapsed)rrrrrrrs rtest_buffering_enabledz%BufferTextTest.test_buffering_enabledsI//0/6eW?	Arc|jdg|jjdd|j|jgddy)NrKs9<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 expectedrrrrrrs rtest1zBufferTextTest.test1sG	
/01XZ^_KE	Grcx|jjdd|j|jdgdy)Ns&<a>1<b/>&lt;2&gt;<c/>&#32;
&#x20;3</a>Tz1<2> 
 3r)rrrrrs rtest2zBufferTextTest.test2s3DdKk]?	Arc|jdg|jjdd|j|jgddy)NrKrT)rrr
rrr buffered text not properly splitrrs rtest3zBufferTextTest.test3sC/01/6%I;	=rc|jddgd|j_|jjdd|j	|j
gdy)NrKrOrT)rr
</b>r</c></a>)rrrTrrrrs rtest4zBufferTextTest.test4sP/1DEF+/(/6F	Hrc|jddg|jjdd|j|jgdy)NrKrOs<a>1<b></b>2<c/>3</a>T)	rrr
rrrrrrrrs rtest5zBufferTextTest.test5sD/1DEF2D9H	Jrc|jgd|jjdd|j|jgddy)NrhrOrKs<a>1<b/>2<c></c>345</a> T)	rrr
rrrr345rrrrs rtest6zBufferTextTest.test6sD+	,5t<J.	0rc|jgd|jjdd|j|jgddy)Nr!s,<a>1<b/>2<c></c>3<!--abc-->4<!--def-->5</a> T)
rrr
rrrrrz
<!--abc-->4z
<!--def-->5rrrrs rtest7zBufferTextTest.test7sG+	,I4PH;	=rN)r8r9r:rrrTrKrOrhrrr	rrrrrr#r'r;rrrr\s]E;
 (*.$&<-AGA
=HJ0=rrcBeZdZdZdZejdZdZy)HandlerExceptionTestc td|d)NzStartElementHandler: <>)RuntimeErrorrHs   rrKz(HandlerExceptionTest.StartElementHandlers3D6;<<rc|jtjj|j||j|j
|yrA)rospathbasenamefilenamerI)rrr1funcnames    rcheck_traceback_entryz*HandlerExceptionTest.check_traceback_entrys9))%..98DX.rctjd}|r tjj	|}nd}|r0tj|5|j|dddy|j|y#1swYyxYw)Nabs_builddirF)	sysconfigget_config_varr.r/isdirr
change_cwd_test_exception)rsrc_dirhave_sources   rtest_exceptionz#HandlerExceptionTest.test_exceptionsw**>:''--0KK%%g.
2$$[1
2
2
  -
2
2sA>>Bctjjdd}tj}|j
|_	|j
dd|jd|jtd||j|dd	d
|j|dtjj!|d|j|d
d	d|r@tjj#|r |j%d|dj&yyy#t$rJ}|j|jdd|tj|j}Yd}~d}~wwxYw)NModulesz	pyexpat.cs<a><b><c/></b></a>Tz%the parser did not raise RuntimeErrorrzStartElementHandler: <a>ztest_pyexpat.pyr:rStartElementrrKzcall_with_frame("StartElement")r.r/joinrrrKrrr,rrj	traceback
extract_tb
__traceback__rr3r0existsassertInline)rr<	PYEXPAT_Crexcentriess      rr:z$HandlerExceptionTest._test_exceptionsFGGLLK8	##%%)%=%="	>LL.5II=>
	
Wq'2""71:#46G	I""71:#%77#3#3I#>#1	3	
""71:#46K	M277>>)4MM:!!*//
+5;!	>SXXa[*DcJ**3+<+<=G	>s#D((	E;1?E66E;N)	r8r9r:rKr3rcpython_onlyr=r:r;rrr)r)s+=/
.. +rr)c$eZdZdZdZdZdZy)PositionTestc&|jdy)Ns	check_posrHs   rrKz PositionTest.StartElementHandlersrc&|jdy)NrrQrNs  rrOzPositionTest.EndElementHandlerrSrcz||jj|jj|jjf}|j	|j
t
|jkd|j|j
}|j||d|d||xj
dz
c_y)Nztoo many parser eventszExpected position z, got position r)	rCurrentByteIndexCurrentLineNumberCurrentColumnNumberruptor
expected_listr)reventposrs    rrRzPositionTest.check_poss{{++{{,,{{..0	
		C(:(:$;;0	2%%dii0h:=xH	J		Q	rctj|_|j|j_|j|j_d|_gd|_d}|jj|dy)Nr))rPrrr)rPrr)rPr@r)rr.r@r)rr)rr^rs<a>
 <b>
  <c/>
 </b>
</a>T)rrrrKrOrYrZr)rxmls  rrzPositionTest.test	sc((**.*B*B'(,(>(>%	Q0#t$rN)r8r9r:rKrOrRrr;rrrNrNs
	%rrNceZdZdZy)
sf1296433Testcddz}Gddtfd}tj}||_|j	t|j
|j
dy)Nz1<?xml version='1.0' encoding='iso8859'?><s>%s</s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceZdZy)Asf1296433Test.test_parse_only_xml_data.<locals>.SpecificExceptionN)r8r9r:r;rrSpecificExceptionrisrrjcrAr;)rgrjs rrz7sf1296433Test.test_parse_only_xml_data.<locals>.handler s	##riso8859)	ExceptionrrrTr/rencode)rrcrrrjs    @rtest_parse_only_xml_dataz&sf1296433Test.test_parse_only_xml_datasXBZP				$##%&-#)V\\3::i3HIrN)r8r9r:ror;rrreresJrrecFeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)ChardataBufferTestz.
    test setting of chardata buffer size
    cF|j|jddy)Nirrsmall_buffer_testrs rtest_1025_bytesz"ChardataBufferTest.test_1025_bytes-//5q9rcF|j|jddy)Nirrsrs rtest_1000_bytesz"ChardataBufferTest.test_1000_bytes0rvrctj}d|_|jt5d|_ddd|jt5d|_ddd|jttf5tjdz|_ddd|jt5d|_dddy#1swYxYw#1swYwxYw#1swYGxYw#1swYyxYw)Nrrg@)
rrrr/rbuffer_size
OverflowErrorsysmaxsizer2rs  rtest_wrong_sizez"ChardataBufferTest.test_wrong_size3s##%


z
*	$!#F	$


z
*	#!"F	#



M:
;	1!$qF	1


y
)	'!&F	'	'
	$	$	#	#	1	1	'	's/CCC 7C,CC C),C5cd}d}tj}|j|_d|_d|_d|_|j||j|jd|j|_|j|jd|j||j|jdy)Ns+<?xml version='1.0' encoding='iso8859'?><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s>irrr)	rrcounting_handlerrTr{rnrrrxml1xml2rs    rtest_unchanged_sizez&ChardataBufferTest.test_unchanged_size?sJ!##%&*&;&;# T#$//#	T#rc d}d}d}tj}|j|_d|_d|_|j
|j
dd|_|j|d|j
|j
d|j
|jdd|_|j|j|j
|j
dtdD]}|j|d|j
|jd	d|_|j|j|j
|j
d|j|d
|j
|jdy)Ns+<?xml version='1.0' encoding='iso8859'?><a>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</a>rrF
r_T)rrrrTrr{rrrrr4r)rrrxml3ris      rtest_disabling_bufferz(ChardataBufferTest.test_disabling_bufferVsOJ$##%&*&;&;#!++T2T5!++T2#++,++T2r	&ALLu%	&$**+++T2T4 $rc.|xjdz
c_yr)rrfs  rrz#ChardataBufferTest.counting_handlerts!rcdd|zzdz}tj}|j|_d|_d|_d|_|j||jS)Ns+<?xml version='1.0' encoding='iso8859'?><s>as</s>rrr)rrrrTr{rrr)r
buffer_lenrcrs    rrtz$ChardataBufferTest.small_buffer_testws_<tj?PPSZZ##%&*&;&;#!Svv
rcd}d}tj}|j|_d|_d|_|j
|j
dd|_|j|d|xj
dzc_|j
|j
d|j|d	|j
|jdy)
Ns.<?xml version='1.0' encoding='iso8859'?><a><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s></a>rrrFrT	rrrrTrr{rrrrs    rtest_change_size_1z%ChardataBufferTest.test_change_size_1sN8##%&*&;&;#!++T2T5!a++T2T4 #rcd}d}tj}|j|_d|_d|_|j
|j
dd|_|j|d|j
dz|_|j
|j
d|j|d	|j
|jd
y)Ns.<?xml version='1.0' encoding='iso8859'?><a>a<s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrFrrTrarrs    rtest_change_size_2z%ChardataBufferTest.test_change_size_2sO8##%&*&;&;#!++T2T5!#//14++T2T4 #rN)
r8r9r:__doc__rurxrrrrrtrrr;rrrqrq(s4::
'$.%<	$ $rrqceZdZdZdZy)MalformedInputTestcd}tj}	|j|d|jy#tj$r%}|jt
|dYd}~yd}~wwxYw)Ns
Tz unclosed token: line 2, column 0)rrrr
ExpatErrorrrrrcrrs    rrzMalformedInputTest.test1sb##%	ILLd#IIK	ISV%GHH	Is";A3A..A3cd}tj}d}|jtj|5|j	|ddddy#1swYyxYw)Ns<?xml version…='1.0'?>
z3XML declaration not well-formed: line 1, column \d+T)rrassertRaisesRegexrr)rrcrerr_patterns    rrzMalformedInputTest.test2sS2##%L

#
#E$4$4k
B	$LLd#	$	$	$sAAN)r8r9r:rrr;rrrrs
I$rrceZdZdZdZy)ErrorMessageTestc|jtjtjtjtjyrA)rrXML_ERROR_SYNTAXmessagescodesrs r
test_codeszErrorMessageTest.test_codess400f6M6M)NO	Qrc,d}tj}	|j|d|jy#tj$rE}|j|jtjtjYd}~yd}~wwxYw)N<T)
rrrrrrrrrXML_ERROR_UNCLOSED_TOKENrs    rtest_expaterrorz ErrorMessageTest.test_expaterrorsw##%	LLLd#IIK	LQVV#\\&*I*IJ
L
L	Ls";B;BBN)r8r9r:rrr;rrrrsQ
LrrceZdZdZdZdZy)ForeignDTDTestszE
    Tests for the UseForeignDTD method of expat parser objects.
    cgfd}tj}|jd|jtj||_|j
d|jdggddtj}|j|jtj||_|j
d|jdgy)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,j||fyrrryrk	system_id	public_idhandler_call_argss    rresolve_entityz<ForeignDTDTests.test_use_foreign_dtd.<locals>.resolve_entity$$i%;<rTs<?xml version='1.0'?><element/>)NNNrr
UseForeignDTDSetParamEntityParsingXML_PARAM_ENTITY_PARSING_ALWAYSr|rrrrrrs   @rtest_use_foreign_dtdz$ForeignDTDTests.test_use_foreign_dtds	##%T"$$U%J%JK*8'78*\N; "!##%$$U%J%JK*8'78*\N;rcgfd}tj}|jd|jtj||_|j
d|jdgy)z
        If UseForeignDTD is passed True and a document with an external
        entity reference is parsed, ExternalEntityRefHandler is called with
        the public and system ids from the document.
        c,j||fyrrrs    rrzCForeignDTDTests.test_ignore_use_foreign_dtd.<locals>.resolve_entityrrTs@<?xml version='1.0'?><!DOCTYPE foo PUBLIC 'bar' 'baz'><element/>)barbazNrrs   @rtest_ignore_use_foreign_dtdz+ForeignDTDTests.test_ignore_use_foreign_dtdsn	##%T"$$U%J%JK*8'O	Q*^,<=rN)r8r9r:rrrr;rrrrs<8>rr__main__)#r.platformr}r6unittestrCiorrrtest.supportrxml.parsersrxml.parsers.expatrrr	r
TestCaserrSr=rrrr)rNrerqrrrr8mainr;rr<module>rs;

"$99%Gx((%GP6|;!!|;| 3X.. 3F!/H%%!/H\=X&&\=@6+8,,6+t%8$$%>JH%%J&x$**x$t$**$$Lx((L"1>h''1>hzHMMOr