mò á¸Ec@sdZdkZdkZdklZdkZdkZeiZd„e_dkl Z ee_de i fd„ƒYZ de fd„ƒYZ d fd „ƒYZ d ei fd „ƒYZeid „Zedjo7eieddƒƒZeieodpdƒndS(sTests for XMLParser.py.N(sutilscOsdS(N(tNone(tatk((t7/data/zmath/zope/lib/python/TAL/tests/test_xmlparser.pyts(s XMLParsertEventCollectorcBsktZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z RS( NcCs8g|_|ii|_tii|ƒd|i_dS(Ni(tselfteventstappendt XMLParsert__init__tparsertordered_attributes(R((RR s cCsŒg}d}xp|iD]e}|d}||jo djno$d|dd|df|dscCs |id||||fƒdS(Ntdoctype(RRtrootelemtsystemIdtpublicIdtsubset(RRR!R R"((RtStartDoctypeDeclHandlerAscCs|id|||fƒdS(Ntdecl(RRtversiontencodingt standalone(RR%R&R'((RtXmlDeclHandlerDscCs|id|fƒdS(Nt entityref(RRR (RR ((RtExternalEntityRefHandlerGscCs|id||fƒdS(Ntpi(RRttargetR (RR,R ((RtProcessingInstructionHandlerJs( t__name__t __module__R RRRRRRR#R(R*R-(((RRs          tEventCollectorExtracBstZd„ZRS(NcCs0ti|||ƒ|id|iƒfƒdS(Nt starttag_text(Rthandle_starttagRRRRtget_starttag_text(RRR((RR2Ps(R.R/R2(((RR0Nst SegmentedFilecBstZd„Zd„ZRS(NcCst|ƒ|_dS(N(tlisttpartsR(RR6((RR VscCs*|io|iidƒ}nd}|S(Nit(RR6tpopts(RtbytesR9((RtreadYs (R.R/R R;(((RR4Us tXMLParserTestCasecBs‰tZed„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„ZRS(NcCs|ƒ}t|tgƒƒo|it|ƒƒn|i|ƒti o(x%|dddjo |d=qPWn|i |i ƒ|ƒdS(NiR$R(sdeclsdoctype(t collectorR t isinstancetsourceRt parseStreamR4t parseStringtutilstoldexpatRRt assertEqualsR(RR?RR=R ((Rt _run_checkcs   cCs|i||tƒdS(N(RRER?RR0(RR?R((Rt_run_check_extranscCs#|d„}|iti|ƒdS(NcCstiƒ}|i|ƒdS(N(R R RAR?(R?R ((Rtparsers (R?RGRt assertRaisesR t XMLParseError(RR?RG((Rt _parse_errorqs cCs&|iddddgfd gƒdS( NsR+t processingt instructionRRR(spiRKRL(sendtagR(RRE(R((Rt!check_processing_instruction_pluswscCsV|idddd dgfdddd dddddgfddd d!d"g ƒdS(#Nsé &entity; sample text R$s1.0s iso-8859-1iÿÿÿÿRthtmltfootbariRR s Rs4comment1a -><<RRtbRis,did not receive correct position informations!expected parse error: bad nesting(sendtagR(sendtagRV(RREtsystexc_infotetassert_tlinenotfail(RRY((Rtcheck_bad_nestingšs2 cCseddddddgfd g}|id|ƒ|id|ƒ|id |ƒ|id |ƒdS( NRRRVtvtcRssss(sendtagR(toutputRRE(RR`((Rtcheck_attr_syntax©s !c Csf|iddddddddd gfd gƒ|id dddd dd dd gfdgƒdS(Ns(RRRVsxxx xxxR_syyy yyytds xyz RsR7(sendtagR(sendtagR(RRE(R((Rtcheck_attr_values³s (cCs)|idddddgfdgƒdS(Ns"RRRVs&><"'R(sendtagR(RRE(R((Rtcheck_attr_entity_replacement¿scCs/|idddddddgfdgƒdS( NsRRsa.bR^se-fR(sendtagR(RRE(R((Rtcheck_attr_funky_namesÅscCsN|idddddgfd gƒ|idddddgfd gƒdS( Ns RRRVtt>(sendtagR(sendtagR(RRE(R((Rtcheck_starttag_end_boundaryËs%cCs<ddddgfdg}|idg|ƒ|iddg|ƒ|id d g|ƒ|id d g|ƒ|id dg|ƒ|iddg|ƒddddgfdg}|idg|ƒ|iddg|ƒ|id dg|ƒ|id dg|ƒ|iddg|ƒ|iddg|ƒdS(NRRRVRfRs ssss s Rgs s b='>'/>s ='>'/>s'>'/>s sssss<$s<$>ss's