ó {G_Tc@s¥ddlZddlZddlZddlZddlZddlmZddlmZddl m Z dd d„ƒYZ dej fd„ƒYZ d „Z dS( iÿÿÿÿN(t HTTPException(t test_support(tStringIOtTestBasecBsÈeZdZdZdZdZdZdZdZ dZ d„Z d„Z d„Z d„Zd„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZRS(tiiuí»®cCs…|jdkr'tj|jƒ|_n|jj|_|jj|_|jj|_|jj |_ |jj |_ |jj |_ dS(N( tcodectNonetcodecstlookuptencodingtencodetdecodet streamreadertreadert streamwritertwritertincrementalencodertincrementaldecoder(tself((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pytsetUpscCs˜x‘tg|jD]}t|ƒjƒ^qŒD]a\}}|j|ƒd}|j||jdƒƒ|jr/|j||j|ƒdƒq/q/WdS(Nisutf-8(tzipttstringRt readlinesR t assertEqualt roundtriptestR (Rtftnativetutf8tu((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_chunkcoding#s  2 c Csx|jD] \}}}t|tƒr4|j}n |j}|r|||ƒd}||jkr³|jt|ƒtkt|ƒƒ|j||d||j |||fƒq|jt|ƒtkt|ƒƒ|j||d||j |||fƒq |j t |||ƒq WdS(Nis%r.decode(%r, %r)=%r != %rs%r.encode(%r, %r)=%r != %r( t codectestst isinstancetbytesR R t assertTruettypetunicodeRR t assertRaisest UnicodeError(Rtsourcetschemetexpectedtfunctresult((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_errorhandle+s$  " " cCsC|jr|jdƒnd}|j|j|dƒddƒdS(Ns$encoding contains full ISO 10646 mapuଓଣୠ nd eggstxmlcharrefreplaceisଓଣୠ nd eggs(t has_iso10646tskipTestRR (Rts((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_xmlcharrefreplaceBs  cs“|jr|jdƒnddlm‰‡fd†}tjd|ƒ|jrc|j\}}n d}d}|j|j|dƒd|ƒdS( Ns$encoding contains full ISO 10646 mapiÿÿÿÿ(tcodepoint2namecs¦t|tƒs"td|ƒ‚ng}xe|j|j|j!D]M}t|ƒˆkru|jdˆt|ƒƒq?|jdt|ƒƒq?Wdj|ƒ|jfS(Nsdon't know how to handle %ru&%s;u&#%d;u( RtUnicodeEncodeErrort TypeErrortobjecttstarttendtordtappendtjoin(texctltc(R1(s</usr/local/lib/python2.7/test/test_multibytecodec_support.pytxmlcharnamereplaceRsstest.xmlcharnamereplaceu«ℜ» = 〈ሴ〉s*«ℜ» = ⟨ሴ⟩i( R-R.thtmlentitydefsR1Rtregister_errortxmlcharnametestRR (RR=tsintsout((R1s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_customreplace_encodeLs   csn‡fd†}tjd|ƒxHdddggdtƒddfD]"‰|jt|j|jdƒqDWdS(Ncs ˆ|jfS(N(R6(R:(tret(s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyt myreplacehss test.cjktestiiitstringR(RR?RR4R$R3R tunmappedunicode(RRE((RDs</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_wrong_objectsgs +cCsyd„}tjd|ƒ|j|jd|jddƒdƒd„}tjd|ƒ|jt|j|jdƒdS( NcSsdt|jƒfS(Nux(tlongR6(R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyREqss test.cjktestuabcduefght abcdxefghi cSsdtjdfS(Nuxi(tsystmaxint(R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyREws(RJi (RR?RR RGR$t IndexError(RRE((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_long_indexps   cCs9d„}tjd|ƒ|jt|j|jdƒdS(NcSsdS(Nux(uxN(R(R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRE~ss test.cjktest(RR?R$R3R RG(RRE((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_None_index}s csS‡fd†‰dˆ_tjdˆƒ|j|jd|jddƒdƒdS( Ncs3ˆjdkr"ˆjd8_dSd|jfSdS(NiiuREPLACEDuTERMINAL(uREPLACEDi(tlimitR6(R:(RE(s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRE…sis test.cjktestuabcduefght4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghi (RQi (RPRR?RR RG(R((REs</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_backward_index„s  cCsDd„}tjd|ƒ|j|jd|jddƒdƒdS(NcSsd|jdfS(NuREPLACEDi(R6(R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRE’ss test.cjktestuabcduefghtabcdREPLACEDghi (RSi (RR?RR RG(RRE((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_forward_index‘s cCs9d„}tjd|ƒ|jt|j|jdƒdS(NcSsdS(NuTERMid(uTERMid((R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRE™ss test.cjktest(RR?R$RMR RG(RRE((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_callback_index_outofbound˜s cCsètjdƒ}xÒdgtddƒdddddgD]§}|t|jdƒƒ}tƒ}|jƒ}xS|dk rŽ|j|ƒ}n |jƒ}|s¤Pn|j|ƒ}|j |ƒqp|j |j ƒ|jd ƒq9WdS( Nsutf-8ii!i@i€iiii( Rt getreaderRtrangeRRRtreadR twriteRtgetvalue(Rt UTF8Readertsizehinttistreamtostreamtencodertdatate((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_incrementalencoderŸs    cCsÐtjdƒ}xºddgtddƒddddd gD]Œ}t|jd ƒ}|tƒƒ}|jƒ}x8|j|ƒ}|sŒPqs|j|ƒ}|j |ƒqs|j |j ƒ|jdƒq<WdS( Nsutf-8iÿÿÿÿii!i@i€iiii( Rt getwriterRRWRRRRXR RYRRZ(Rt UTF8WriterR\R]R^tdecoderR`R((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_incrementaldecoder³s cCsÄ|j}|jƒ}|jt|j|tƒd|_|j|j|tƒdƒ|jƒd„}t j d|ƒd|_|j|j|tƒdƒd|_|j|j|tƒdƒdS(NtignoreRcSs d|jfS(Nucalled(R6(R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyt tempreplaceÎsstest.incremental_error_callbacktcalled( RGRR$R2R tTrueterrorsRtresetRR?(RtinvRaRh((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyt&test_incrementalencoder_error_callbackÄs       cCstjdƒ}xêdddgD]Ù}xÐddgtddƒdd d d d gD]¢}|jt|jd ƒƒ}|tƒƒ}t||ƒ}xB||ƒ}|s«Pn|dkrÇ|j|ƒq•|j |ƒq•|j |j ƒ|jdƒqRWqWdS(Nsutf-8RXtreadlineRiÿÿÿÿii!i@i€iiii( RRcRRWR RRtgetattrt writelinesRYRRZ(RRdtnameR\R]R^R)R`((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_streamreaderØs  c Csd }tjdƒ}xö|D]î}xådgtddƒddd d d gD]º}|t|jdƒƒ}|jtƒƒ}t||ƒ}xZ|dk rª||ƒ}n |ƒ}|s½Pn|dkrÙ|j|ƒq|j |ƒq|j |j ƒ|jd ƒqLWqWdS(NRXRoRsutf-8ii!i@i€iiii(sreadsreadlines readlines( RRVRRWRRRRpRqRYRRZ( Rt readfuncsR[RrR\R]R^R)R`((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_streamwriterës$    N(t__name__t __module__R RRRRRR-R@RGRRR+R0RCRHRNRORRRTRURbRfRnRsRu(((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRs0          tTestBase_MappingcBsheZgZgZgZgZd„Zd„Zd„Zd„Z d„Z d„Z d„Z d„Z RS(cOs\tjj|||Žy|jƒjƒWn+ttfk rW|jd|jƒnXdS(NsCould not retrieve ( tunittesttTestCaset__init__topen_mapping_filetclosetIOErrorRR.t mapfileurl(Rtargstkw((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR{ s cCstj|jƒS(N(Rtopen_urlresourceR(R((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR|scCs-|jjdƒr|jƒn |jƒdS(Ns.xml(Rtendswitht_test_mapping_file_ucmt_test_mapping_file_plain(R((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_mapping_files c sÀd„‰‡fd†}i}|jƒ}x†|D]~}|sDPn|jdƒdjƒjƒ}t|ƒdkr{q4nt|dƒ}|dkrªt|d@ƒ}nÀ|dkrût|d ?ƒt|d ?d@ƒt|d ?d@ƒt|d@ƒ}no|d kr:t|d ?ƒt|d ?d@ƒt|d@ƒ}n0|d kr4t|d ?ƒt|d@ƒ}nq4||dƒ}|dks4||kr˜q4n|||<|j||ƒq4WWdQXdS(NcSstdt|dƒƒS(Ns u'\U%08x'i(tevaltint(R<((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pytscs&dj‡fd†|jdƒDƒƒS(Nuc3s|]}ˆ|ƒVqdS(N((t.0R<(t_unichr(s</usr/local/lib/python2.7/test/test_multibytecodec_support.pys st+(R9tsplit(R/(R‹(s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR‰st#iiiiÿiiiiiiiu�(R|RtstriptlenR‡tchrt _testpoint( Rtunichrsturt_waRtlineR`tcsetvaltcsetchtunich((R‹s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR…s2    E 3 ! cCs’|jƒ}|jƒ}WdQXtjd|ƒ}xX|D]P\}}tt|dƒƒ}djd„|jƒDƒƒ}|j||ƒq:WdS(Ns'iRcss$|]}tt|dƒƒVqdS(iN(R‘Rˆ(RŠR<((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pys As( R|RXtretfindalltunichrRˆR9RR’(RRtucmdatatuctunitcodedR˜tcodech((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR„;scCs%x|jD]}|j|Œq WdS(N(tsupmapsR’(Rtmapping((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyttest_mapping_supplementalDscCsò||f|jkrwy |j|j|jƒ|ƒWqwtk rs}|jdt|ƒt|ƒ|jfƒqwXn||f|jkrîy |j|j |jƒ|ƒWqîtk rê}|jdt|ƒt|ƒ|jfƒqîXndS(Ns*Encoding failed while testing %s -> %s: %ss*Decoding failed while testing %s -> %s: %s( t pass_enctestRR R R%tfailtreprtreasont pass_dectestR (RR—R˜R:((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR’Hs  '  c Cs3x,|jD]!\}}}t|tƒr4|j}n |j}|rt|tƒr²||j|ƒ}|jt|ƒtkt|ƒƒ|j ||d||j|||fƒq+||j|ƒ}|jt|ƒtkt|ƒƒ|j ||d||j|||fƒq |j t ||j|ƒq WdS(Ns%r.decode(%r, %r)=%r != %rs%r.encode(%r, %r)=%r != %r( RRR R R R R!R"R#RR$R%(RR&R'R(R)R*((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyR+Vs&  " " (RvRwR¤R¨R¡RR{R|R†R…R„R£R’R+(((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyRxs    "  cCs™tjjtjjtƒdƒ}ttjj||dƒdƒ}|jƒ}WdQXttjj||dƒdƒ}|jƒ}WdQX||fS(Nt cjkencodingss.txttrbs -utf8.txt(tostpathR9tdirnamet__file__topenRX(RrtdirRtencodedR((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pytload_teststringns !%%((RR«R™RKRythttplibRttestRRRRzRxR²(((s</usr/local/lib/python2.7/test/test_multibytecodec_support.pyts     õk