mò v Lc@s¼dZdZdZdZdkZdkZdkZdkZeii eii e ƒƒZ eii e ƒdZeeijoeiideƒneii eƒdZgZdkZdkZdkZdkZdklZdeifd„ƒYZd Zd Zd Zd Zd ZdZeidƒZ dd„Z"ed„Z#d„Z$d„Z%d„Z&d„Z'e(djo?e'ƒZ)ei*ƒi+e)ƒeodGe,eƒGHdGHq¸ndS(sM$Id$ Test XML character decoding against a range of encodings, valid and not.s'Joseph Walton s $Revision$s&Copyright (c) 2004, 2006 Joseph WaltonNi(s xmlEncodingtEncodingTestCasecBstZd„Zd„ZRS(NcCs£yti|iƒ}Wn;tj o/}|id|idt |ƒdƒnX|i |d|idƒ|i ||i d|id|i d|ƒdS(Nt's!' should not cause an exception (t)s2An encoding must be returned for all valid files (s Encoding for s should be s , but was ( t xmlEncodingtdetecttselftbytestenct UnicodeErrortutfailtfilenametstrtassert_t assertEqualtexpectedEncoding(RRR ((t@/web/script/rubys/feedvalidator.org/src/tests/testXmlEncoding.pyttestEncodingMatchess +cCs¯g}yti|i|ƒ}Wn;tj o/}|id|i dt |ƒdƒnX|o$|id|i d|dƒn|p|id|i dƒndS(NRs!' should not cause an exception (Rs$' should not parse successfully (as s(' should give a reason for parse failure( teventLogRRRRtencodingRR R R R (RRRR ((RttestEncodingFails$s+$(t__name__t __module__RR(((RRs ssþÿsÿþtþÿsÿþu$“"This" is a £t€stâ€s[A-Za-z][-A-Za-z0-9._]*cCsA|o2ti|ƒptd|d‚d|dSndSdS(NRs' is not a valid encoding namess(Rt validDecltmatchtAssertionError(R((RtmakeDecl?s"cCsti|ƒ|dƒdS(Ntxmlcharrefreplacei(tcodecst getencoderRttxt(RR((RtencodedFsc csit}dddgttdƒtdƒfVdgtdƒfVddgtƒtdƒfVddgtdƒtdƒfVddgttdƒfVdddgttdƒtdƒfVddddgttdtdƒtƒfVddddgttd tdƒtƒfVdddgttdƒfVddddgttdtƒtƒfVdddgttd ƒfVddddgttd tƒtƒfVdddgtdtdƒtƒfVdddgtd tdƒtƒfVy^d dddgttd td ƒtƒfVd dddgttd td ƒtƒfVd dddgttdtd ƒtƒfVd dddgt tdtd ƒtƒfVd ddgtdtd ƒtƒfVd ddgtdtd ƒtƒfVddddgttdtdƒtƒfVddddgt tdtdƒtƒfVWn t j o}|GHt }nXdddddddd ddg }xX|D]P}y'|dgt|t|ƒtƒfVWqžt j o}|GHt }qžXqžWy d ddgtd td ƒtƒfVd ddgtd td ƒtƒfVdddgtdtdƒtƒfVdddgt tdtdƒtƒfVWn t j o}|GHt }nXy}ddddgttd tdƒtƒfVdddgtd tdƒtƒfVdddgtdtdƒtƒfVWn t j o}|GHt }nX|o dGHndS(NsUTF-8tBOMt declarationtnoencsUTF-16tBEsUTF-16BEtLEsUTF-16LEsISO-10646-UCS-2sUCS-2BEsUCS-2LEsUTF-32sUTF-32BEsUTF-32LEsISO-10646-UCS-4sUCS-4BEsUCS-4LEsUS-ASCIIs ISO-8859-1s ISO-8859-15s WINDOWS-1252tIBM037tIBM038t csUnicodetaliastcsucs4s5Unable to generate some tests; see README for details(tFalset someFailedtbom8RR tbom16BEtdocTexttbom16LEtbom32BEtbom32LEt LookupErrortetTruetwithDeclarationsR(R6RR,R4((RtgenValidXmlTestCasesIsh' '--**&&----&&-1 $ '&&&. -&* ccsUt}y-ddddgtdtdƒtƒfVWn tj o}|GHt}nXddddgtdtdƒtƒfVdddgttdtdƒtƒfVdddgt tdtdƒtƒfVyKdddgt td ƒfVdddd gt td tƒtƒfVWn tj o}|GHt}nX|o d GHndS( NsUTF-32R!R$R"sUS-ASCIIsUTF-16sUTF-8sUTF-16BEsUTF-32BER#s5Unable to generate some tests; see README for details( R+R,R RR/R3R4R5R.R-R1(R,R4((RtgenInvalidXmlTestCasesÔs"- )**. ccs^x*tƒD]\}}}|||tfVq Wx*tƒD]\}}}|||tfVq7WdS(N(R7RtttxR5R8R+(RR9R:((RtgenXmlTestCasess   c Cs6dk}tiƒ} xtƒD]\}}}}|i ƒ|o d} nd} | di |g|ƒd}y‚|}|idƒo|d}n|i|ƒ}|otdƒ}||_n tdƒ}||_||_| i|ƒWqtj o-}d |d t|ƒGHti|ƒqXqW| S( Ntvalid_tinvalid_t_s.xmls ISO-10646-i RRs Skipping s: (Rtunittestt TestSuitetsuiteR;RR9R:tvalidtsorttpfxtjointnameR)t startswithtlookuptcRRR RtaddTestR3R4R t skippedNamestappend( RIRR4RFRR)RBR9R:RARD((RtbuildTestSuites2          t__main__sTests skipped:sPlease see README for details(-t__doc__t __author__t __version__t __copyright__tostsysRtretpathtabspathtdirnamet__file__tcurdirtsplittsrcdirtinserttbasedirRKR?tnewtglobt feedvalidatorRtTestCaseRR-R.R0R1R2R/tcompileRtNoneRR R7R8R;RMRtstTextTestRunnertruntlen(R1R;R\R?R.R8RR^R2RURZRMRKR_RQR/R`RRPRTRR R-R0RRReRRRSR7((Rt?sD  $    ‹ ,