a 5êdg·iã@s¬ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZddlmZddlmZmZmZmZmZdadaedddZze d ¡Wneyúe  d ¡‚Yn0ed ddZ ed ddZ!d Z"dZ#dZ$dZ%dZ&dZ'ddœdd„Z(Gdd„de j)ƒZ*dndd„Z+dd„Z,Gdd „d ƒZ-Gd!d"„d"e j)ƒZ.Gd#d$„d$e j)ƒZ/iZ0d%e0d&<d'e0d(<d)e0d*<d+e0d,<d-e0d.<d/e0d0<d1e0d2<d3e0d4<d5 1e 2ed¡¡e0d6<d7e0d8<iZ3d9e3d:<d;e3d<<d=e0d><d?e0d@<dAe0dB<GdCdD„dDe j)ƒZ4GdEdF„dFe j)ƒZ5GdGdH„dHe-e j)ƒZ6GdIdJ„dJe-e j)ƒZ7GdKdL„dLe8ƒZ9e8j:e9_:GdMdN„dNe8ƒZ;e8j:e;_:GdOdP„dPe-e j)ƒZGdUdV„dVe j)ƒZ?GdWdX„dXe j)ƒZ@GdYdZ„dZe j)ƒZAGd[d\„d\e j)ƒZBGd]d^„d^e j)ƒZCGd_d`„d`e j)ƒZDGdadb„dbe j)ƒZEGdcdd„dde j)ƒZFGdedf„dfe j)ƒZGdgdh„ZHGdidj„dje j)ƒZIdodkdl„ZJeKdmkr¨eJƒdS)péN)Úpartial)ÚproductÚislice)Úsupport)ÚTESTFNÚfindfileÚimport_fresh_moduleÚ gc_collectÚ swap_attrz simple.xmlÚ xmltestdata©Zsubdirúutf-8z!filename is not encodable to utf8z simple-ns.xmlzexpat224_utf8_bug.xmlz„ text
subtext
zz
subtext
zy text
subtext
Apples Bananas African Coffee Table 80 120 zy %user-entities; ]> &entity; zl ]> &entity; F)Úquietcs‡‡fdd„}|S)Ncs ‡‡‡fdd„}t |ˆ¡|S)NcsBtjˆdˆiŽˆ|i|¤ŽWdƒn1s40YdS)Nr)rZcheck_warnings)ÚargsÚkwargs)ÚfiltersrÚtest©ú//usr/local/lib/python3.9/test/test_xml_etree.pyÚnewtestlsz1checkwarnings..decorator..newtest)Ú functoolsÚupdate_wrapper)rr©rr)rrÚ decoratorks z checkwarnings..decoratorr)rrrrrrÚ checkwarningsjsrc@seZdZdd„Zdd„ZdS)Ú ModuleTestcCs(ddlm}ddlm}ddlm}dS)Nr)Ú ElementTree©ÚElementInclude©Ú ElementPath)Ú xml.etreerrr )Úselfrrr rrrÚ test_sanityus  zModuleTest.test_sanitycCsd}tj|t|dddS)N)úxml.etree.ElementTreeÚ _elementtree)Z HTML_EMPTY)Z blacklist)rZ check__all__ÚET)r"ÚnamesrrrÚtest_all|szModuleTest.test_allN)Ú__name__Ú __module__Ú __qualname__r#r(rrrrrtsrTÚunicodecKsX|dkrt ¡}nt ¡}t |¡}|j|fd|i|¤Ž|rF| ¡S| d¡|SdS)Nr,Úencodingr)ÚioÚBytesIOÚStringIOr&rÚwriteÚgetvalueÚseek)ÚelemÚ to_stringr-ÚoptionsÚfileÚtreerrrÚ serializes   r9cCsdd„|DƒS)NcSsg|] }|j‘qSr©Útag©Ú.0r4rrrÚ óz"summarize_list..r)ÚseqrrrÚsummarize_listŽsrAc@s(eZdZedd„ƒZdd„Zdd„ZdS)ÚElementTestCasecCstth|_dS©N)ÚpyETr&Úmodules)ÚclsrrrÚ setUpClass“szElementTestCase.setUpClassc Csºtj|}zžz.|tj|<t ||¡}|tj|<t |¡}Wn`tjyš} zFttdftdfgƒ} t   d||   ||¡|   ||¡f¡| ‚WYd} ~ n d} ~ 00W|tj|<n |tj|<0|S)NZcETrDz%Failed to round-trip %r from %r to %r) ÚsysrEÚpickleÚdumpsÚloadsÚ PicklingErrorÚdictr&rDrZ TestFailedÚget) r"ÚobjÚnameÚdumperÚloaderÚprotoZsave_mZtempÚresultÚpeZhumanrrrÚpickleRoundTrip—s$      þÿýzElementTestCase.pickleRoundTripcCsŒ| |tjtjf¡| |tjtjf¡| tt|ƒƒtt|ƒƒ¡t||ƒD]\}}| ||¡qNt   dddd¡}| ||ƒ||ƒ¡dS)Nr;ÚtailÚtextÚattrib) ÚassertIsInstancer&ÚElementrDÚ assertEqualÚlenÚlistÚzipÚassertEqualElementsÚoperatorÚ attrgetter)r"ZaliceÚbobÚxÚyZ propertiesrrrr`©sz#ElementTestCase.assertEqualElementsN)r)r*r+Ú classmethodrGrVr`rrrrrB’s rBc@sdeZdZdd„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/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAdB„Z#dCdD„Z$dEdF„Z%dGdH„Z&dIdJ„Z'dKdL„Z(dMdN„Z)dOdP„Z*dQdR„Z+dSdT„Z,dUdV„Z-dWS)XÚElementTreeTestcCs| t|ƒ|¡dSrC)r\r9)r"r4ÚexpectedrrrÚserialize_check·szElementTreeTest.serialize_checkcs’‡fdd„‰‡fdd„‰‡‡‡‡fdd„‰t d¡}ˆ|ƒt |¡}ˆ| ¡ƒtjdd d }t |¡}ˆ t|ƒd ¡tjdd d }‡fd d „‰ˆ|jƒˆ|jƒˆ|jƒˆ|j ƒˆ|j ƒˆ|j ƒˆ|j ƒˆ|j ƒˆ|jƒˆ|jƒˆ|jƒˆ|jƒˆ|jƒˆ|jƒˆ|jƒ‡fdd„}||  d¡ƒ||  d¡ƒ||  d¡ƒ||  d¡ƒˆ tjtj¡ˆ tjtj¡dS)NcsJt|ƒ|D]}ˆjt|ƒdd|dq |d}|d}|dd…dS)Néz%expected one-character string, got %r©ÚmsgÚú r)r]r\)ÚstringÚcharZ new_string©r"rrÚ check_string½s ÿz4ElementTreeTest.test_interface..check_stringcsRt|ƒ| ¡}| ¡}|D] }||}qd|d<ˆj|ddd|dddS)NÚvalueÚkeyzexpected value string, got %rrk)r]ÚkeysÚitemsr\)ÚmappingrurvrtÚitemrqrrÚ check_mappingÆs   ÿz5ElementTreeTest.test_interface..check_mappingcs¤ˆjt |¡ddt|ƒ}dD]0}ˆjt||ƒd|dˆj||d|dq ˆ|jƒˆ|jƒ|jdurzˆ|jƒ|j durŽˆ|j ƒ|D] }ˆ|ƒq’dS)Nznot an elementrk)r;rYrXrWz no %s memberzno %s visible by dir) Ú assertTruer&Z iselementÚdirÚhasattrÚassertInr;rYrXrW)ÚelementZdirelemÚattrr4)Ú check_elementryrrr"rrr€Ðs" ÿÿ      z5ElementTreeTest.test_interface..check_elementr;õtägrs©rtz^$csˆjt|dƒd|ddS)NÚ__call__z%s not callablerk)rzr|©ÚmethodrqrrÚ check_methodís ÿz4ElementTreeTest.test_interface..check_methodcsˆ|jƒdSrC)Ú__next__)Úit)r†rrÚ check_itersz2ElementTreeTest.test_interface..check_iterÚ*)r&r[rÚgetrootÚ assertRegexÚreprÚappendÚextendÚinsertÚremoveÚfindÚiterfindÚfindallÚfindtextÚclearrNÚsetrurvÚiterÚitertextr\ÚXMLÚ fromstringÚPIÚProcessingInstruction)r"r~r8r‰r)r€ryr†rrr"rÚtest_interfaceºsD                      zElementTreeTest.test_interfacecCsút d¡}| |jd¡d|_| |jd¡d|_| |jd¡| |j¡d|_| |jd¡d|_| |jd¡| |j¡d|_| |jd¡d|_| |jd¡| |ji¡dd d œ|_| |jdd d œ¡d d d œ|_| |jd d d œ¡dS)Nr;ÚTagZTAGÚTextZTEXTZTailZTAILÚbÚd)ÚaÚcÚBÚD)ÚAÚC)r&r[r\r;Ú assertIsNonerXrWrY)r"r~rrrÚtest_set_attributes*     z"ElementTreeTest.test_set_attributecCst d¡}| |d¡t d¡}| |¡| |d¡| |¡| |d¡| d|¡| |d¡| |¡| |g¡| |d¡| |¡| t|gƒ¡| |d¡| |¡tjddd }| |d ¡t d ¡}| |¡| |d ¡| d|¡| |d ¡| |¡| |d ¡| |¡| |d ¡|  t ¡}| |¡Wdƒn1s`0Y|  t |j ƒd¡| |d ¡|||g|dd…<| |dd¡|  |dd…|d|dg¡|  |ddd…|d|dg¡|dd…=| |d ¡dS)NúúÚtag2zrzr;rsr‚zÚsubtagz!z+zlist.remove(x): x not in listrjz é é)r&ršrir[rŽr‘rrr˜Ú assertRaisesÚ ValueErrorr\ÚstrÚ exception)r"r4Úer~Z subelementÚcmrrrÚtest_simpleops+sR                    ÿ     *  " ÿzElementTreeTest.test_simpleopscCs:| t d¡d¡| t d¡d¡| t d¡d¡dS)Nzhelloz)helloz)rir&ršrqrrrÚ test_cdataWs ÿ ÿ ÿzElementTreeTest.test_cdatacCs|t t d¡¡}tj|d}| | d¡jd¡| | d¡jd¡tjt d}| | d¡jd¡| | d¡jd¡dS)Nr )r7r;ú section/tagr~zelement/../empty-elementú empty-element) r.r/Ú SAMPLE_XMLÚencoder&rr\r’r;ÚSIMPLE_XMLFILE)r"Z stringfiler8rrrÚtest_file_initas  ÿzElementTreeTest.test_file_initcCsòddlm}t t¡}tdƒD]}t |¡ dt|ƒ¡qt |j ƒ}tdƒD]}t |¡ dt|ƒ¡qN|  t |j ƒ|¡tdƒD]}t |¡ dt|ƒ¡q†|  t |j ƒ|¡tdƒD]}t |¡ dt|ƒ¡q¾|  t |j ƒd¡dS)Nrré z./éiXiô)r!r r&ršr»Úrangerr’r³r]Ú_cacher\Z assertGreaterZ assertLess)r"r r4ÚiZ cache_len_10rrrÚtest_path_cachels  & &&&zElementTreeTest.test_path_cachecCsZddl}t d¡}| |¡}| |¡}d| d¡_| |d¡| |d¡| |d¡dS)NrzhelloÚbarÚfoozhellozhello)Úcopyr&ršÚdeepcopyr’r;ri)r"rÇÚe1Úe2Úe3rrrÚ test_copy{s      zElementTreeTest.test_copycCs&t d¡}| d¡| | dd¡d¡| dd¡| | d¡d¡tjddd}| | d¡d¡| |jddi¡ddi}t d|¡}| ¡| | d¡d¡| |jddi¡ddi}tjdi|¤Ž}| ¡| | d¡d¡| |jddi¡tjdddidd}| | d¡d¡| |jddi¡t d¡}d|_| d d ¡| d d ¡| t |¡d ¡| t |  ¡ƒd d g¡| t |  ¡ƒddg¡| |jd d ¡d|jd <d |jd<| t |¡d¡t d¡}| dd¡| dd¡| dd¡| dd¡| t |¡d¡dS)Nr;rtÚdefaultrsr‚ÚotherrZaaÚtestaÚtestvalÚtestbÚtest2s-aa)rÏrÐ)rÑrÒZtest1Ztestcs;aar£ú r¡ú r¤z r¢z s[)r;) r&r[rNr\r—rYr–rXÚtostringÚsortedrurv)r"r4rYrrrÚ test_attrib‡s\        ÿÿ   ÿ      ÿzElementTreeTest.test_attribcCsÆt d¡}ddi}| d|¡}|j|j|dd| |¡| |d¡| ¡| |d¡| |¡| |d¡| ||g¡| |d ¡|g|dd…<| |d¡t |gƒ|dd…<| |d¡dS) Nr;rtrsr®zattrib aliasingrkz!úzM) r&r[Z makeelementÚ assertIsNotrYrŽrir–rÚtuple)r"r4rYÚsubelemrrrÚtest_makeelement½s$       ÿ z ElementTreeTest.test_makeelementcCsòt t¡}t ¡}|j|dd| | ¡d¡t t¡}t ¡}|j|dd| | ¡d¡t tƒ}|  ¡}Wdƒn1s†0Yt  ¡}|  |j d¡| |¡| | ¡d¡t ¡}tj |d}| |¡| | ¡d¡dS)Nr,©r-zi text texttail z› text texttail z^Expat ©Útarget)r&Úparser½r.r0r1r\r2ÚSIMPLE_NS_XMLFILEÚopenÚreadÚ XMLParserrŒÚversionÚfeedriÚcloseÚ TreeBuilder)r"r8ÚstreamÚfÚdataÚparserrßrrrÚtest_parsefileÓs4  ÿ  ÿ &  ÿ   ÿzElementTreeTest.test_parsefilecCsât d¡}| tj|ddd¡t d¡}| tj|ddd¡gd¢}t |¡}| t |¡d¡| d t |¡¡d¡| t |d¡d¡t d¡\}}| t |ƒd ¡t d ¡\}}| t |ƒd ¡| |d j d ¡dS) Nútextr,rÝ)z ztextótextr?ÚasciisE textrz(textrjÚbody) r&ršr\rÕr›ZfromstringlistÚjoinÚ tostringlistZXMLIDr]r;)r"r~ZsequenceÚ_ZidsrrrÚtest_parseliterals0 ÿ ÿ  ÿÿÿz!ElementTreeTest.test_parseliteralc CsÎtj}|tƒ}t|ƒ\}}| ||jfd¡| dd„|Dƒgd¢¡| |jjd¡|tƒ}| dd„|Dƒgd¢¡d}|t|ƒ}| d d„|Dƒg¡d}|t|d }| d d„|Dƒg¡d }|t|ƒ}| d d„|Dƒgd¢¡d}|t|ƒ}| dd„|Dƒgd¢¡d}|t  d¡|ƒ}dd„|Dƒ}| |ddg¡d}t tdƒR}|  t ¡}|||ƒWdƒn1s€0Y|  |j¡Wdƒn1s¬0Y| t|jƒd¡t |¡Z|  t ¡}|t|ƒWdƒn1s0Y| t|jƒd¡~Wdƒn1s40Yt d¡} d}|| |ƒ}| dd„|Dƒddg¡t  d¡} || ƒ} t| ƒ\}}| ||jfd ¡|  tj¡}t| ƒWdƒn1sÌ0Y| t|jƒd!¡| tjt¡t td"ƒ}| d#¡Wdƒn1s"0Y|tƒ} t| ƒ\}}| ||jfd ¡t |¡\|  tj¡}t| ƒWdƒn1sŠ0Y| t|jƒd!¡~~ Wdƒn1sÀ0YdS)$N©Úendr~cSsg|]\}}||jf‘qSrr:©r=Úactionr4rrrr>r?z2ElementTreeTest.test_iterparse..)rö©r÷rº©r÷ÚrootrücSsg|]\}}||jf‘qSrr:rørrrr>&r?)©r÷ú{namespace}elementrý©r÷ú{namespace}empty-element©r÷ú{namespace}rootrcSsg|]\}}||jf‘qSrr:rørrrr>/r?©ÚeventscSsg|]\}}||jf‘qSrr:rørrrr>3r?©Ústartr÷cSsg|]\}}||jf‘qSrr:rørrrr>7r?©©rrü©rr~rör rö)rrºrúrû)rr÷ústart-nsúend-nscSs*g|]"\}}|dvr||jfn||f‘qS)rr:rørrrr>Dsþ) ©r )rmÚ namespace©rr©rrþrýrrý©rrrÿr©r N©r r zcSsg|] \}}|‘qSrrrørrrr>Ur?r r ©rr÷ZbogusÚrbzunknown event 'bogus's‡ text )r cSsg|]\}}||f‘qSrrrørrrr>kr?)r )rmuhttp://éffbot.org/ns)r )ucléúhttp://effbot.org/nszjunk)r÷Údocumentz.junk after document element: line 1, column 12Úwbsjunk)r&Ú iterparser½Únextr\r;rürár.r0râr±r²Ú assertFalseÚclosedr³r´rZcheck_no_resource_warningr/Ú ParseErrorÚ addCleanupÚunlinkrr1) r"rÚcontextrùr4rÚresrêr¶ÚsourcerˆrrrÚtest_iterparsesŒ       þþ  *,  *"ÿ þ  ( ÿ *  ( ÿzElementTreeTest.test_iterparsecCs†t d¡}d|_| |d¡dt |d¡_| |d¡d|_| |d¡| dt d ¡¡| |d ¡t d d ¡|d<| |d ¡dS)Nr;rXztextÚsubtextr®z'textsubtextztextsubtextrÚcommentz*textsubtextrtrsz)textsubtext) r&r[rXriÚ SubElementr;rÚCommentrœ©r"r4rrrÚtest_writefile†s    ÿzElementTreeTest.test_writefilecCsÜttƒ}| ¡}Wdƒn1s&0YGdd„dtƒ}|ƒ}tj|d}| |¡| |gd¢¡ttƒ}| ¡}Wdƒn1s’0YGdd„dtƒ}|ƒ}tj|d}| |¡| |gd¢¡dS)Nc@s$eZdZdd„Zdd„Zdd„ZdS)ú4ElementTreeTest.test_custom_builder..BuildercSs| d|f¡dS©Nr©rŽ©r"r;rYrrrrsú:ElementTreeTest.test_custom_builder..Builder.startcSs| d|f¡dS©Nr÷r+©r"r;rrrr÷Ÿsú8ElementTreeTest.test_custom_builder..Builder.endcSsdSrCr©r"rXrrrrë¡sú9ElementTreeTest.test_custom_builder..Builder.dataN)r)r*r+rr÷rërrrrÚBuilderœsr3rÞrc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)r)cSs| d|f¡dSr*r+r,rrrr´sr-cSs| d|f¡dSr.r+r/rrrr÷¶sr0cSsdSrCrr1rrrrë¸sr2cSs| d||f¡dS)NÚpir+)r"rßrërrrr4ºsz7ElementTreeTest.test_custom_builder..Builder.picSs| d|f¡dS)Nr$r+)r"rërrrr$¼sz.Builder.commentcSs| d||f¡dS)Nr r+)r"ÚprefixÚurirrrÚstart_ns¾sz=ElementTreeTest.test_custom_builder..Builder.start_nscSs| d|f¡dS©Nr r+©r"r5rrrÚend_nsÀsz;ElementTreeTest.test_custom_builder..Builder.end_nsN) r)r*r+rr÷rër4r$r7r:rrrrr3³s) )r4r4rë)r$ú comment )r rmr rrrýrrýrrÿr©r rm) râr½rãr^r&rärær\rá)r"rêrër3ÚbuilderrìrrrÚtest_custom_builder—s &   &  z#ElementTreeTest.test_custom_buildercCsFGdd„dtƒ}|ƒ}tj|d}| t d¡¡| |gd¢¡dS)Nc@seZdZdd„ZdS)z@ElementTreeTest.test_custom_builder_only_end_ns..BuildercSs| d|f¡dSr8r+r9rrrr:ÖszGElementTreeTest.test_custom_builder_only_end_ns..Builder.end_nsN)r)r*r+r:rrrrr3Õsr3rÞa text texttail ))r r£)r Úpr<)r^r&räræÚtextwrapÚdedentr\)r"r3r=rìrrrÚtest_custom_builder_only_end_nsÔs   z/ElementTreeTest.test_custom_builder_only_end_nscCs|ttdƒ}t |¡}Wdƒn1s*0Y| dd„| ¡ ¡Dƒgd¢gggg¡| dd„| ¡Dƒgd¢gggg¡t t¡}| t t |ƒƒd¡| t t |dƒƒd¡| |dd…t |ƒ¡|d }|d}|dd…=| t t |ƒƒd¡| ||d ¡| ||d¡||g|d d…<| ||d ¡| ||d¡|  ||d ¡|  ¡| t |ƒg¡dS) NrcSsg|] }t|ƒ‘qSr©rAr<rrrr>ïsÿz1ElementTreeTest.test_children..)r~r~rºcSsg|] }t|ƒ‘qSrrCr<rrrr>ösÿér°rjr) râr½r&ràr\r‹r˜ršr»r]r^ÚassertNotEqualr–)r"rêr8r4Úchild1Úchild2rrrÚ test_childrenêsH (  ÿüÿ ÿüÿ  zElementTreeTest.test_childrencCs<t d¡}| t |¡d¡t d¡}| t |¡d¡dS)Nrîrï)r&ršr\rÕr›r'rrrÚtest_writestrings  z ElementTreeTest.test_writestringcCsèt d¡}t |¡| t |¡d¡t d¡}t |¡| t |¡d¡t d¡}t |¡| t |¡d¡t d¡}t |¡| t |¡d¡t d¡}t |¡| t |¡d ¡t d ¡}t |¡| t |¡d ¡dS) Nz srîs" text z! text z"texttails% texttailz=

