a 5êdgÃjã@sRddlmZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z Gdd„dejƒZdZGd d „d ejƒZGd d „d ejƒZGd d„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZedkrNe ¡dS) é)ÚBytesION)Úexpat)Úerrors)Úsortdictc@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚSetAttributeTestcCstjdd|_dS©Nú!©Znamespace_separator)rÚ ParserCreateÚparser©Úself©rú-/usr/local/lib/python3.9/test/test_pyexpat.pyÚsetUpszSetAttributeTest.setUpcCs:| |jjd¡dD] }||j_| |jjt|ƒ¡qdS©NF)réér)ÚassertIsr Ú buffer_textÚbool©r ÚxrrrÚtest_buffer_textsz!SetAttributeTest.test_buffer_textcCs:| |jjd¡dD] }||j_| |jjt|ƒ¡qdSr)rr Znamespace_prefixesrrrrrÚtest_namespace_prefixessz(SetAttributeTest.test_namespace_prefixescCs:| |jjd¡dD] }||j_| |jjt|ƒ¡qdSr)rr Zordered_attributesrrrrrÚtest_ordered_attributes"sz(SetAttributeTest.test_ordered_attributescCs:| |jjd¡dD] }||j_| |jjt|ƒ¡qdSr)rr Zspecified_attributesrrrrrÚtest_specified_attributes(sz*SetAttributeTest.test_specified_attributescCs®| t¡d|j_Wdƒn1s(0Y| t¡|jjWdƒn1sZ0Y| tt|jtdƒd¡| t|jjtdƒd¡| tt|jtdƒ¡dS)Nrér) Ú assertRaisesÚAttributeErrorr Zreturns_unicodeÚ TypeErrorÚsetattrÚrangeÚ __setattr__Úgetattrr rrrÚtest_invalid_attributes.s & &z(SetAttributeTest.test_invalid_attributesN) Ú__name__Ú __module__Ú __qualname__rrrrrr%rrrrrs rs¼ %unparsed_entity; ]> Contents of subelements &external_entity; &skipped_entity; µ c@sReZdZGdd„dƒZgd¢Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dS)Ú ParseTestc@sÄeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„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__WszParseTest.Outputter.__init__cCs$|j dt|ƒdt|ƒ¡dS)NzStart element: ú )r+ÚappendÚreprr©r ÚnameÚattrsrrrÚStartElementHandlerZsÿz'ParseTest.Outputter.StartElementHandlercCs|j dt|ƒ¡dS)Nz End element: ©r+r.r/©r r1rrrÚEndElementHandler^sz%ParseTest.Outputter.EndElementHandlercCs$| ¡}|r |j dt|ƒ¡dS)NzCharacter data: )Ústripr+r.r/©r ÚdatarrrÚCharacterDataHandlerasz(ParseTest.Outputter.CharacterDataHandlercCs$|j dt|ƒdt|ƒ¡dS)NzPI: r-r4)r Útargetr9rrrÚProcessingInstructionHandlerfsz0ParseTest.Outputter.ProcessingInstructionHandlercCs$|j dt|ƒdt|ƒ¡dS)Nz NS decl: r-r4)r ÚprefixZurirrrÚStartNamespaceDeclHandlerisz-ParseTest.Outputter.StartNamespaceDeclHandlercCs|j dt|ƒ¡dS)NzEnd of NS decl: r4)r r=rrrÚEndNamespaceDeclHandlerlsz+ParseTest.Outputter.EndNamespaceDeclHandlercCs|j d¡dS)NúStart of CDATA section©r+r.r rrrÚStartCdataSectionHandlerosz,ParseTest.Outputter.StartCdataSectionHandlercCs|j d¡dS)NúEnd of CDATA sectionrAr rrrÚEndCdataSectionHandlerrsz*ParseTest.Outputter.EndCdataSectionHandlercCs|j dt|ƒ¡dS)Nz Comment: r4©r ÚtextrrrÚCommentHandlerusz"ParseTest.Outputter.CommentHandlercGs"|\}}}}|j d|f¡dS)NzNotation declared: %srA)r Úargsr1ÚbaseZsysidZpubidrrrÚNotationDeclHandlerxs z'ParseTest.Outputter.NotationDeclHandlercGs$|\}}}}}|j d|f¡dS)NzUnparsed entity decl: %srA)r rHZ entityNamerIZsystemIdZpublicIdZ notationNamerrrÚUnparsedEntityDeclHandler|sz-ParseTest.Outputter.UnparsedEntityDeclHandlercCs|j d¡dS)NúNot standalonerrAr rrrÚNotStandaloneHandler€s z(ParseTest.Outputter.NotStandaloneHandlercGs*|\}}}}|j d|dd…f¡dS)NzExternal entity ref: %srrA)r rHÚcontextrIÚsysIdÚpubIdrrrÚExternalEntityRefHandler„s z,ParseTest.Outputter.ExternalEntityRefHandlercGs|j d|f¡dS)Nú Start doctyperrA©r rHrrrÚStartDoctypeDeclHandler‰sz+ParseTest.Outputter.StartDoctypeDeclHandlercCs|j d¡dS)Nú End doctyperrAr rrrÚEndDoctypeDeclHandlers z)ParseTest.Outputter.EndDoctypeDeclHandlercGs|j d|f¡dS)NúEntity declarationrrArSrrrÚEntityDeclHandler‘sz%ParseTest.Outputter.EntityDeclHandlercGs|j d|f¡dS)NúXML declarationrrArSrrrÚXmlDeclHandler•sz"ParseTest.Outputter.XmlDeclHandlercGs|j d|f¡dS)NúElement declarationrrArSrrrÚElementDeclHandler™sz&ParseTest.Outputter.ElementDeclHandlercGs|j d|f¡dS)NúAttribute list declarationrrArSrrrÚAttlistDeclHandlersz&ParseTest.Outputter.AttlistDeclHandlercGs|j d|f¡dS)NúSkipped entityrrArSrrrÚSkippedEntityHandler¡sz(ParseTest.Outputter.SkippedEntityHandlercCsdSr*r©r ZuserDatarrrÚDefaultHandler¥sz"ParseTest.Outputter.DefaultHandlercCsdSr*rrarrrÚDefaultHandlerExpand¨sz(ParseTest.Outputter.DefaultHandlerExpandN)r&r'r(r,r3r6r:r<r>r?rBrDrGrJrKrMrQrTrVrXrZr\r^r`rbrcrrrrÚ OutputterVs.rd)r3r6r:r<rKrJr>r?rGrBrDrbrcrMrQrTrVrXrZr\r^r`cCs"|jD]}t||t||ƒƒqdSr*)Ú handler_namesr!r$)r r Úhandlerr1rrrÚ_hookup_callbacks·s zParseTest._hookup_callbackscCs,gd¢}t||ƒD]\}}| ||¡qdS)N))rY)z1.0ú iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'rL)rR)Z quotationszquotations.dtdNr)r[)Úroot)rrNr)r])riZattr1ÚCDATANr)r])riZattr2rjNrzStart 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_)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í €) rdrr rgÚParser9r+rorrr$©r r+r rnrrrÚtest_parse_bytesås    zParseTest.test_parse_bytescCsF| ¡}tjdd}| ||¡| t d¡d¡|j}| |¡dS)Nrr rhT) rdrr rgrpr9Údecoder+rorqrrrÚtest_parse_strñs   zParseTest.test_parse_strcCsF| ¡}tjdd}| ||¡ttƒ}| |¡|j}| |¡dSr) rdrr rgrr9Ú ParseFiler+ro)r r+r ÚfilernrrrÚtest_parse_fileûs   zParseTest.test_parse_filecCsnt ¡}ttƒ}| |¡| tj¡}| |¡Wdƒn1sF0Y| t |j j ¡tj j ¡dSr*) rr rr9rurÚerrorrmZ ErrorStringÚ exceptionÚcoderZXML_ERROR_FINISHED)r r rvÚcmrrrÚtest_parse_agains (ÿzParseTest.test_parse_againN) r&r'r(rdrergrorrrtrwr|rrrrr)UsU &   r)c@s$eZdZdd„Zdd„Zdd„ZdS)ÚNamespaceSeparatorTestcCs$t ¡tjddtjdddS)Nr r-©rr r rrrÚ test_legals z!NamespaceSeparatorTest.test_legalc Cs ztjdd| ¡Wn4tyL}z| t|ƒd¡WYd}~n d}~00ztjdd| ¡Wn4tyš}z| t|ƒd¡WYd}~n d}~00dS)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 rmÚstrÚ ValueError)r ÚerrrÚ test_illegals   ÿ   ÿz#NamespaceSeparatorTest.test_illegalcCstjdddS)NÚr r~r rrrÚtest_zero_length*s z'NamespaceSeparatorTest.test_zero_lengthN)r&r'r(rr…r‡rrrrr}sr}c@seZdZdd„Zdd„ZdS)Ú InterningTestcsdt ¡}g‰‡fdd„}||_||_| dd¡ˆd}| tˆƒd¡ˆD]}| ||u¡qLdS)Ncsˆ |¡dSr*©r.)r1rH©ÚLrrÚ collector;sz%InterningTest.test..collectors Tré)rr r3r6rprmÚlenÚ assertTrue)r ÚprŒÚtagÚentryrrŠrÚtest7s  zInterningTest.testcCsNGdd„dƒ}tjdd}d|_||ƒ}|j|_| td¡| |jd¡dS)Nc@seZdZdd„Zdd„ZdS)z7InterningTest.test_issue9402..ExternalOutputtercSs||_d|_dSr*)r Ú parser_result©r r rrrr,Isz@InterningTest.test_issue9402..ExternalOutputter.__init__cSs|j d¡}| dd¡|_dS)Nr†óTr)r ZExternalEntityParserCreaterpr”)r rNrIrOrPZexternal_parserrrrrQMs zPInterningTest.test_issue9402..ExternalOutputter.ExternalEntityRefHandlerN)r&r'r(r,rQrrrrÚExternalOutputterHsr—rr rT)rr rrQrpr9rmr”)r r—r r+rrrÚtest_issue9402Fs  zInterningTest.test_issue9402N)r&r'r(r“r˜rrrrrˆ6srˆc@seZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zgfd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!S)"ÚBufferTextTestcCs&g|_t ¡|_d|j_|j|j_dS©Nr)Ústuffrr r rr:r rrrr[s zBufferTextTest.setUpc Cs&| |j|d||jtt|ƒf¡dS)Nz%s stuff = %r expected = %r)rmr›Úmapr‚)r ÚexpectedZlabelrrrÚcheckas  ÿÿzBufferTextTest.checkcCs|j |¡dSr*©r›r.rErrrr:fsz#BufferTextTest.CharacterDataHandlercCs@|j d|¡| d¡}|dkr,d|j_n|dkrz buffer-textZyesrÚnor)r›r.Úgetr r)r r1r2Zbtrrrr3is   z"BufferTextTest.StartElementHandlercCs|j d|¡dS)NzrŸr5rrrr6qsz BufferTextTest.EndElementHandlercCs|j d|¡dS)Nz rŸr8rrrrGtszBufferTextTest.CommentHandlercCs"|D]}t|j|t||ƒƒqdSr*)r!r r$)r Úhandlersr1rrrÚ setHandlerswszBufferTextTest.setHandlerscCst ¡}| |j¡dSr*)rr Ú assertFalserr•rrrÚtest_default_to_disabled{sz'BufferTextTest.test_default_to_disabledcCs2| |jj¡|j dd¡| |jdgd¡dS)Nó123TZ123ú$buffered text not properly collapsed)rr rrprmr›r rrrÚtest_buffering_enableds  ÿz%BufferTextTest.test_buffering_enabledcCs2| dg¡|j dd¡| |jgd¢d¡dS)Nr3s912 34 5T)úÚ1úÚ2Ú Ú3úz4 5z*buffering control not reacting as expected©r£r rprmr›r rrrÚtest1†s  þzBufferTextTest.test1cCs$|j dd¡| |jdgd¡dS)Ns&1<2> 3Tz1<2> 3r§)r rprmr›r rrrÚtest2s ÿzBufferTextTest.test2cCs2| dg¡|j dd¡| |jgd¢d¡dS)Nr3r¦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)Nr3r6r¦T)r©r«úr¯úú)r£r r:rprmr›r rrrÚtest4šs ÿzBufferTextTest.test4cCs2| ddg¡|j dd¡| |jgd¢¡dS)Nr3r6s123T) r©rªr«rµr¬r¯r¶r®r·r°r rrrÚtest5¡s ÿzBufferTextTest.test5cCs4| gd¢¡|j dd¡| |jgd¢d¡dS)N©rGr6r3s12345 T) r©rªr«rµr¬r¯r¶Z345r·r³r°r rrrÚtest6§s þzBufferTextTest.test6cCs4| gd¢¡|j dd¡| |jgd¢d¡dS)Nrºs,12345 T) r©rªr«rµr¬r¯r¶r®z Ú4z Ú5r·r³r°r rrrÚtest7¯s ýzBufferTextTest.test7N)r&r'r(rržr:r3r6rGr£r¥r¨r±r²r´r¸r¹r»r¾rrrrr™Zs   r™c@s$eZdZdd„Zdd„Zdd„ZdS)ÚHandlerExceptionTestcCs t|ƒ‚dSr*)Ú RuntimeErrorr0rrrr3»sz(HandlerExceptionTest.StartElementHandlercCs,| tj |d¡|¡| |d|¡dS)Nrr)rmÚosÚpathÚbasename)r r’ÚfilenameÚfuncnamerrrÚcheck_traceback_entry¾sz*HandlerExceptionTest.check_traceback_entryc Csøt ¡}|j|_z| dd¡| ¡WnÊtyò}z²| |jdddd|jd¡t  |j ¡}| t |ƒd¡|  |ddd ¡|  |d d d ¡|  |d dd¡t  ¡rÞtjdkrÊt ¡dksÞ| d|d d¡WYd}~n d}~00dS)NsTrÚaz*Expected RuntimeError for element 'a', butz found %réztest_pyexpat.pyÚtest_exceptionrz pyexpat.cZ StartElementrr3Úwin32ZARMzcall_with_frame("StartElement")rr r3rprrÀrmrHÚ tracebackÚ extract_tbÚ __traceback__rŽrÆÚ sysconfigZis_python_buildÚsysÚplatformÚmachineZassertIn)r r r„ÚentriesrrrrÉÂs0   ÿÿ  ÿ ÿ ÿz#HandlerExceptionTest.test_exceptionN)r&r'r(r3rÆrÉrrrrr¿ºsr¿c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú PositionTestcCs| d¡dS)NÚs©Ú check_posr0rrrr3Ûsz PositionTest.StartElementHandlercCs| d¡dS)Nr„rÕr5rrrr6ÞszPositionTest.EndElementHandlercCsd||jj|jj|jjf}| |jt|jƒkd¡|j|j}| ||d||f¡|jd7_dS)Nztoo many parser eventsz%Expected position %s, got position %sr) r ZCurrentByteIndexZCurrentLineNumberZCurrentColumnNumberrÚuptorŽÚ expected_listrm)r ÚeventÚposrrrrrÖásýÿ  ÿzPositionTest.check_poscCsDt ¡|_|j|j_|j|j_d|_gd¢|_d}|j |d¡dS)Nr))rÔrrr)rÔérr)rÔé rÈr)r„rrÈr)r„éér)r„érÛrs T)rr r r3r6r×rØrp)r Úxmlrrrr“ís    zPositionTest.testN)r&r'r(r3r6rÖr“rrrrrÓÚs rÓc@seZdZdd„ZdS)Ú sf1296433TestcsLdd}Gdd„dtƒ‰‡fdd„}t ¡}||_| t|j| d¡¡dS)Nz1%sAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac@s eZdZdS)zAsf1296433Test.test_parse_only_xml_data..SpecificExceptionN)r&r'r(rrrrÚSpecificExceptionsrâcsˆ‚dSr*r)rF©rârrrfsz7sf1296433Test.test_parse_only_xml_data..handlerÚiso8859)Ú Exceptionrr r:rrpÚencode)r ràrfr rrãrÚtest_parse_only_xml_dataús  z&sf1296433Test.test_parse_only_xml_dataN)r&r'r(rçrrrrráùsrác@sTeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dS)ÚChardataBufferTestcCs| | d¡d¡dS)Nir©rmÚsmall_buffer_testr rrrÚtest_1025_bytessz"ChardataBufferTest.test_1025_bytescCs| | d¡d¡dS)Nièrrér rrrÚtest_1000_bytessz"ChardataBufferTest.test_1000_bytescCsÜt ¡}d|_| t¡d|_Wdƒn1s40Y| t¡d|_Wdƒn1sd0Y| ttf¡tjd|_Wdƒn1sž0Y| t ¡d|_Wdƒn1sÎ0YdS)Nréÿÿÿÿrg€@) rr rrrƒÚ 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+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaairrr) rr Úcounting_handlerr:rîrÚnrprm©r Úxml1Úxml2r rrrÚ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¡qŒ| |jd ¡d|_|  |j¡| |jd¡| |d ¡| |jd ¡dS) Ns+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbsccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccrérFé rÜTé ) rr ròr:rrîrmrórpr¤r"r)r rõröZxml3r ÚirrrÚtest_disabling_buffer:s.     z(ChardataBufferTest.test_disabling_buffercCs|jd7_dSrš)rórErrrròXsz#ChardataBufferTest.counting_handlercCsBdd|d}t ¡}|j|_d|_d|_d|_| |¡|jS)Ns+óasrørr)rr ròr:rîrrórp)r Z buffer_lenràr rrrrê[s z$ChardataBufferTest.small_buffer_testcCs~d}d}t ¡}|j|_d|_d|_| |jd¡d|_| |d¡|jd9_| |jd¡| |d ¡| |jd¡dS) Ns.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaóaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrørFréT© rr ròr:rrîrmrórprô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.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarþrrÿrFrrøTrÞrrôrrrÚtest_change_size_2vs   z%ChardataBufferTest.test_change_size_2N) r&r'r(rërìrñr÷rüròrêrrrrrrrè s  rèc@seZdZdd„Zdd„ZdS)ÚMalformedInputTestc Cs`d}t ¡}z| |d¡| ¡Wn6tjyZ}z| t|ƒd¡WYd}~n d}~00dS)Ns Tz unclosed token: line 2, column 0)rr rprÚ ExpatErrorrmr‚©r ràr r„rrrr±‡s  zMalformedInputTest.test1cCsNd}t ¡}d}| tj|¡| |d¡Wdƒn1s@0YdS)Ns z3XML declaration not well-formed: line 1, column \d+T)rr ZassertRaisesRegexrrp)r ràr Z err_patternrrrr²s zMalformedInputTest.test2N)r&r'r(r±r²rrrrr†s rc@seZdZdd„Zdd„ZdS)ÚErrorMessageTestcCs | tjtjtjtj¡dSr*)rmrZXML_ERROR_SYNTAXÚmessagesÚcodesr rrrÚ test_codes™sÿzErrorMessageTest.test_codesc Csfd}t ¡}z| |d¡| ¡Wn<tjy`}z"| |jtjtj ¡WYd}~n d}~00dS)Nó.resolve_entityTs)NN©rr Z UseForeignDTDZSetParamEntityParsingZXML_PARAM_ENTITY_PARSING_ALWAYSrQrprm©r rr rrrÚtest_use_foreign_dtd­s       z$ForeignDTDTests.test_use_foreign_dtdcsPg‰‡fdd„}t ¡}| d¡| tj¡||_| d¡| ˆdg¡dS)Ncsˆ ||f¡dSršr‰r rrrrÐszCForeignDTDTests.test_ignore_use_foreign_dtd..resolve_entityTs@)ZbarZbazrrrrrÚtest_ignore_use_foreign_dtdÉs   ÿz+ForeignDTDTests.test_ignore_use_foreign_dtdN)r&r'r(rrrrrrr ©sr Ú__main__)ÚiorrÁrÐrÏrÎZunittestrËZ xml.parsersrZxml.parsers.expatrZ test.supportrZTestCaserr9r)r}rˆr™r¿rÓrárèrrr r&ÚmainrrrrÚs2    (?#$` z4