par

text


s^

par

text


ú8

pre
post

text

sJ

pre
post

text

©r&ršÚindentr\rÕr'rrrÚ test_indents0          þ  þzElementTreeTest.test_indentcCsXt d¡}tj|dd| t |¡d¡t d¡}tj|dd| t |¡d¡dS)NrJú )ÚspacesD

pre
post

text

rms>

pre
post

text

rKr'rrrÚtest_indent_spaceAs þ þz!ElementTreeTest.test_indent_spacecCs„t d¡}t |¡| dd„| ¡Dƒhd£¡| dd„| ¡Dƒhd£¡| tdd„| ¡Dƒƒtdd„| ¡Dƒƒ¡dS) Nz@

par

text


cSsh|] }|j’qSr©rW©r=ÚelrrrÚ ^r?z.>Nú Ú ú cSsh|] }|j’qSr©rXrRrrrrTbr?>NrUrXz rWZparcSsh|] }|j’qSrrQrRrrrrTfr?cSsh|]}t|jƒ’qSr)ÚidrWrRrrrrTgr?)r&ršrLr\r˜r]r'rrrÚtest_indent_space_cachingZs  þþþz)ElementTreeTest.test_indent_space_cachingcCs¤t d¡}| t¡tj|ddWdƒn1s80Y| t |¡d¡tj|dd| t |¡d¡t d¡}tj|ddd | t |¡d ¡dS) NrJéÿÿÿÿ)Úlevels9

pre
post

text

r°s^

pre
post

text

rjrn)r\rOsI

pre
post

text

)r&ršr±r²rLr\rÕr'rrrÚtest_indent_leveljs$  ,þþ þz!ElementTreeTest.test_indent_levelcCs<t d¡}| tj|ddd¡| tj|dddd¡dS)Nú0r,rÝúAr©r-Údefault_namespaceú1©r&ršr\rÕr'rrrÚtest_tostring_default_namespaceŠs  þþz/ElementTreeTest.test_tostring_default_namespacecCs&t d¡}| tj|dddd¡dS)Nr^r,Úfoobarr`zPrcr'rrrÚ3test_tostring_default_namespace_different_namespace•s  þzCElementTreeTest.test_tostring_default_namespace_different_namespacecCsNt d¡}d}| t|¡ tj|dddWdƒn1s@0YdS)Nr«z>^cannot use non-qualified names with default_namespace option$r,rer`)r&ršÚassertRaisesRegexr²rÕ)r"r4Z EXPECTED_MSGrrrÚ5test_tostring_default_namespace_original_no_namespaceœs zEElementTreeTest.test_tostring_default_namespace_original_no_namespacecCs$t d¡}| tj|ddd¡dS)Nr«r,rÝr¬rcr'rrrÚ test_tostring_no_xml_declaration¢s   þz0ElementTreeTest.test_tostring_no_xml_declarationcCs&t d¡}| tj|dddd¡dS)Nr«Úutf8T©r-Úxml_declarations: rcr'rrrÚtest_tostring_xml_declaration©s  þz-ElementTreeTest.test_tostring_xml_declarationcCs6t d¡}t ¡}| d|›dtj|ddd¡dS)Nr«ú r,Trk)r&ršÚlocaleÚgetpreferredencodingr\rÕ)r"r4ÚpreferredencodingrrrÚ.test_tostring_xml_declaration_unicode_encoding°s   þz>ElementTreeTest.test_tostring_xml_declaration_unicode_encodingcCs¤t d¡}t ¡}dddddddd d d d d ddd|›dddfg}|D]X\}}}| d|›d|›¡(| tj|||d|¡WdƒqF1s”0YqFdS)Nõø)óøNN)óøúUTF-8N)ruúUS-ASCIIN)óE øú ISO-8859-1N)rtr,N)ruNF)rvrwF)rurxF)sørzF)rtr,F)sH øNT)sA ørwT)sH ørxT)ryrzTrnu'?> ør,Tz encoding=z xml_declaration=rk)r&ršrprqÚsubTestr\rÕ)r"r4rrZ TESTCASESZexpected_retvalr-rlrrrÚ#test_tostring_xml_declaration_cases¸s@  ÿæ ÿ ýúz3ElementTreeTest.test_tostring_xml_declaration_casesc CsHt d¡}| d tj|dd¡d¡| d tj|ddd¡d¡dS) Nr^rmr,rÝr_rr`rb)r&ršr\ròrór'rrrÚ#test_tostringlist_default_namespaceås þþz3ElementTreeTest.test_tostringlist_default_namespacecCs t d¡}| d tj|dd¡d¡| d tj|dd¡d ¡t ¡}tj|ddd }| d |¡d |›d ¡| |d d¡| gd¢|dd…¡dS)Nr«rmr,rÝr¬r?T)rls> rkrnrorz%^<\?xml version='1.0' encoding='.+'?>)zzzrj)r&ršr\ròrórprqrŒ)r"r4rrZ stringlistrrrÚ!test_tostringlist_xml_declarationðs" þþ þz1ElementTreeTest.test_tostringlist_xml_declarationc sd‡fdd„ }|ddƒ|ddƒ|ddƒ|d d ƒ|d d ƒ|d dƒdd„‰‡fdd„}gd¢}|D] }ˆ t t ||ƒ¡¡d¡qjgd¢}|D]}ˆ ttj||ƒ¡q˜gd¢}|D]}ˆ tjtj||ƒ¡q¾ˆ ttjˆdƒ d¡¡ˆ ttjˆdƒ d¡¡dS)Nrmcs>d||f}ˆ t | |¡¡j|¡ˆ t |¡j|¡dS)Nz0%s)r\r&ršr¼rX)r-rñÚxmlrqrrÚchecks ÿz,ElementTreeTest.test_encoding..checkrðr£úus-asciiú iso-8859-1õ½z iso-8859-15u€Úcp437u√ú mac-romanuËšcSsd|S)Nz*rrÝrrrr€sz*ElementTreeTest.test_encoding..xmlcsˆ|ƒ |¡SrC)r¼rÝ)r€rrÚbxmlsz+ElementTreeTest.test_encoding..bxml)Crðr z utf-8-sigúutf-16úutf-16beúutf-16lez iso8859-1z iso8859-2z iso8859-3z iso8859-4z iso8859-5z iso8859-6z iso8859-7z iso8859-8z iso8859-9z iso8859-10z iso8859-13z iso8859-14z iso8859-15z iso8859-16r…Zcp720Zcp737Úcp775Úcp850Úcp852Úcp855Zcp856Úcp857Úcp858Úcp860Úcp861Úcp862Úcp863Úcp865Úcp866Úcp869Zcp874Zcp1006Úcp1125Úcp1250Úcp1251Úcp1252Úcp1253Úcp1254Úcp1255Úcp1256Úcp1257Úcp1258z mac-cyrillicz mac-greekz mac-icelandz mac-latin2r†z mac-turkishz iso2022-jpz iso2022-jp-1z iso2022-jp-2ziso2022-jp-2004z iso2022-jp-3ziso2022-jp-extzkoi8-rzkoi8-tzkoi8-uÚkz1048ÚhzÚptcp154s)Úbig5Ú big5hkscsÚcp932Úcp949Úcp950zeuc-jpz euc-jis-2004z euc-jisx0213zeuc-krÚgb2312ÚgbkÚgb18030z iso2022-krÚjohabz shift-jiszshift-jis-2004zshift-jisx0213zutf-7) Úcp037Úcp424Úcp500Úcp864Zcp875Úcp1026Úcp1140Úutf_32Ú utf_32_beÚ utf_32_leZ undefinedZxxx)rm) r\r&rÕršr±r²rr¼Ú LookupError)r"rr‡Zsupported_encodingsr-Z&unsupported_ascii_compatible_encodingsZ(unsupported_ascii_incompatible_encodingsr©r"r€rÚ test_encodings(        zElementTreeTest.test_encodingcCstt d¡}d|_| t|ƒd¡| t|ddd¡| t|ddd¡| t|ddd¡| t|ddd ¡dS) Nz-rVz/ r„r€Úhtmlz* rXz1 < 2 )r&ršrWr\r9©r"rµrrrÚ test_methods?s  ÿÿÿÿzElementTreeTest.test_methodscCs2t d¡}| t|ƒd¡| t|ddd¡dS)Nz(textrºr„©r&ršr\r9r»rrrÚtest_issue18347Ns  ÿÿzElementTreeTest.test_issue18347cCs8t d¡}| t|ddd¡| |d¡| tj¡}t d¡Wdƒn1sV0Y| t|jƒd¡| tj¡}t t ¡Wdƒn1sž0Y| t|jƒd¡t  ¡}d |j d <|  t ¡|  ¡}| |d ¡| tj¡}t t¡Wdƒn1s0Y| t|jƒd ¡dS) Nz*testr‚rÝs*testu%testz&entity;z#undefined entity: line 1, column 10z,undefined entity &entity;: line 5, column 10rXÚentityztextz,undefined entity &entity;: line 4, column 10)r&ršr\r9rir±rr³r´Ú ENTITY_XMLrär¿rærçÚEXTERNAL_ENTITY_XML)r"rµr¶rìrürrrÚ test_entityUs2 ÿ ( ÿ( ÿ   * ÿzElementTreeTest.test_entitycCsrt d¡}| |d¡t d¡}| |d¡t d¡}| |d¡t d¡}| |d¡t t¡}| |d ¡dS) NzzzCzCz7z7zGzE text subtext )r&ršriÚ SAMPLE_XML_NSr'rrrÚtest_namespacezs$   ÿ ÿ ÿ ÿzElementTreeTest.test_namespacecCsât d¡}| |d¡t t d¡¡}| |d¡t t dd¡¡}| |d¡t t dd¡¡}t |t dd¡¡}t |t dd¡¡}| |d¡| ¡d|jd <| |d ¡| ¡d|jt d ¡<| |d ¡| ¡d |jd <| |d ¡| ¡t d ¡|jd <| |d ¡| ¡t d¡}t d¡|jd<| |¡| |¡| |d¡| t t dd¡ƒd¡| t t d¡ƒd¡t dd¡}t dd¡}| ||¡t dd¡}|  ||¡|  |d¡| |d¡dS)Nz{uri}tagzr6r;Ztag1r­z;rsz{uri}keyz+z {uri}valuez0z/z {uri2}valuez {uri1}keyz{Únsz{ns}tagz other-tagzns:tag) r&r[riÚQNamer%r–rYrŽr\r³rE)r"r4rÛZq1Zq2rrrÚ test_qname›sb    ÿ ÿÿ ÿÿ   ÿ      zElementTreeTest.test_qnamecCst d¡}dS)NzŠtext)r&ršr'rrrÚtest_doctype_publicÜsz#ElementTreeTest.test_doctype_publiccsôddlm‰d?‡‡fdd„ }|ddgƒ|dddgƒ|d d d gƒ|d d dgƒ|d gd¢ƒ|dgd¢ƒ|dgd¢ƒ|dgd¢ƒ|dgd¢ƒ|dddgƒ|dgd¢ƒ|ddgƒ|dgd¢ƒ|ddgƒ|d gd!¢ƒ|d"gd#¢ƒ|d$gd%¢ƒ|d&d d'gƒ|d(d(gƒ|d)gd*¢ƒ|d+gd,¢ƒ|d-d-gƒ|d.d.gƒ|d/d/gƒ|d0d0gƒ|d1gd2¢ƒ|d3gd4¢d5d6iƒ|d7d8gd9d6iƒ|d:d d8gd5d6iƒ|d;d d7gd9d6iƒ|dœƒdS)@Nrrcs"ˆ dd„ˆ ||¡Dƒ|¡dS)NcSsg|]\}}|p|‘qSrr)r=Úopr;rrrr>èsÿzGElementTreeTest.test_xpath_tokenizer..check..)r\Zxpath_tokenizer)r?rhÚ namespaces©r r"rrrçs   ÿþz3ElementTreeTest.test_xpath_tokenizer..checkrŠztext()rXú()z@nameú@rPz@*zpara[1])Úparaú[Ú1ú]z para[last()])rÎrÏZlastrÌrÑz*/para)rŠú/rÎz/doc/chapter[5]/section[2]) rÒÚdocrÒÚchapterrÏÚ5rÑrÒÚsectionrÏÚ2rÑz chapter//para)rÔú//rÎz//pararØrÎz //olist/item)rØZolistrÒrxÚ.z.//para)rÙrØrÎú..z../@lang)rÚrÒrÍÚlangzchapter[title])rÔrÏÚtitlerÑz#employee[@secretary and @assistant]) ZemployeerÏrÍZ secretaryrmÚandrmrÍZ assistantrÑz @{ns}attrz{ns}attrú{http://spam}eggz ./spam.egg)rÙrÒzspam.eggz.//{http://spam}egg)rÙrØrÞz{ns}*ú{}*ú{*}tagú{*}*z .//{*}tag)rÙrØràz ./xsd:type)rÙrÒú&{http://www.w3.org/2001/XMLSchema}typeZxsdz http://www.w3.org/2001/XMLSchemaÚtyperârmz @xsd:typez@typez@{*}typez{*}type)rmrÅ)N)r!r )r"rrrËrÚtest_xpath_tokenizeräsd  ÿ        ÿÿ ÿ ÿ ÿ ÿÿz$ElementTreeTest.test_xpath_tokenizercCsn| t t dd¡¡d¡| t t dd¡¡d¡| t t dd¡¡d¡| t t dd¡d¡d¡dS) NrZ instructionsz s?>u ãzlatin-1s= ã?>)r\r&rÕrrœrqrrrÚtest_processinginstructionsÿÿÿÿz*ElementTreeTest.test_processinginstructioncCspdD]f}|| ¡fD]T}d|}tt d|¡dd}| ||¡tt d||f¡dd}| ||¡qqdS)N) ZAREAZBASEZBASEFONTZBRZCOLÚFRAMEZHRZIMGZINPUTZISINDEXZLINKZMETAZPARAMz<%s>z<%s />rºr„z <%s>)Úlowerr9r&ršr\)r"r~r4rhZ serializedrrrÚ#test_html_empty_elems_serialization.s ÿz3ElementTreeTest.test_html_empty_elems_serializationcCsVtjdddd}t ¡}t |¡Wdƒn1s80Y| | ¡d¡dS)NÚ cirriculumÚpublicÚexample©ÚstatusZcompanyz1 )r&r[rÚcaptured_stdoutÚdumpr\r2)r"rµÚstdoutrrrÚtest_dump_attribute_order;s  ( ÿz)ElementTreeTest.test_dump_attribute_ordercCs8tjdddd}| t|ƒd¡| t|ddd¡dS) Nrérêrërìz0rºr„z;)r&r[r\r9©r"rürrrÚtest_tree_write_attribute_orderCs ÿÿz/ElementTreeTest.test_tree_write_attribute_orderN).r)r*r+riržrªr·r¸r¾rÄrÌr×rÜrírõr"r(r>rBrHrIrMrPrZr]rdrfrhrirmrsr|r}rr¹r¼r¾rÂrÄrÇrÈrärårèrñrórrrrrgµsVV,   6-p=%,  - ;%!A: rgc@sŒeZdZd dd„Zd!dd„Zd"dd„Zd#dd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)$ÚXMLPullParserTestNcCsD|dur| |¡n,tdt|ƒ|ƒD]}| ||||…¡q$dS©Nr)rærÁr])r"rìrëÚ chunk_sizerÃrrrÚ_feedNs zXMLPullParserTest._feedcCs$| dd„t| ¡|ƒDƒ|¡dS)NcSs g|]\}}||j|jff‘qSr)r;rX)r=Úeventr4rrrr>Wsÿz3XMLPullParserTest.assert_events..)r\rÚ read_events©r"rìrhÚ max_eventsrrrÚ assert_eventsUs  ÿýzXMLPullParserTest.assert_eventscCs| tt| ¡|ƒƒ|¡dSrC)r\r^rrùrúrrrÚassert_event_tuples[sþz%XMLPullParserTest.assert_event_tuplescCs(t| ¡|ƒ}| dd„|Dƒ|¡dS)NcSsg|]\}}||jf‘qSrr:rørrrr>br?z7XMLPullParserTest.assert_event_tags..)rrùr\)r"rìrhrûrrrrÚassert_event_tags`sÿz#XMLPullParserTest.assert_event_tagsc CsôdD]ê}|j|dÊt ¡}| |g¡| |d|¡| |g¡| |d|¡| |g¡| |d|¡| |dg¡| |d|¡| |d|¡| |dd g¡| |d |¡| |d g¡| | ¡¡Wdƒq1sä0YqdS) N)Nrjé)röú z+ text röútexttail ú rúú rû)r{r&Ú XMLPullParserrþr÷r©rç)r"rörìrrrÚtest_simple_xmles,  þ þz!XMLPullParserTest.test_simple_xmlcCsšt ¡}| ¡}| |d¡t|ƒ\}}| ||jfd¡| |d¡t|ƒ\}}| ||jfd¡| t¡t|ƒWdƒn1sŒ0YdS)Nz- text rörrû) r&rrùr÷rr\r;r±Ú StopIteration)r"rìrˆrùr4rrrÚtest_feed_while_iterating|s     z+XMLPullParserTest.test_feed_while_iteratingcCsÊt ¡}| |g¡| |d¡| |g¡| |d¡| |g¡| |d¡| |g¡| |d¡| |dg¡| |d¡| |d¡| |ddg¡| |d ¡| |d g¡| | ¡¡dS) Nrú ú"text ©r )rmÚabc©r )r?Zxyzr°©rû©rú{abc}tagrjú ©rú {abc}child©r÷rú ©r÷r©r&rr÷rýrþrçr rrrÚtest_ns_events_start¬s.  þýÿþ þ ÿz&XMLPullParserTest.test_ns_events_startcCs”tjdd}| |d¡|j|ddgdd|j|dgd d| |d ¡| |d d g¡| |d ¡| ¡|j|dgd d| |ddg¡dS)N)r rr÷r rrrrr°rrrjrrrrrrrr rrrÚtest_ns_events_start_endÃs:  þýÿþ þ ÿþþz*XMLPullParserTest.test_ns_events_start_endcCstjdd}| |d¡| |g¡tjdd}| |d¡| |g¡tjdd}| |d¡| |dg¡| |d¡| |d g¡| |d ¡| |d g¡| |d ¡| |gd ¢¡| |d¡| | ¡¡| |dg¡tjdd}| |d¡| |g¡| |d¡| |dg¡| |d¡| |d g¡| |d ¡| |g¡| |d ¡| |ddg¡| |d¡| | ¡¡dS)Nrrz rú z rr r rröz8texttail )©rú {foo}element©rú{foo}empty-element)r÷r")r÷r zrû)rrrr!)r&rr÷rþrür©rçr rrrÚ test_eventsÞsL          ÿ        ÿþ zXMLPullParserTest.test_eventscCstjdd}| |d¡| |dtjdffg¡| |d¡| |dtjdffg¡| |d¡| |d g¡| |d ¡| |dtjd ffg¡| |d ¡| |d g¡| |d¡| |dtjdffg¡tjdd}| |d¡| |dtjdffg¡dS)N)rr$r÷rrr$z text here z z more text here ztext)rúroot-tagz z inner commentz )r÷r$z z outer comment )r$)r&rr÷rür&rþr rrrÚtest_events_comment s          z%XMLPullParserTest.test_events_commentcCsdtjdd}| |d¡| |dtjdffg¡tjdd}| |d¡| |dtjdffg¡dS) N)rr4r÷rz r4Úpitarget)r4z zpitarget some text )r&rr÷rürœr rrrÚtest_events_pis     z XMLPullParserTest.test_events_picCslddh}tj|d}| |d¡| |ddg¡Gdd„dƒ}tj|ƒd}| |d¡| |ddg¡dS) Nr÷rrzbar)rrÆ)r÷rÆc@s$eZdZdd„Zdd„Zdd„ZdS)z9XMLPullParserTest.test_events_sequence..DummyItercSstgd¢ƒ|_dS)N)rr÷r )r˜rrqrrrÚ__init__/szBXMLPullParserTest.test_events_sequence..DummyIter.__init__cSs|SrCrrqrrrÚ__iter__1szBXMLPullParserTest.test_events_sequence..DummyIter.__iter__cSs t|jƒSrC)rrrqrrrr‡3szBXMLPullParserTest.test_events_sequence..DummyIter.__next__N)r)r*r+r(r)r‡rrrrÚ DummyIter.sr*)r&rr÷rþ)r"Zeventsetrìr*rrrÚtest_events_sequence's   z&XMLPullParserTest.test_events_sequencecCs:| t¡tjddWdƒn1s,0YdS)Nrr)r±r²r&rrqrrrÚtest_unknown_event:s z$XMLPullParserTest.test_unknown_event)N)N)N)N)r)r*r+r÷rürýrþrrr r rrr#r%r'r+r,rrrrrôLs     .rôz´

120 Mz is adequate for an average home user.

úC1.xmlzÐ

The opinions represented herein represent those of the individual and should not be interpreted as official policy endorsed by this organization.

zdisclaimer.xmlz¶

This document has been accessed times.

úC2.xmlZ324387z count.txtz¿

This document has been accessed times.

úC2b.xmlzÙ

The following is the source of the "data.xml" resource:

úC3.xmlzQ zdata.xmlaW úC5.xmlz„

Example.

ú default.xmla 

The following is the source code of Recursive1.xml:

úinclude_c1_repeated.xmlzÅ

120 Mz is adequate for an average home user.

úB1.xmlzn
úB2.xmlz»

The following is the source code of Recursive2.xml:

úRecursive1.xmlz»

The following is the source code of Recursive3.xml:

zRecursive2.xmlz»

The following is the source code of Recursive1.xml:

zRecursive3.xmlc@sHeZdZddd„Zddd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dS)Ú XIncludeTestr€NcCs>z t|}Wnty&tdƒ‚Yn0|dkr:t |¡}|S)Núresource not foundr€)ÚXINCLUDEÚKeyErrorÚOSErrorr&rš)r"Úhrefràr-rërrrÚxinclude_loaderÅs   zXIncludeTest.xinclude_loadercCsdSrCr)r"r<rìr-rrrÚ none_loaderÎszXIncludeTest.none_loadercCsJ|dkrBt|dƒ}t |¡ ¡WdƒS1s60YndSdS)Nr€r)râr&ràr‹)r"r<ràrêrrrÚ _my_loaderÑs .zXIncludeTest._my_loadercCs8ddlm}| d¡}| ||j¡| t|ƒd¡dS)Nrrr2z”

Example.

text texttail
)r!rr=Úincluder?r\r9)r"rrÓrrrÚtest_xinclude_defaultÚs    ÿz"XIncludeTest.test_xinclude_defaultcCsddlm}| d¡}| ||j¡| t|ƒd¡| d¡}| ||j¡| t|ƒd¡| d¡}| ||j¡| t|ƒd¡| d ¡}| ||j¡| t|ƒd ¡| d ¡}| t¡}| ||j¡Wdƒn1sä0Y| t|j ƒd ¡| t|ƒd ¡dS)Nrrr-a

120 Mz is adequate for an average home user.

The opinions represented herein represent those of the individual and should not be interpreted as official policy endorsed by this organization.

r.zO

This document has been accessed 324387 times.

r/zX

This document has been accessed 324387 times.

r0zæ

The following is the source of the "data.xml" resource:

<?xml version='1.0'?> <data> <item><![CDATA[Brooks & Shields]]></item> </data>
r1r8aI) r!rr=r@r\r9r±r;r³r´©r"rrr¶rrrÚ test_xincludeès8   ÿ  ÿ  ÿ  ÿ  , ÿzXIncludeTest.test_xincludecCs>ddlm}| d¡}| ||j¡| dt| d¡ƒ¡dS)Nrrr3r¯z.//p)r!rr=r@r\r]r”)r"rrrrrÚtest_xinclude_repeated(s  z#XIncludeTest.test_xinclude_repeatedcCs¨ddlm}t td¡}| |j¡ }|j||jdWdƒn1sL0Y|  t |j ƒd¡t td¡}| |j¡ }|j||jdWdƒn1s¨0Y|  t |j ƒd¡t t d¡}| |j¡ }|j||jdWdƒn1s0Y|  t |j ƒd ¡t t d ¡}| |j¡ }|j||jdWdƒn1sd0Y|  t |j ƒd ¡|  d ¡}| |j¡}| ||j ¡Wdƒn1s¼0Y|  t |j ƒd ¡|  d ¡}| |j¡"}|j||j ddWdƒn1s0Y|  t |j ƒd ¡|  d ¡}| |j¡"}|j||j ddWdƒn1st0Y|  t |j ƒd¡|  d ¡}| |j¡"}|j||j ddWdƒn1sÐ0Y|  t |j ƒd¡|  d ¡}| |j¡"}|j||j ddWdƒn1s,0Y|  t |j ƒd¡|  d ¡}| |j¡"}|j||j ddWdƒn1sˆ0Y|  t |j ƒd ¡dS)Nrrr-)rRz%cannot load 'disclaimer.xml' as 'xml'r.z!cannot load 'count.txt' as 'text'r4z1unknown parse type in xi:include tag ('BAD_TYPE')r5zYxi:fallback tag must be child of xi:include ('{http://www.w3.org/2001/XInclude}fallback')r6z#recursive include of Recursive2.xml)Z max_depthzAmaximum xinclude depth reached when including file Recursive2.xmlrjzAmaximum xinclude depth reached when including file Recursive3.xmlr°zAmaximum xinclude depth reached when including file Recursive1.xmlrD)r!rr&ršr9r±ZFatalIncludeErrorr@r>r\r³r´Ú XINCLUDE_BADr=ZLimitedRecursiveIncludeErrorrBrrrÚtest_xinclude_failures/sz . ÿ. ÿ0 ÿ0 ÿ . ÿ 2 ÿ 2 ÿ 2 ÿ 2 ÿ 2 ÿz#XIncludeTest.test_xinclude_failures)r€N)N) r)r*r+r=r>r?rArCrDrFrrrrr7Ãs  @r7c@seZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z e   e ¡d¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Z d6d7„Z!d8d9„Z"d:d;„Z#d.checké{r4Z123)r&r[rXrWr—)r"rr4rrqrÚtest_bug_xmltoolkit21{s        zBugsTest.test_bug_xmltoolkit21cCs<t t¡}t |¡}| | d¡d¡| | d¡d¡dS)Nr;rXr¹r#)r&ršr»rr\r•)r"r4r8rrrÚtest_bug_xmltoolkit25—s  zBugsTest.test_bug_xmltoolkit25cCs<t d¡}| t| d¡ƒg¡| t| d¡ƒdg¡dS)Nú"
z.//theadz.//tbodyZtbody)r&ršr\rAr”©r"r8rrrÚtest_bug_xmltoolkit28Ÿs zBugsTest.test_bug_xmltoolkit28cCsPt d¡}t ¡*}t |¡| | ¡d¡Wdƒn1sB0YdS)NrLz$
)r&ršrrîrïr\r2)r"r8rðrrrÚtest_bug_xmltoolkitX1¦s   zBugsTest.test_bug_xmltoolkitX1cCs¸t d¡}| t |d¡d¡t d¡}| |jddi¡| t |d¡d¡t d¡}| t |d¡d ¡t d ¡}| t |d¡d¡t d ¡}| dd¡| t |d¡d¡dS) Ns2r ssDuättruväluess:textstextrr;)r&ršr\rÕrYr[r—rMrrrÚtest_bug_xmltoolkit39®s$  ÿ ÿ   ÿzBugsTest.test_bug_xmltoolkit39cCs2t d¡}| t|ddd¡| t|ƒd¡dS)Nz=]>&ldots;r‚rÝsu舰r½r»rrrÚtest_bug_xmltoolkit54Çs  ÿzBugsTest.test_bug_xmltoolkit54cCsL| tj¡}t d¡Wdƒn1s,0Y| t|jƒd¡dS)Ns?&ldots;&ndots;&rdots;z+undefined entity &ldots;: line 1, column 36)r±r&rršr\r³r´)r"r¶rrrÚtest_bug_xmltoolkit55Ðs ( ÿzBugsTest.test_bug_xmltoolkit55cCs$Gdd„dƒ}| ttj|ƒ¡dS)Nc@seZdZdd„ZdS)z5BugsTest.test_bug_xmltoolkit60..ExceptionFilecSst‚dSrC)r;©r"rdrrrrãÝsz:BugsTest.test_bug_xmltoolkit60..ExceptionFile.readN)r)r*r+rãrrrrÚ ExceptionFileÜsrT)r±r;r&rà)r"rTrrrÚtest_bug_xmltoolkit60ÙszBugsTest.test_bug_xmltoolkit60cCsHdddœ}t ¡}|j |¡| d¡| ¡}| | d¡jd¡dS)Nu’u‘)ZrsquoZlsquoaF A new cultivar of Begonia plant named ‘BCT9801BEG’. z .//paragraphu7A new cultivar of Begonia plant named ‘BCT9801BEG’.) r&rär¿Úupdaterærçr\r’rX)r"ZENTITIESrìÚtrrrÚtest_bug_xmltoolkit62âs   ÿzBugsTest.test_bug_xmltoolkit62zSkips under coverage.cCsBdd„}|ƒt d¡}tdƒD] }|ƒq | t d¡|¡dS)NcSs,t ¡}| di¡| d¡| d¡dS)Nr;rX)r&rèrrër÷)r8rrrÚ xmltoolkit63ös  z4BugsTest.test_bug_xmltoolkit63..xmltoolkit63iè)rHÚ getrefcountrÁr\)r"rYÚcountrÃrrrÚtest_bug_xmltoolkit63ós   zBugsTest.test_bug_xmltoolkit63c Cs`tjddd}| t |¡d¡| t t |¡¡ d¡d¡| t t t |¡¡¡d¡dS)NZSomeTagzdef _f(): return 3 rXs0rX)r&r[r\rÕršrNr»rrrÚtest_bug_200708_newlines ÿÿÿz BugsTest.test_bug_200708_newlinecCs`t ¡}| d¡| | ¡jd¡Gdd„dƒ}tj|ƒd}| d¡| | ¡jd¡dS)Nzsome textr~c@seZdZdd„ZdS)z2BugsTest.test_bug_200708_close..EchoTargetcSs t d¡S)Nr~©r&r[rqrrrrçsz8BugsTest.test_bug_200708_close..EchoTarget.closeN©r)r*r+rçrrrrÚ EchoTargetsr`rÞ)r&rärær\rçr;)r"rìr`rrrÚtest_bug_200708_close s  zBugsTest.test_bug_200708_closecCsÎt d¡}t |d¡}| t|ddd¡t d¡}t |d¡}t |d¡}| t|ddd¡t d¡}t |d¡}t |d¡}| t¡}t|ddWdƒn1s®0Y| t|jƒd¡dS) Nz {default}elemrÍ)raz%z{not-default}elemzIr4zrÆz(http://namespace.invalid/does/not/exist/sBz'{http://purl.org/dc/elements/1.1/}titles8)r&r[r\rÕÚregister_namespacer»rrrÚ"test_bug_200709_register_namespace2s  ÿ   ÿ  ÿz+BugsTest.test_bug_200709_register_namespacecCs`t d¡}| t d¡¡| |djtj¡t d¡}| t d¡¡| |djtj¡dS)Nr£rÆr)r&r[rŽr&r\r;rœ)r"r£rrrÚtest_bug_200709_element_commentAs   z(BugsTest.test_bug_200709_element_commentcCspt d¡}t |d¡}t |d¡}t d¡}| d|¡| t|ƒgd¢¡| d|¡| t|ƒgd¢¡dS) Nr£r¡r¤r¢r)r¢r¡r¤r[)r¢r¡r¢r¤)r&r[r%rr\rA©r"r£r¡r¤r¢rrrÚtest_bug_200709_element_insertMs      z'BugsTest.test_bug_200709_element_insertcCsJt d¡}t |d¡}t d¡}| |¡| t| tj¡ƒtjg¡dS)Nr£r¡zTEST-b)r&r[r%r&rŽr\rAr˜)r"r£r¡Z comment_brrrÚtest_bug_200709_iter_commentWs     z%BugsTest.test_bug_200709_iter_commentcCsDt ¡}| d¡}| di¡}| d¡}| ¡}| t|ƒd¡dS)Nrër;rØ)r&rèrërr÷rçr\r9)r"rcrµrrrÚtest_bug_1534630as    zBugsTest.test_bug_1534630cCs@t d¡}| t |d¡d¡t d¡}| t |d¡d¡dS)Ns7tãgrðs< tãgs;tãgrcr»rrrÚtest_issue6233is ÿ ÿzBugsTest.test_issue6233cCs8t d¡}| |jd¡t |¡}| t |¡d¡dS)Nz+z{${stuff}}localnames&)r&ršr\r;rrÕ)r"rµrWrrrÚtest_issue3151us  zBugsTest.test_issue3151cCsRt d¡}| t|ƒdg¡t t¡}|dd…|dd…<| t|ƒgd¢¡dS)Nr«r;©r;r;rÖ)r&ršr\rAr»)r"r4ZnewelemrrrÚtest_issue6565{s   zBugsTest.test_issue6565cCst dd¡t dd¡dS)NZ test10777z http://myuri/)r&rdrqrrrÚtest_issue10777‚s zBugsTest.test_issue10777cs`G‡fdd„dƒ}t d¡‰|ƒˆ_ˆ ¡}t|ƒ}| ||¡| ˆjt¡| ˆjd¡dS)NcseZdZ‡fdd„ZdS)z%BugsTest.test_lost_text..Textcs dˆ_dS)NÚchangedTrXrq©rµrrÚ__bool__Œsz.BugsTest.test_lost_text..Text.__bool__N©r)r*r+rrrrqrrr ‹sr r;rp)r&r[rXr™rrZr³r\©r"r rÃrWrrqrÚtest_lost_text‰s  zBugsTest.test_lost_textcs|G‡fdd„dƒ}t d¡‰ˆ t d¡¡|ƒˆd_ˆ ¡}t|ƒ}| ||¡| ˆdjt¡| ˆdjd¡dS)NcseZdZ‡fdd„ZdS)z%BugsTest.test_lost_tail..Textcsdˆd_dS©NrprTrQrqrqrrrr›s z.BugsTest.test_lost_tail..Text.__bool__Nrsrrqrrr šsr rür;rrp) r&r[rŽrWr™rrZr³r\rtrrqrÚtest_lost_tail˜s   zBugsTest.test_lost_tailcsªG‡‡fdd„dƒ}t d¡‰ˆ t |ƒ¡¡ˆ t d¡¡ˆ d¡‰z tˆƒ}Wntyr| d¡Yn0| |j|¡| ˆdjt ¡|  ˆdjd¡dS)NcseZdZ‡‡fdd„ZdS)z$BugsTest.test_lost_elem..Tagcst d¡ˆd<tˆƒdSrv)r&r[r)r"rΩrµrÃrrÚ__eq__«sz+BugsTest.test_lost_elem..Tag.__eq__N©r)r*r+ryrrxrrrŸªsrŸrür;zgenerators are not reentrantrrp) r&r[rŽr˜rr²ÚskipTestrZr;r³r\)r"rŸrWrrxrÚtest_lost_elem¨s    zBugsTest.test_lost_elemcCs.d|}t |¡}| | d¡| d¡¡dS)Ns r¡r )r&ršr\rNÚdecode)r"rXr€rürrrÚcheck_expat224_utf8_bug¼s z BugsTest.check_expat224_utf8_bugcCs d}| |¡d}| |¡dS)Nsààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààsxàààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààà)r~r1rrrÚtest_expat224_utf8_bugÁs zBugsTest.test_expat224_utf8_bugcCs‚ttdƒ}| ¡}Wdƒn1s(0Yt |¡}| d¡}| d¡ ¡}| dd¡}|dd…}|  | d¡|¡dS)Nrr¡r rÔrnééüÿÿÿ) râÚUTF8_BUG_XMLFILErãr&r›rNr}ÚstripÚreplacer\)r"ÚfpÚrawrüZxmlattrrXrrrÚtest_expat224_utf8_bug_fileÍs &    z$BugsTest.test_expat224_utf8_bug_filecCs.| tt ¡jd¡| tt ¡jdd¡dS)Nr;)r±rHr&rèrrqrrrÚtest_39495_treebuilder_startÚsz%BugsTest.test_39495_treebuilder_startN)$r)r*r+rJrKrNrOrPrQrRrUrXÚunittestZskipIfrHÚgettracer\r]rarcrerfrhrirjrkrlrnrorurwr|r~rr‡rˆrrrrrGys<           rGc@s\eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dS)ÚBasicElementTestcCsÐd}ddi}t ||¡}| |tj¡| dt|ƒ¡| dt|ƒ¡| dt|ƒ¡| dt|ƒ¡| |j|¡| |j¡| |j ¡|  |j |¡| |j |¡d|d <|  |j |¡|  |j |¡dS) NrÆÚzixÚwypr;rYrXrWÚbazrÅ) r&r[rZr}r{r\r;r©rXrWrÙrYrE)r"r;rYÚ element_foorrrÚ test___init__ås    zBasicElementTest.test___init__cCsödttjƒvrt d¡‚t dddi¡}| t dddi¡¡| t¡| ¡}Wdƒn1sf0Y|  ||¡|  |j |j ¡|  |j |j ¡|  |j |j ¡|  t|ƒt|ƒ¡t ||¡D]\}}| ||¡qÌ|  |j|j¡dS) NrÇzElement.copy() not presentrÆrŒrrÅrŽÚqix)r{r&r[r‰ÚSkipTestrŽZ assertWarnsÚDeprecationWarningrÇrÙr\r;rXrWr]Ú itertoolsÚ zip_longestÚassertIsrY©r"rZ element_foo2rFrGrrrrÌ s  & zBasicElementTest.test_copycCs¶t dddi¡}| t dddi¡¡t |¡}| ||¡| |j|j¡| |j|j¡| |j|j¡| t |ƒt |ƒ¡t   ||¡D]\}}|  ||¡qŒ| |j |j ¡dS©NrÆrŒrrÅrŽr‘)r&r[rŽrÇrÙr\r;rXrWr]r”r•r–rYr—rrrÚ test___copy__ s  zBasicElementTest.test___copy__cCsðt dddi¡}| t dddi¡¡t |¡}| ||¡| |j|j¡| |j|j¡| |j |j ¡| t |ƒt |ƒ¡t   ||¡D]\}}| ||¡qŒ| |j |j ¡| |j |j ¡d|j d<| |j |j ¡| |j |j ¡dSr˜)r&r[rŽrÇrÈrÙr\r;rXrWr]r”r•rYrEr—rrrÚtest___deepcopy__5 s   z"BasicElementTest.test___deepcopy__cCs<t d¡}| t|jd¡| t|jt d¡dg¡| t|jdd¡t d¡g|dd…<| t¡d|d<Wdƒn1s‚0Y| t¡&t d¡dg|dd…<Wdƒn1sÂ0Yt|dƒrøddgdd d d œ}| t|j|¡t|d ƒr8Gd d„dtjƒ}|dƒg|dd…<| tt j |¡dS)NÚjoer¡rÅrÆrÚ __setstate__r;rrWrX)r;Ú _childrenrYrWrXÚ __deepcopy__c@seZdZdd„ZdS)z9BasicElementTest.test_augmentation_type_errors..EcSsdSrCr)r"Úmemorrrržj szFBasicElementTest.test_augmentation_type_errors..E.__deepcopy__N)r)r*r+ržrrrrÚEi sr ) r&r[r±rHrŽrrr|rœrÇrÈ)r"rµÚstater rrrÚtest_augmentation_type_errorsS s*  & 4 û z.BasicElementTest.test_augmentation_type_errorscCsìGdd„dƒ}|ƒ}tjd|d|_t |¡}~tƒ| |ƒ¡t d¡}|ƒ}||_t |¡}tj|d|d}~~~tƒ| |ƒ¡t d¡}t d¡}t d¡}| |¡| |¡| |¡t |¡}~~~tƒ| |ƒ¡dS) Nc@s eZdZdS)z.BasicElementTest.test_cyclic_gc..DummyN©r)r*r+rrrrÚDummyp sr¤r›)rrÆrÉrÊrË) r&r[ZdummyrefÚweakrefÚrefr r©r%rŽ)r"r¤r¢ÚwrefrµrÊrÉrËrrrÚtest_cyclic_gco s2            zBasicElementTest.test_cyclic_gccsVd‰‡fdd„}t d¡}t ||¡}| |ƒjd¡~| ˆd¡| |ƒd¡dS)NFcsd‰dS©NTr)Úw©ÚflagrrÚwref_cb” sz.BasicElementTest.test_weakref..wref_cbrµT)r&r[r¥r¦r\r;)r"r­rµr§rr«rÚ test_weakref’ s    zBasicElementTest.test_weakrefcCsBtjddddd}| |jdddd¡| |jd ddd¡dS) NrÆrjr°rD)rdreÚzrdé)rÍrª)r&r[r\rN)r"rÉrrrÚtest_get_keyword_argsž sz&BasicElementTest.test_get_keyword_argsc CsØtdtjdƒD]Â}t|jddD]®\}}|jddd}d|_d|_| |d ¡  | d ¡¡|  | d ¡¡|  d ¡d   d d¡|  |d|||¡}|  |jd¡|  |jdd¡|  t|ƒd¡| ||¡q"qdS)Nr°rj©ÚrepeatrÆé*)rÅztext goes herezopposite of headÚchildZ grandchildz .//grandchildrrz other valuer$rÅ)rÁrIÚHIGHEST_PROTOCOLrrEr[rXrWr%rŽr”r—rVr\r;rYr]r`)r"rSrQrRrµrÊrrrÚ test_pickle£ sÿzBasicElementTest.test_picklec CstdtjdƒD]z}t|jddD]f\}}d}| |¡}t|dƒrV| | ¡dd¡|  |d|||¡}| |j d¡| |d j d ¡q"qdS) Nr°rjr²z\ 4 Ú __getstate__r;Úgroupr$rZdogs) rÁrIr¶rrEr›r|r\r¸rVr;)r"rSrQrRZXMLTEXTrÉrÊrrrÚtest_pickle_issue18997¶ s  ÿz'BasicElementTest.test_pickle_issue18997N) r)r*r+rrÌr™ršr¢r¨r®r±r·rºrrrrr‹ãs# r‹c@s\eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dS)ÚBadElementTestcs|G‡fdd„dƒ}|ƒg‰t d¡}z| ˆ¡WntyDYn0Gdd„d|tjƒ}|dƒg‰t d¡}| ˆ¡dS)NcseZdZe‡fdd„ƒZdS)z2BadElementTest.test_extend_mutable_list..Xcst d¡gˆdd…<tjS)NrŽr^rq©ÚLrrÚ __class__È sz.X.__class__N©r)r*r+Úpropertyr¾rr¼rrÚXÇ srÁrÆc@s eZdZdS)z2BadElementTest.test_extend_mutable_list..YNr£rrrrÚYÓ srÂrd©r&r[rrH©r"rÁrµrÂrr¼rÚtest_extend_mutable_listÆ s    z'BadElementTest.test_extend_mutable_listcsŒG‡fdd„dƒ}|ƒt d¡g‰t d¡}z| ˆ¡WntyLYn0Gdd„d|tjƒ}|dƒt d¡g‰t d¡}| ˆ¡dS)NcseZdZe‡fdd„ƒZdS)z3BadElementTest.test_extend_mutable_list2..Xcsˆdd…=tjSrCr^rqr¼rrr¾Û s z=BadElementTest.test_extend_mutable_list2..X.__class__Nr¿rr¼rrrÁÚ srÁrŽrÆc@s eZdZdS)z3BadElementTest.test_extend_mutable_list2..YNr£rrrrrÂæ srÂrÅrÃrÄrr¼rÚtest_extend_mutable_list2Ù s   z(BadElementTest.test_extend_mutable_list2cszG‡fdd„dtjƒ}t d¡‰ˆ |dƒg¡| tˆjt d¡¡t d¡‰ˆ t d¡g¡| tˆj|dƒ¡dS)NcseZdZ‡fdd„ZdS)z3BadElementTest.test_remove_with_mutating..Xcsˆdd…=dS)NFr©r"Úorqrrryî s z:BadElementTest.test_remove_with_mutating..X.__eq__NrzrrqrrrÁí srÁrÆrÅrŽ)r&r[rr±r²r‘©r"rÁrrqrÚtest_remove_with_mutatingì s  z(BadElementTest.test_remove_with_mutatingc Cslt d¡}t|d|ƒB| t¡t|ƒWdƒn1s@0YWdƒn1s^0YdS)NrÆr;)r&r[r r±Ú RuntimeErrorrr»rrrÚtest_recursive_reprù s  z"BadElementTest.test_recursive_reprcsnG‡fdd„dtƒ}t ¡}| di¡| d¡| |dƒ¡| d¡| d¡| ¡‰| ˆjd¡dS)NcseZdZ‡fdd„ZdS)z/BadElementTest.test_element_get_text..Xcs"z ˆjWntyYn0dSrC)rXÚ NameErrorrq©r4rrÚ__del__ s  z7BadElementTest.test_element_get_text..X.__del__N©r)r*r+rÏrrÎrrrÁ srÁr;ÚABCDÚEFGHÚIJKLÚ ABCDEFGHIJKL) r³r&rèrrër÷rçr\rX©r"rÁr¡rrÎrÚtest_element_get_text s    z$BadElementTest.test_element_get_textcsˆG‡fdd„dtƒ}t ¡}| di¡| di¡| d¡| d¡| |dƒ¡| d¡| d¡| ¡‰| ˆdjd ¡dS) NcseZdZ‡fdd„ZdS)z/BadElementTest.test_element_get_tail..Xcs&zˆdjWnty Yn0dSrõ)rWrÍrqrÎrrrÏ s z7BadElementTest.test_element_get_tail..X.__del__NrÐrrÎrrrÁ srÁrür;rÑrÒrÓrrÔ) r³r&rèrr÷rërçr\rWrÕrrÎrÚtest_element_get_tail s      z$BadElementTest.test_element_get_tailcs^G‡fdd„dƒ}t d¡‰ˆ t d¡¡ˆd|ƒ…ˆ t d¡¡ˆdd|ƒ…dS)NcseZdZ‡fdd„ZdS)z%BadElementTest.test_subscr..Xcsˆdd…=dS©NrjrrqrqrrÚ __index__+ s z/BadElementTest.test_subscr..X.__index__N©r)r*r+rÙrrqrrrÁ* srÁr4rµrr¿)r&r[rŽrÉrrqrÚ test_subscr( s  zBadElementTest.test_subscrcsPG‡fdd„dƒ}t d¡‰tdƒD]}ˆ dt d¡¡q$gˆdd|ƒ…<dS)NcseZdZ‡fdd„ZdS)z)BadElementTest.test_ass_subscr..Xcsgˆdd…<dSrØrrqrqrrrÙ9 s z3BadElementTest.test_ass_subscr..X.__index__NrÚrrqrrrÁ8 srÁr4r¿rrµ)r&r[rÁr)r"rÁrôrrqrÚtest_ass_subscr6 s   zBadElementTest.test_ass_subscrcCsHdd„}tj|d}| di¡| d¡| t|jdi¡~tƒdS)NcSsgSrCr©rdrerrrÚelement_factoryE sz>BadElementTest.test_treebuilder_start..element_factory©rÞr;rÑr­)r&rèrrër±ÚAttributeErrorr ©r"rÞr¡rrrÚtest_treebuilder_startC s   z%BadElementTest.test_treebuilder_startcCsFdd„}tj|d}| di¡| d¡| t|jd¡~tƒdS)NcSsgSrCrrÝrrrrÞQ sz.element_factoryrßr;rÑ)r&rèrrër±ràr÷r rárrrÚtest_treebuilder_endO s   z#BadElementTest.test_treebuilder_endN) r)r*r+rÅrÆrÊrÌrÖr×rÛrÜrârãrrrrr»Å s   r»c@seZdZdd„Zdd„ZdS)ÚMutatingElementPathcGstj|g|¢RŽ}||_|SrC)r³Ú__new__r4)rFr4rr"rrrrå] szMutatingElementPath.__new__cCs|jdd…=dSr©rÎrÇrrrrya s zMutatingElementPath.__eq__N)r)r*r+råryrrrrrä\ sräc@seZdZdd„ZdS)ÚBadElementPathcCs dd‚dS)NrjrrrÇrrrryg szBadElementPath.__eq__Nrzrrrrræf sræcsXeZdZ‡fdd„Z‡fdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z ‡Z S)ÚBadElementPathTestcs(tƒ ¡ddlm}|j|_i|_dS©Nrr)ÚsuperÚsetUpr!r rÂÚ path_cache©r"r ©r¾rrrêl s  zBadElementPathTest.setUpcs"ddlm}|j|_tƒ ¡dSrè)r!r rërÂréÚtearDownrìrírrrîr s zBadElementPathTest.tearDowncCs0t d¡}| t d¡g¡| t|dƒ¡dS©NrÆrÅrd)r&r[rr’rär»rrrÚtest_find_with_mutatingw s z*BadElementPathTest.test_find_with_mutatingcCsFt d¡}| t d¡g¡z| tdƒ¡Wnty@Yn0dSrï)r&r[rr’ræÚZeroDivisionErrorr»rrrÚtest_find_with_error| s   z'BadElementPathTest.test_find_with_errorcCs0t d¡}| t d¡g¡| t|dƒ¡dSrï)r&r[rr•rär»rrrÚtest_findtext_with_mutating„ s z.BadElementPathTest.test_findtext_with_mutatingcCsFt d¡}| t d¡g¡z| tdƒ¡Wnty@Yn0dSrï)r&r[rr•rærñr»rrrÚtest_findtext_with_error‰ s   z+BadElementPathTest.test_findtext_with_errorcCs0t d¡}| t d¡g¡| t|dƒ¡dSrï)r&r[rr”rär»rrrÚtest_findall_with_mutating‘ s z-BadElementPathTest.test_findall_with_mutatingcCsFt d¡}| t d¡g¡z| tdƒ¡Wnty@Yn0dSrï)r&r[rr”rærñr»rrrÚtest_findall_with_error– s   z*BadElementPathTest.test_findall_with_error) r)r*r+rêrîrðròrórôrõröÚ __classcell__rrrírrçk s  rçc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ÚElementTreeTypeTestcCsX| tjt¡| tjt¡| tjt¡| tjt¡| tjt¡| tjt¡dSrC) rZr&rrãrÆrr[rèrärqrrrÚ test_istype  s zElementTreeTypeTest.test_istypecCsZGdd„dtjƒ}|dƒ}| |tj¡| ||¡| |jd¡d|_| |jd¡dS)Nc@s eZdZdS)zDElementTreeTypeTest.test_Element_subclass_trivial..MyElementNr£rrrrÚ MyElement© srúrÆr›)r&r[rZr\r;rX©r"rúÚmyerrrÚtest_Element_subclass_trivial¨ s z1ElementTreeTypeTest.test_Element_subclass_trivialcsVG‡fdd„dtjƒ‰ˆddddœddd }| |jd ¡| t| ¡ƒgd ¢¡dS) Ncs"eZdZif‡‡fdd„ Z‡ZS)zHElementTreeTypeTest.test_Element_subclass_constructor..MyElementcs"tˆ|ƒj|d|fi|¤ŽdS)NÚ__)rér()r"r;rYÚextra)rúr¾rrr(· szQElementTreeTypeTest.test_Element_subclass_constructor..MyElement.__init__)r)r*r+r(r÷r©rúrírrú¶ srúrÆrjr°)r£r¡rDé)r¤r¢Zfoo__))r£rj)r¡r°)r¤rD)r¢r)r&r[r\r;rÖrv)r"rürrrÚ!test_Element_subclass_constructorµ s ÿz5ElementTreeTypeTest.test_Element_subclass_constructorcCs.Gdd„dtjƒ}|dƒ}| | ¡d¡dS)Nc@seZdZdd„ZdS)zGElementTreeTypeTest.test_Element_subclass_new_method..MyElementcSs|jSrCr:rqrrrÚ newmethodÁ szQElementTreeTypeTest.test_Element_subclass_new_method..MyElement.newmethodN)r)r*r+rrrrrrúÀ srúr›)r&r[r\rrûrrrÚ test_Element_subclass_new_method¿ sz4ElementTreeTypeTest.test_Element_subclass_new_methodcCs–Gdd„dtjƒ}t d¡}d|_|dƒ}d|_| |¡| | d¡d¡| | d¡jd¡t|  d¡ƒ}| t |ƒd|¡| |djd¡dS) Nc@s eZdZdS)zAElementTreeTypeTest.test_Element_subclass_find..MyElementNr£rrrrrúÈ srúrÆrXrÅr#rjr) r&r[rXrŽr\r•r’r;r^r”r])r"rúrµÚsubÚfoundrrrÚtest_Element_subclass_findÇ s  z.ElementTreeTypeTest.test_Element_subclass_findN)r)r*r+rùrýrrrrrrrrøŸ s   røc@sLeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS)ÚElementFindTestcCsòt t¡}| | d¡jd¡| | d¡jd¡| | d¡jd¡t t¡|d<| | d¡jd¡| | d¡d¡| | d¡d¡| | d¡d ¡| | dd ¡d ¡| | d ¡¡| | d d ¡d ¡| t d ¡ d ¡d ¡dS)Nr;r¹ú./tagr°zsection/nexttagÚnexttagrXr#rmrÍÚtogzÚempty) r&ršr»r\r’r;ÚSAMPLE_SECTIONr•r©r»rrrÚtest_find_simpleØ s z ElementFindTest.test_find_simplecCsÒd}t |¡}| | d¡jdd¡| | d¡jdd¡| | d¡jdd¡| | d ¡jdd ¡| | d ¡jdd¡| td |jd ¡| td |jd¡| td |jd¡| td |jd¡dS)Nz“ z./tag[1]Úclassr£z./tag[2]r¡z ./tag[last()]r¢z./tag[last()-1]r¤z./tag[last()-2]ZXPathz./tag[0]z ./tag[-1]z./tag[last()-0]z./tag[last()+1])r&ršr\r’rYrgÚ SyntaxError)r"Z LINEAR_XMLrµrrrÚtest_find_xpathï s zElementFindTest.test_find_xpathcCs t t¡}t t¡|d<| t| d¡ƒdg¡| t| d¡ƒddg¡| t| d¡ƒg¡| t| d¡ƒg¡| t| d¡ƒgd¢¡| t| d ¡ƒdgd ¡| t| d ¡ƒdg¡| t| d ¡ƒdgd¡| t| d ¡ƒgd¢¡| t| d¡ƒgd¢¡| t| d¡ƒgd¢¡| t| d¡ƒgd¢¡| t| d¡ƒgd¢¡| t| d¡ƒdg¡| t| d¡ƒdg¡| t| d¡ƒdgd¡| t| d¡ƒdgd¡| t| d¡ƒdgd¡| t| d¡ƒdg¡| t| d¡ƒdgd¡| t| d¡ƒdg¡| t| d¡ƒdg¡| t| d¡ƒg¡| t| d ¡ƒg¡| t| d!¡ƒdgd¡| | d"¡| d¡¡| t| d#¡ƒdg¡| t| d$¡ƒdg¡| t| d%¡ƒdg¡| t| d&¡ƒdg¡| t| d'¡ƒdg¡| t| d(¡ƒdg¡| t| d)¡ƒdg¡| t| d*¡ƒdg¡| t| d+¡ƒdg¡| t| d,¡ƒdg¡| t| d-¡ƒg¡| t| d.¡ƒg¡|d|d/<| t| d&¡ƒddg¡| t| d,¡ƒddg¡dS)0Nr°rÙrñr;r ztog/foorŠrmz.//tagrr¹z section//tagz section/*)r;r Ú nextsectionz section//*)r;r rr;z section/.//*z*/*z*//*z*/tagz*/./tagr z././tagz.//tag[@class]rDz.//tag[@class="a"]z.//tag[@class="b"]z .//tag[@id]z.//section[tag]rÖz.//section[element]z../tagzsection/../tagz section//z.//section[tag='subtext']z.//section[tag ='subtext']z.//section[tag= 'subtext']z.//section[tag = 'subtext']z.//section[ tag = 'subtext' ]z.//tag[.='subtext']z.//tag[. ='subtext']z.//tag[.= "subtext"]z.//tag[ . = "subtext" ]z.//tag[. = 'subtext']z.//tag[. = 'subtext ']z.//tag[.= ' subtext']rj)r&ršr»r r\rAr”r»rrrÚ test_findall s ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿzElementFindTest.test_findallcCs\t t¡}| t| d¡ƒg¡| t| d¡ƒdgd¡| t| d¡ƒdgd¡dS)Nr;z{http://effbot.org/ns}tagr°z.//{http://effbot.org/ns}tagrD)r&ršrÃr\rAr”r»rrrÚtest_test_find_with_nsR s  þ þz&ElementFindTest.test_test_find_with_nscCsÄt d¡}ddi}| t|jd|dƒd¡| t|jd|dƒd¡ddi}| t|jd|dƒd ¡| t|jd|dƒd¡ddd œ}| t|jd|dƒd¡| t|jd|dƒd ¡dS) Nú– ÚxxrÁz.//xx:b)rÊr°ú.//brÂrj)rrm)r&ršr\r]r”)r"rüÚnsmaprrrÚtest_findall_different_nsmaps\ s  z-ElementFindTest.test_findall_different_nsmapscCsÐt d¡}| t d¡¡| t| d¡ƒgd¢¡| t| d¡ƒdg¡| t| d¡ƒdg¡| t| d ¡ƒd g¡| t| d ¡ƒd dg¡| t| d ¡ƒd g¡| t| d ¡ƒt| d ¡ƒ¡| t| d¡ƒgd¢¡| t| d¡|dgƒt| d¡ƒ¡| t| d¡ƒgd¢¡| t| d¡ƒddg¡| t| d¡ƒddg¡| t| d¡ƒd g¡| t| d¡ƒgd¢¡| t| d¡ƒd d g¡| t| d¡ƒt| d¡ƒ¡dS)Nrrz{*}b)ú{X}br¡ú{Y}bz{*}cr¤z{X}*rz{Y}*rrßr¡z{}brá)rr¡r¤rr[rŠz.//{*}b)rr¡rr¡rz.//{*}cz.//{X}*z.//{Y}*z.//{}*)r¤r¡r¤r¡z.//{}br)r&ršrŽr&r\rAr”ròrrrÚtest_findall_wildcardm sd ÿÿÿÿÿÿ ÿÿ ÿÿÿÿÿÿÿ ÿz%ElementFindTest.test_findall_wildcardcCsDt t¡}| td¡| d¡Wdƒn1s60YdS)Nzcannot use absolute pathz/tag)r&ršr»rgrr”r»rrrÚ test_bad_find™ s zElementFindTest.test_bad_findcCs¸t t¡}| t |¡ d¡jd¡| t |¡ d¡d¡| tt |¡  d¡ƒdgd¡d}|  t |¡ t |¡  d¡}Wdƒn1s”0Y| t|ƒdgd¡dS)Nr;rXr°z‰This search is broken in 1.3 and earlier, and will be fixed in a future version. If you rely on the current behaviour, change it to '.+'z//tagrD) r&ršr»r\rr’r;r•rAr”ÚassertWarnsRegexÚ FutureWarning)r"rµrlrˆrrrÚtest_find_through_ElementTreež s ÿ.z-ElementFindTest.test_find_through_ElementTreeN) r)r*r+rrrrrrrr rrrrr× sM ,rc@s>eZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „ZdS)ÚElementIterTestNcCst| |¡ƒSrC)rAr˜)r"r4r;rrrÚ_ilist® szElementIterTest._ilistcCs4t d¡}| | |¡gd¢¡| | | d¡¡ddg¡| t| ¡ƒjd¡| d |  ¡¡d¡| d | d¡  ¡¡d¡| t|  ¡ƒd ¡t |d d }| tt  |¡ƒd d ¡t |d d }tj t  ¡d}| ttj ||dƒd d ¡t d¡}| t|j¡t d¡}| d |  ¡¡d¡dS)Nz7this is a paragraph...)rºrñrÃrñrÃrºrmzthis is a paragraph...zthis is a paragraph.z this is a F)r5rr÷rÞ)rìz*a&b&c&za&b&c&)r&ršr\r"r’rr˜r;ròr™r9rrärèrr±rà)r"rÓZ sourcefilerìr8rrrÚ test_basic± s( ÿ  ÿ  zElementIterTest.test_basiccCs°t d¡}| | |¡dg¡t |d¡}| | |¡ddg¡t |d¡}| | |¡gd¢¡t |d¡}| | |¡gd¢¡|d|d<|d=| | |¡ddg¡dS) Nr£r¡r¤)r£r¡r¤r¢)r£r¡r¤r¢rjr)r&r[r\r"r%rgrrrÚ test_cornersÌ s     zElementIterTest.test_cornerscCs¢t d¡}| | |d¡dgd¡| | |d¡dgd¡| t|jddƒdgd¡gd¢}| t| ¡ƒ|¡| | |¡|¡| | |d¡|¡dS) NaJ bedroom1 bedroom2 nothing here bedroom8 ÚroomrDÚhouser°r:)rr&r%r%Zshedr&r%rŠ)r&ršr\r"rAr˜)r"rÓZall_tagsrrrÚtest_iter_by_tagâ s þz ElementIterTest.test_iter_by_tagcCsJt d¡}| ¡}| t¡t |¡Wdƒn1s<0YdS)Nr£)r&r[r˜r±rHrÇ)r"r£rˆrrrrÌÿ s  zElementIterTest.test_copyc Csft d¡}| ¡}ttjdƒD]@}| ttjf¡t  ||¡Wdƒq 1sV0Yq dS)Nr£rj) r&r[r˜rÁrIr¶r±rHrLrJ)r"r£rˆrSrrrr· s  zElementIterTest.test_pickle)N) r)r*r+r"r#r$r'rÌr·rrrrr!­ s  r!c@sŒeZdZdZdZdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!S)"ÚTreeBuilderTestz text
subtext
tailzsometextcCs”| |jd¡| |jd¡| |jd¡| |ji¡t|ƒ}| t|ƒd¡|d}| |jd¡| |jd¡| |jd¡| |ji¡dS)NrºrXrjrZdivr#rW)r\r;rXrWrYr^r])r"rµÚchildrenrµrrrÚ_check_sample1_element sz&TreeBuilderTest._check_sample1_elementcCsžGdd„dƒ}Gdd„d|ƒ}tj|ƒd}| |j¡| | ¡d¡tj|ƒd}| |j¡| | ¡d¡tjtƒd}| |j¡| | ¡¡dS)Nc@seZdZdd„ZdS)z.BaseDummyBuildercSsdS)Nr´rrqrrrrç$ szBTreeBuilderTest.test_dummy_builder..BaseDummyBuilder.closeNr_rrrrÚBaseDummyBuilder# sr+c@seZdZdd„ZZZdS)z8TreeBuilderTest.test_dummy_builder..DummyBuildercWsdSrCr)r£rrrÚ( r?zATreeBuilderTest.test_dummy_builder..DummyBuilder.N)r)r*r+rërr÷rrrrÚ DummyBuilder' sr-rÞr´)r&räræÚsample1r\rçÚobjectr©)r"r+r-rìrrrÚtest_dummy_builder" s   z"TreeBuilderTest.test_dummy_buildercCst ¡}| | d¡jtj¡| | d¡jd¡tjtjd}| | d¡jtj¡| | d¡jd¡tjtd}| | d¡tdƒ¡dS)NZctext)Úcomment_factory)r&rèr\r$r;r&rXr]©r"r¡rrrÚtest_treebuilder_comment6 s z(TreeBuilderTest.test_treebuilder_commentcCsæt ¡}| | dd¡jtj¡| | dd¡jd¡tjtjd}| | d¡jtj¡| | d¡jd¡| | dd¡jtj¡| | dd¡jd¡tjdd„d}| | d¡tdƒdf¡| | dd¡tdƒdf¡dS)Nrß)Ú pi_factoryr&z text zpitarget text cSs t|ƒ|fSrC)r])rßrXrrrr,M r?z5TreeBuilderTest.test_treebuilder_pi..)r&rèr\r4r;rœrXr]r2rrrÚtest_treebuilder_piB sz#TreeBuilderTest.test_treebuilder_picCs®Gdd„dtjƒ}d}t |¡}| |jd¡tj|ƒd}| |¡| ¡}| |jd¡d}t |¡}| |jd¡d}tj|ƒd}| |¡| ¡}| |jd¡dS)Nc@s eZdZdS)z;TreeBuilderTest.test_late_tail..TreeBuilderSubclassNr£rrrrÚTreeBuilderSubclassS sr6ztexttailZtexttailrÞztexttail)r&rèr›r\rXrärærç)r"r6r€r£rìrrrÚtest_late_tailQ s     zTreeBuilderTest.test_late_tailcCszGdd„dtjƒ}d}tjtjddd}| |¡| ¡}| |djd¡| |djd ¡| |jd ¡tj|ddd}| |¡| ¡}| |djd¡| |djd ¡| |jd ¡d }tjtjdd d}| |¡| ¡}| |djd ¡| |djd¡| |jd¡tj|dd d}| |¡| ¡}| |djd ¡| |djd¡| |jd¡dS)Nc@s eZdZdS)zKTreeBuilderTest.test_late_tail_mix_pi_comments..TreeBuilderSubclassNr£rrrrr6l sr6z/text tailT)Zinsert_commentsrÞrr;z tailztext z+text tail)Z insert_piszpi datarWztext )r&rèrärærçr\rXrW)r"r6r€rìr£rrrÚtest_late_tail_mix_pi_commentsi s6    z.TreeBuilderTest.test_late_tail_mix_pi_commentscCs6tjtjddd}| |j¡| ¡}| |¡dS©NrßrÞ)r&rärèrær.rçr*©r"rìrµrrrÚ$test_treebuilder_elementfactory_none s z4TreeBuilderTest.test_treebuilder_elementfactory_nonecCsXGdd„dtjƒ}|ƒ}| | d¡d¡tj|d}| |j¡| ¡}| |¡dS)Nc@seZdZdd„ZdS)z4TreeBuilderTest.test_subclass..MyTreeBuildercSs|dS©Nr°rrSrrrre• sz;TreeBuilderTest.test_subclass..MyTreeBuilder.foobarN©r)r*r+rerrrrÚ MyTreeBuilder” sr>r¿rÀrÞ) r&rèr\rerärær.rçr*©r"r>ÚtbrìrµrrrÚ test_subclass“ s  zTreeBuilderTest.test_subclasscCslGdd„dtjƒ}|tjtjd}| | d¡d¡tj|d}| |j¡| d¡|  ¡}|  |¡dS)Nc@seZdZdd„ZdS)z?TreeBuilderTest.test_subclass_comment_pi..MyTreeBuildercSs|dSr<rrSrrrre£ szFTreeBuilderTest.test_subclass_comment_pi..MyTreeBuilder.foobarNr=rrrrr>¢ sr>)r1r4r¿rÀrÞz) r&rèr&rœr\rerärær.rçr*r?rrrÚtest_subclass_comment_pi¡ s   z(TreeBuilderTest.test_subclass_comment_picsNg‰‡fdd„}tj|d}tj|d}| |j¡| ¡| ˆdg¡dS)Ncsˆ |¡t ||¡SrC)rŽr&r[)r;rY©ZlstrrÚ myfactory² s z7TreeBuilderTest.test_element_factory..myfactoryrßrÞZtoplevel)r&rèräræÚsample2rçr\)r"rDr@rìrrCrÚtest_element_factory° s    z$TreeBuilderTest.test_element_factorycCsFtj|d}tj|d}| |j¡| ¡}| ||¡| |¡dSr9)r&rèrärær.rçrZr*)r"rFr@rìrµrrrÚ_check_element_factory_class¾ s     z,TreeBuilderTest._check_element_factory_classcCs Gdd„dtjƒ}| |¡dS)Nc@s eZdZdS)z@TreeBuilderTest.test_element_factory_subclass..MyElementNr£rrrrrúÈ srú)r&r[rG)r"rúrrrÚtest_element_factory_subclassÇ sz-TreeBuilderTest.test_element_factory_subclasscCs4tj}| |jd¡Gdd„d|tƒ}| |¡dS)Nr$c@s eZdZdS)zLTreeBuilderTest.test_element_factory_pure_python_subclass..MyElementNr£rrrrrúÕ srú)r&Z _Element_Pyr\r*r²rG)r"ÚbaserúrrrÚ)test_element_factory_pure_python_subclassÌ sz9TreeBuilderTest.test_element_factory_pure_python_subclasscCs<Gdd„dƒ}tj|ƒd}| |j¡| | ¡d¡dS)Nc@s eZdZdZdd„Zdd„ZdS)z3TreeBuilderTest.test_doctype..DoctypeParserNcSs|||f|_dSrC©Ú_doctype©r"rPZpubidÚsystemrrrÚdoctypeÝ sz;TreeBuilderTest.test_doctype..DoctypeParser.doctypecSs|jSrCrKrqrrrrçà sz9TreeBuilderTest.test_doctype..DoctypeParser.close)r)r*r+rLrOrçrrrrÚ DoctypeParserÚ srPrÞ©rºz&-//W3C//DTD XHTML 1.0 Transitional//ENz7http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)r&rärær.r\rç)r"rPrìrrrÚ test_doctypeÙ s    ÿzTreeBuilderTest.test_doctypec Cs°Gdd„dƒ}tj|ƒddD]@}| t|¡ tj||ƒdWdƒq 1sV0Yq tj|tdddD]2}tj||tdd}| |j¡| | ¡¡qxdS)Nc@s"eZdZdefdd„Zdd„ZdS)zBTreeBuilderTest.test_builder_lookup_errors..RaisingBuilderNcSs||_||_dSrC©Úraise_inÚwhat)r"rTrUrrrr(ì szKTreeBuilderTest.test_builder_lookup_errors..RaisingBuilder.__init__cSs"||jkr| |j¡‚dd„}|S)NcWsdSrCr)rrrrÚhandleó sz^TreeBuilderTest.test_builder_lookup_errors..RaisingBuilder.__getattr__..handlerS)r"rPrVrrrÚ __getattr__ð s  zNTreeBuilderTest.test_builder_lookup_errors..RaisingBuilder.__getattr__)r)r*r+r²r(rWrrrrÚRaisingBuilderë srXrÞ)rrër÷r$r4)rU) r&rärgr²ràrær.r©rç)r"rXrørìrrrÚtest_builder_lookup_errorsê s 0 z*TreeBuilderTest.test_builder_lookup_errorsN)r)r*r+r.rEr*r0r3r5r7r8r;rArBrFrGrHrJrRrYrrrrr( s"  $  r(c@sPeZdZdZdZdZdd„Zdd„Zdd „Zd d „Z d d „Z dd„Z dd„Z dS)Ú XMLParserTests22sŠtextuX $£€ð…»cCs6| |jd¡| |djd¡| |djd¡dS)Nr7rÚlineZ22)r\r;rXr»rrrÚ_check_sample_element sz#XMLParserTest._check_sample_elementcCs0tjdt ¡d}| |j¡| | ¡¡dS)Nr )r-rß)r&rärèrær.r\rç)r"Zparser2rrrÚtest_constructor_args s ÿ z#XMLParserTest.test_constructor_argscCs6Gdd„dtjƒ}|ƒ}| |j¡| | ¡¡dS)Nc@s eZdZdS)z-XMLParserTest.test_subclass..MyParserNr£rrrrÚMyParser sr^)r&rärær.r\rç)r"r^rìrrrrA s zXMLParserTest.test_subclasscCsTt ¡8t dt¡t ¡}| |j¡| ¡Wdƒn1sF0YdS)NÚerror) ÚwarningsÚcatch_warningsÚ simplefilterr“r&rärærErçr rrrÚtest_doctype_warning s    z"XMLParserTest.test_doctype_warningcsþd‰G‡fdd„dtjƒ}|ƒ}| td¡| |j¡Wdƒn1sN0Y| ¡| ˆ¡d‰‰t  ¡pt  dt ¡t  dt¡G‡fdd„dƒ}||ƒd}| |j¡| ¡| ˆ¡|  ˆd¡Wdƒn1sð0YdS) NcseZdZ‡fdd„ZdS)z@XMLParserTest.test_subclass_doctype..MyParserWithDoctypecs ||f‰dSrCr)r"rrrKrrrO) szHXMLParserTest.test_subclass_doctype..MyParserWithDoctype.doctypeN©r)r*r+rOrrKrrÚMyParserWithDoctype( srerOr_cseZdZ‡fdd„ZdS)z:XMLParserTest.test_subclass_doctype..DoctypeParsercs|||f‰dSrCrrM©Ú _doctype2rrrO8 szBXMLParserTest.test_subclass_doctype..DoctypeParser.doctypeNrdrrfrrrP7 srPrÞrQ) r&rärÚRuntimeWarningrærErçr©r`rarbr“r\)r"rerìrPr)rLrgrÚtest_subclass_doctype& s&*       ÿz#XMLParserTest.test_subclass_doctypecCspt ¡Tt dt¡t dt¡Gdd„dtjƒ}|ƒ}| |j¡|  ¡Wdƒn1sb0YdS)Nr_c@s eZdZdS)zDXMLParserTest.test_inherited_doctype..MyParserWithoutDoctypeNr£rrrrÚMyParserWithoutDoctypeI srj) r`rarbr“rhr&rärærErç)r"rjrìrrrÚtest_inherited_doctypeD s    z$XMLParserTest.test_inherited_doctypecCsVtjt ¡d}| |j¡| ¡}| |jd¡| |jdd¡| |j d¡dS)NrÞZmoneyrsu $£€ð…») r&rärèræÚsample3rçr\r;rYrXr:rrrÚtest_parse_stringO s  zXMLParserTest.test_parse_stringN) r)r*r+r.rErlr\r]rArcrirkrmrrrrrZ s rZc@seZdZdd„ZdS)ÚNamespaceParseTestcCs`dddœ}t t¡}| t| d|¡ƒd¡| t| d|¡ƒd¡| t| d|¡ƒd¡dS) NZhellorÆ)Úhrêz {hello}tablerjz .//{hello}tdr°z .//{foo}name)r&r›ÚSAMPLE_XML_NS_ELEMSr\r]r”)r"rrÓrrrÚtest_find_with_namespaceY s   z+NamespaceParseTest.test_find_with_namespaceN)r)r*r+rqrrrrrnX srnc@sleZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„ZdS)ÚElementSlicingTestcCsdd„|DƒS)NcSsg|] }|j‘qSrr:)r=rµrrrr>d r?z1ElementSlicingTest._elem_tags..r)r"ZelemlistrrrÚ _elem_tagsc szElementSlicingTest._elem_tagscCs| t|ƒ¡SrC)rsr^r'rrrÚ _subelem_tagsf sz ElementSlicingTest._subelem_tagscCs,t d¡}t|ƒD]}t |d|¡q|S)Nr£za%s)r&r[rÁr%)r"Z numchildrenrµrÃrrrÚ_make_elem_with_childreni s  z+ElementSlicingTest._make_elem_with_childrencsZ| d¡‰| ˆdjd¡| ˆdjd¡| t‡fdd„¡| t‡fdd„¡dS) Nr¿rjÚa1éþÿÿÿÚa8csˆdS)Né rrrqrrr,y r?z?ElementSlicingTest.test_getslice_single_index..csˆdS)Niôÿÿÿrrrqrrr,z r?)rur\r;r±Ú IndexErrorrqrrqrÚtest_getslice_single_indexs s  z-ElementSlicingTest.test_getslice_single_indexcCsÂ| d¡}| | |dd…¡gd¢¡| | |dd…¡gd¢¡| | |dd…¡gd¢¡| | |dd…¡ddg¡| | |dd…¡ddg¡| | |dd …¡d d g¡dS) Nr€rD)Úa3Úa4Úa5érÿr|r}r[r°Úa0rv)rur\rsr»rrrÚtest_getslice_range| s z&ElementSlicingTest.test_getslice_rangec CsÒ| d¡}| | |ddd…¡ddg¡| | |ddd…¡gd¢¡| | |ddd…¡ddg¡| | |ddd…¡d dg¡| | |ddtj…¡d g¡| | |ddtjd >…¡d g¡dS) Nr¿érjrxÚa9rD)r€r|Za6rƒr€rvr|é@©rur\rsrHÚmaxsizer»rrrÚtest_getslice_steps† s      z&ElementSlicingTest.test_getslice_stepsc Cs¼| d¡}| | |ddd…¡gd¢¡| | |ddd…¡ddg¡| | |ddtj …¡dg¡| | |ddtj d…¡dg¡| | |ddtj d >…¡dg¡dS) Nrr[)r|Úa2rvr€rwr|rvrDrjr„r…r»rrrÚtest_getslice_negative_steps s    "&z/ElementSlicingTest.test_getslice_negative_stepscCsþ| d¡}|dd…=| | |¡ddg¡| d¡}|dd…=| | |¡g¡| d¡}|ddd…=| | |¡g¡| d¡}|ddd…=| | |¡ddg¡| d¡}|d dd…=| | |¡ddg¡| d¡}|ddd…=| | |¡d g¡dS) Nrrr°rˆr|r[rwr€rjrv)rur\rtr»rrrÚ test_delslice™ s$            z ElementSlicingTest.test_delslicecCsÜ| d¡}t d¡|d<| | |¡gd¢¡t d¡|d<| | |¡gd¢¡| t¡t d¡|d <Wdƒn1s€0Y| t¡t d¡|d <Wdƒn1s¸0Y| | |¡gd¢¡dS) Nrr¡rj©r€r¡rˆr|r¤rw)r€r¡r¤r|r¢rÿéûÿÿÿ)rur&r[r\rtr±rzr»rrrÚtest_setslice_single_index² s  , ,z-ElementSlicingTest.test_setslice_single_indexcCs¬| d¡}dd„tdƒDƒ|dd…<| | |¡gd¢¡| d¡}t d¡g|dd…<| | |¡gd ¢¡| d¡}d d„tdƒDƒ|dd…<| | |¡gd ¢¡dS) NrcSsg|]}t d|¡‘qS©zb%sr^©r=rÃrrrr> r?z:ElementSlicingTest.test_setslice_range..r°rjrD)r€Úb0Úb1r|r¡)r€r¡r|cSsg|]}t d|¡‘qSrŽr^rrrrr>Ê r?)r€rr‘Úb2r|)rurÁr\rtr&r[r»rrrÚtest_setslice_rangeÀ s   z&ElementSlicingTest.test_setslice_rangecCsˆ| d¡}dd„tdƒDƒ|ddd…<| | |¡gd¢¡| d¡}| t¡&t d¡g|ddd…<Wdƒn1s|0Y| t¡,d d„td ƒDƒ|ddd…<Wdƒn1sÂ0Y| t¡g|ddd…<Wdƒn1sú0Y| | |¡gd ¢¡| d ¡}t d¡g|ddtj …<| | |¡gd ¢¡t d¡g|ddtj d>…<| | |¡gd¢¡dS)Nr€cSsg|]}t d|¡‘qSrŽr^rrrrr>Ï r?z:ElementSlicingTest.test_setslice_steps..r°rjrÿ)r€rrˆr‘r}r~r¡cSsg|]}t d|¡‘qSrŽr^rrrrr>Ö r?rD)r€rvrˆr|r}r~rr‹r¤r„©r€r¤rˆr|© rurÁr\rtr±r²r&r[rHr†r»rrrÚtest_setslice_stepsÍ s    4 : , z&ElementSlicingTest.test_setslice_stepscCsÀ| d¡}dd„tdƒDƒ|ddd…<| | |¡gd¢¡| d¡}| t¡&t d¡g|ddd…<Wdƒn1s|0Y| t¡,d d„td ƒDƒ|ddd…<Wdƒn1sÂ0Y| t¡g|ddd…<Wdƒn1sú0Y| | |¡gd ¢¡| d¡}t d¡g|d dtj …<| | |¡gd ¢¡t d¡g|d dtj d …<| | |¡gd¢¡t d¡g|d dtj d>…<| | |¡gd¢¡dS)NrcSsg|]}t d|¡‘qSrŽr^rrrrr>ã r?zCElementSlicingTest.test_setslice_negative_steps..r°rr[)r€r‘rr|r¡cSsg|]}t d|¡‘qSrŽr^rrrrr>ê r?rD)r€rvrˆr|rjr‹r¤r”r¢r„)r€r¢rˆr|r•r»rrrÚtest_setslice_negative_stepsá s$   4 : , z/ElementSlicingTest.test_setslice_negative_stepsN)r)r*r+rsrtrur{rr‡r‰rŠrr“r–r—rrrrrrb s      rrc@sšeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z Gdd„dƒZ dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#S)$ÚIOTestc CsÌt d¡}d|_| t|ƒd¡dD]Z}| |¡<| t||dd¡| t|| ¡dd¡Wdƒq$1st0Yq$dD]r}| |¡T| t||dd| |¡¡| ¡}| t||dd| |¡¡Wdƒq„1sì0Yq„t d¡}d |_| t|ƒd ¡| t|d dd ¡| t|d dd ¡dD]$}| t||dd| |¡¡qDt d¡}d |jd<| t|ƒd¡| t|d dd¡| t|d dd¡dD]$}| t||dd| |¡¡qºt d¡}d|_| t|ƒd¡| t|d dd¡| t|d dd¡dD]$}| t||dd| |¡¡q,t d¡}d|jd<| t|ƒd¡| t|d dd¡| t|d dd¡dD]$}| t||dd| |¡¡q¢dS)Nr;rzabc)r r‚rÝsabc)rƒrˆúutf-32z2 abcz<&"'>z<&"'>r s<&"'>r‚z> <&"'>rtz"s"zF uåöö<>uåöö<>såöö<>s%åöö<>u= åöö<>uss()rƒrˆrŠr‰r™u@ ) r&r[rXr\r9r{Úupperr¼rY)r"r4Úencršrrrr¹ù sÀ  ÿÿ$ ÿÿÿÿÿÿ$ ÿÿÿÿÿ  ÿÿÿÿÿ ÿÿÿÿÿ  ÿÿÿÿÿzIOTest.test_encodingcCsf| tjt¡t t d¡¡}| t¡ttdƒ }|  |  ¡d¡Wdƒn1sX0YdS)Núró) rrrrr&rršr1râr\rã©r"r8rêrrrÚtest_write_to_filename>s   zIOTest.test_write_to_filenamecCs¤| tjt¡t t d¡¡}ttddd*}|j|dd|  |j ¡Wdƒn1s\0Yttdƒ }|  |  ¡d¡Wdƒn1s–0YdS)Nrœrªr rÝr,rr© rrrrr&rršrâr1rrr\rãržrrrÚtest_write_to_text_fileEs* zIOTest.test_write_to_text_filecCsœ| tjt¡t t d¡¡}ttdƒ&}| |¡|  |j ¡Wdƒn1sT0Yttdƒ }|  |  ¡d¡Wdƒn1sŽ0YdS)Nrœrrrr ržrrrÚtest_write_to_binary_fileNs  * z IOTest.test_write_to_binary_filecCs0| tjt¡t t d¡¡}ttdƒ*}|j|dd|  |j ¡Wdƒn1sX0Yttdƒ&}|  |  ¡d  d¡¡Wdƒn1s˜0Yttddd*}|j|dd|  |j ¡Wdƒn1sà0Yttdƒ&}|  |  ¡d  d¡¡Wdƒn1s"0YdS) NrœrrˆrÝrú0 r)Ú buffering)rrrrr&rršrâr1rrr\rãr¼ržrrrÚ"test_write_to_binary_file_with_bomWs( *  ÿÿ"*  ÿÿz)IOTest.test_write_to_binary_file_with_bomcCs2t ¡}t d¡}| |¡| | ¡jd¡dS©Nz"Úsite)r&rr.r0ràr\r‹r;©r"r8rérrrÚtest_read_from_stringioks  zIOTest.test_read_from_stringiocCs:t t d¡¡}t ¡}|j|dd| | ¡d¡dS©Nrœr,rÝ)r&rršr.r0r1r\r2r¨rrrÚtest_write_to_stringioqszIOTest.test_write_to_stringiocCs2t ¡}t d¡}| |¡| | ¡jd¡dS©Ns"r§)r&rr.r/ràr\r‹r;©r"r8r†rrrÚtest_read_from_bytesiows  zIOTest.test_read_from_bytesiocCs6t t d¡¡}t ¡}| |¡| | ¡d¡dS©Nrœr)r&rršr.r/r1r\r2r­rrrÚtest_write_to_bytesio}s zIOTest.test_write_to_bytesioc@s eZdZdS)z IOTest.dummyNr£rrrrÚdummyƒsr±cCsBt d¡}| ¡}|j|_t ¡}| |¡| | ¡j d¡dSr¦) r.r0r±rãr&rràr\r‹r;)r"réÚreaderr8rrrÚtest_read_from_user_text_reader†s   z&IOTest.test_read_from_user_text_readercCsJt t d¡¡}t ¡}| ¡}|j|_|j|dd| | ¡d¡dSrª) r&rršr.r0r±r1r\r2)r"r8réÚwriterrrrÚtest_write_to_user_text_writerŽs z%IOTest.test_write_to_user_text_writercCsJt d¡}| ¡}|j|_t ¡}| |¡| | ¡j d¡t ¡}dSr¬) r.r/r±rãr&rràr\r‹r;)r"r†r²r8rrrÚ!test_read_from_user_binary_reader–s  z(IOTest.test_read_from_user_binary_readercCsFt t d¡¡}t ¡}| ¡}|j|_| |¡| | ¡d¡dSr¯) r&rršr.r/r±r1r\r2©r"r8r†r´rrrÚ test_write_to_user_binary_writerŸs  z'IOTest.test_write_to_user_binary_writercCsbt t d¡¡}t ¡}| ¡}|j|_dd„|_|j|_|j|dd|  |  ¡d  d¡¡dS)NrœcSsdSr©rrrrrr,¬r?zBIOTest.test_write_to_user_binary_writer_with_bom..rˆrÝr£) r&rršr.r/r±r1ÚseekableÚtellr\r2r¼r·rrrÚ)test_write_to_user_binary_writer_with_bom§s  ÿÿz0IOTest.test_write_to_user_binary_writer_with_bomc CsRt d¡}| t |d¡d t |d¡¡¡| t |d¡d t |d¡¡¡dS)Nzfoor,rmrˆr?)r&r›r\rÕròróròrrrÚtest_tostringlist_invariant³s  þ þz"IOTest.test_tostringlist_invariantcCsRt d¡}| t |d¡d¡| tj|dddd¡| tj|dddd¡dS)Nzabcr,zabcT)Zshort_empty_elementsFzabc)r&r›r\rÕròrrrÚtest_short_empty_elements¼s  þþþz IOTest.test_short_empty_elementsN)r)r*r+r¹rŸr¡r¢r¥r©r«r®r°r±r³rµr¶r¸r»r¼r½rrrrr˜ø s"E     r˜c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚParseErrorTestcCs| t ¡t¡dSrC)rZr&rrrqrrrrAÊszParseErrorTest.test_subclassc Cs>zt |¡Wn*tjy8}z|WYd}~Sd}~00dSrC)r&r›r)r"rbrµrrrÚ _get_errorÍszParseErrorTest._get_errorcCs@| | d¡jd¡| | d¡jd¡| | d¡jd¡dS)NrÆ)rjrz&foo;)rjrÿzfoobar<)rjr€)r\r¿ZpositionrqrrrÚtest_error_positionÓsz"ParseErrorTest.test_error_positioncCs8ddlmmm}| | d¡j|j|j¡dS)NrrÆ) Zxml.parsers.expat.errorsÚparsersZexpatÚerrorsr\r¿ÚcodeZcodesZXML_ERROR_SYNTAX)r"ZERRORSrrrÚtest_error_codeØs ÿzParseErrorTest.test_error_codeN)r)r*r+rAr¿rÀrÄrrrrr¾Ésr¾c@seZdZdd„ZdS)ÚKeywordArgsTestc CsÚt d¡}| | dd¡|jddd¡| | ddd¡|jdddd¡| | dd¡|jddd¡| t| dd¡ƒt|jdddƒ¡| t d¡j i¡t dt ddd¡tjdt ddddtjdt dd dd tjddddtjdt ddddddg}|D]*}| |j d¡| |j t ddd¡q tj |d d d did}| |j d d¡|  td¡t dd¡Wdƒn1s0Y|  td¡tjdddWdƒn1sÌ0YdS)Nz foor£)ÚpathrÊ)rÆrÍrÊú#rÆ)r<rY)rY)r<)rYrreZkey1Zvalue1zmust be dict, not strzI'm not a dict)r&ršr\r’r•r”r^r“r[rYrMr;r%rgrH)r"rdÚelementsrµrÊrrrÚtest_issue14818ás:  ÿÿ ÿÿû,zKeywordArgsTest.test_issue14818N)r)r*r+rÉrrrrrÅÞsrÅc@seZdZdd„Zdd„ZdS)ÚNoAcceleratorTestcCstst d¡‚dS)Nzonly for the Python version)rDr‰r’rqrrrrêszNoAcceleratorTest.setUpcCs(| tjjtj¡| tjjtj¡dSrC)rZrDr[r(ÚtypesÚ FunctionTyperärqrrrÚtest_correct_import_pyETsz*NoAcceleratorTest.test_correct_import_pyETN)r)r*r+rêrÍrrrrrÊsrÊcKstj|fi|¤ŽSrC)rDÚ canonicalize)r€r6rrrÚc14n_roundtripsrÏc@s(eZdZdZdd„Zdd„Zdd„ZdS)ÚC14NTestNcCs| tdƒd¡| tdƒd¡| tdƒd¡| tdƒd¡| td ƒd ¡| td ƒd ¡| td ƒd¡| tdƒd¡| tdƒd¡| tdƒd¡| tdƒd¡| tdƒd¡d}| t|ƒ|¡d}| t|ƒ|¡d}| t|ƒ|¡dS)Nzz zzz z,z+z7z z*Hello, world!zHello, world!z2z2zG"0" && value<"10" ?"valid":"error"]]>zIvalue>"0" && value<"10" ?"valid":"error"zSvalidz{validz7z/z6z=z7z1z5zJzN)r\rÏr¸rrrÚtest_simple_roundtripsP ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿzC14NTest.test_simple_roundtripcCsÒt d¡}| t|ddd¡| t|ddgdd¡| t|ddgd d ¡| t|ddgdgd d ¡| t|dd dgd d¡| t|d dgdd¡| t|dddgd d¡| t|ddgdd¡dS)Nzï abtext btext dtext T)Ú strip_textz‘abtextbtextdtextz{http://example.com/x}attr)rÒÚ exclude_attrszcabtextbtextdtextz{http://example.com/x}d)rÒÚ exclude_tagszbabtextbtext)rÒrÓrÔz4abtextbtextr£r¡zCdtext)rÔza dtext zIzu )r@rAr\rÏr¸rrrÚtest_c14n_exclusionDsF  þþþ ÿýþþ þþzC14NTest.test_c14n_exclusionc stddd}ttjj|ƒ‰dd„tt |¡ƒDƒ‰dd„ˆDƒ}‡fdd„ˆDƒ‰‡‡fd d„|Dƒ}| d td d„|  ¡Dƒƒ¡d/d d „}|  ¡D]f\}}|D]V\}}||dƒdk} ||dƒdk} ||dƒdk} d|vrdd„|dd  d¡Dƒ} dd„|dd  d¡Dƒ} nd} } d dd„t|  ¡ƒDƒ¡}|  |›d|›d¡’|dkrz| sz|  d|›¡|d krš| sš|  d|›¡d|vrÌ|dd d!¡durÌ|  d"|›¡ˆ|d#ƒ}|d$krXtˆd%ƒd&ƒV}t|d&ƒ*}t | ¡ d'| ¡¡¡}Wdƒn1s.0YWdƒn1sN0Ytj|| | | | | d(}tˆ|d#ƒd)d*d+:}| ¡}|d,kr°| d-d.¡}| d-d.¡}Wdƒn1sÆ0Y| ||¡Wdƒq¤1sò0Yq¤q–dS)0Nzc14n-20r r cSs"g|]}| d¡r|dd…‘qS)ú.xmlNr)Úendswith©r=Úfilenamerrrr>˜s ÿz+C14NTest.test_xml_c14n2..cSsg|]}| d¡r|‘qS)Úin)Ú startswithrØrrrr>šs ÿcs8i|]0}| d¡r|dd„t ˆ|ƒd¡ ¡Dƒ“qS)Zc14ncSs,i|]$}|j d¡d|jpd ¡|f“qS)ú}r[rm)r;ÚsplitrXrƒ)r=ÚoptionrrrÚ Ÿsÿz6C14NTest.test_xml_c14n2...rÖ)rÛr&ràr‹rØ)Ú full_pathrrrßžs  úýz+C14NTest.test_xml_c14n2..cs"i|]‰ˆ‡‡fdd„ˆDƒ“qS)csJg|]B}| dˆ›d¡r| dd¡dˆvr|ˆ| dd¡df‘qS)Zout_rôrjr[)rÛÚrsplitrØ)ÚconfigsÚ input_filerrr>©sýz6C14NTest.test_xml_c14n2...r)r=)râÚfiles)rãrrߨsúþécSsg|]}|D]}|‘q qSrr)r=Ú output_filesÚ output_filerrrr>³sÿcSs| ||df¡dS)Nrr©rN)ÚconfigZ option_namerÍrrrÚ get_option·sz+C14NTest.test_xml_c14n2..get_optionZIgnoreCommentsÚtrueZ TrimTextNodesZ PrefixRewriteZ sequentialZ QNameAwarecSs(g|] }d| d¡›d| d¡›‘qS©ú{ZNSrÜÚNamerèrRrrrr>Ãsÿrjz/{http://www.w3.org/2010/xml-c14n2}QualifiedAttrcSs(g|] }d| d¡›d| d¡›‘qSrìrèrRrrrr>Èsÿz){http://www.w3.org/2010/xml-c14n2}Elementú,css8|]0\}\}}|›d|p*d dd„|Dƒ¡›VqdS)ú=rïcss|]}|j d¡dVqdS)rÜr[N)r;rÝ)r=r¤rrrÚ Òr?z4C14NTest.test_xml_c14n2...N)rò)r=rPrsr)rrrrñÑs ÿz*C14NTest.test_xml_c14n2..ú(ú)Z inNsRedeclz2Redeclared namespace handling is not supported in ZinNsSuperfluousz.{http://www.w3.org/2010/xml-c14n2}XPathElementz2QName rewriting in XPath text is not supported in rÖZinC14N5z world.txtrs&ent2;)Z from_fileZ with_commentsrÒÚrewrite_prefixesZqname_aware_tagsZqname_aware_attrsÚrrjrÝZinC14N3z attr="default"rm)N)rrÚosrÆròrÖÚlistdirr\r]Úvaluesrvr”r{r{r’râr.r/rãr„r&rÎ)r"ZdatadirZ input_filesZtestsrêrãrærçréZ keep_commentsrÒrôZqattrsZqtagsZ config_descrrêZ entity_filerXrhr)râräràrÚtest_xml_c14n2”s¦ ÿ ú ù ÿ  ÿÿÿÿÿÿ  ÿþ ÿþ  þÿÿÿÿÿ   Zû  ,zC14NTest.test_xml_c14n2)r)r*r+ZmaxDiffrÑrÕrùrrrrrÐs(PrÐcCs:tddgda|durt}|attttttt t t t t tttttttg}tturZ| tg¡ddlm}tjj}| ¡}|j}| ¡|_ttdƒr¢t tjtj ¡}nd}zLt!j"|ŽWddlm}| #¡| $|¡||_|durêtj|ŽdaanBddlm}| #¡| $|¡||_|dur,tj|Ždaa0dS)Nr$r%)ZblockedrrÚ_set_factories)%rrDr&rrrr‹r»rçrgr˜r¾r7rørr!r(rZrôrGrÅrÐrrÊr!r rdZ_namespace_maprÇrÂr|rúr&rœrZ run_unittestr–rV)ÚmoduleZ test_classesr rZ nsmap_copyrëZ old_factoriesrrrÚ test_mainûsjÿîÿ        ø    rüÚ__main__)Tr,)N)LrÇrrºr.r”rprarörIrHr@rËr‰r`r¥rrrrrZ test.supportrrrr r rDr&r½r¼ÚUnicodeEncodeErrorr’rár‚r»r rÃrprÀrÁrZTestCaserr9rArBrgrôr9ÚformatÚescaperEr7rGr‹r»r³räÚ__hash__rærçrørr!r(rZrnrrr˜r¾rÅrÊrÏrÐrür)rrrrÚsÐ           # w   ú 7lc48W`xT R$f E