mò %U²Ic@scdZdklZdkZdkZdeifd„ƒYZd„Zedjo eƒndS(sTest the binascii C module.(s test_supportNt BinASCIITestcBs‹tZdZedieeedƒƒƒ7Zed7Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „ZRS(Ns.The quick brown fox jumps over the lazy dog. tis Hello world. cCs6|ittitƒƒ|ittitƒƒdS(N(tselftassert_t issubclasstbinasciitErrort Exceptiont Incomplete(R((t//data/zmath/lib/python2.4/test/test_binascii.pyttest_exceptionsscCsäg}x‘d D]‰}ddg}|djo|iddd gƒnxM|D]E}||}|itt t |ƒƒƒ|i t t t |ƒƒqMWq WxCd D];}|itt t |ƒƒƒ|i t t t |ƒƒq¡WdS(Ntbase64thqxtuuthexta2b_tb2a_tcrc_trlecode_t rledecode_thexlifyt unhexlify(sbase64R suushex(RR( tfuncstsuffixtprefixestextendtprefixtnameRRtcallabletgetattrRt assertRaisest TypeError(RRRRRR((R ttest_functionss   !cCs©d}g}xStdt|iƒ|ƒD]6}|i|||!}ti |ƒ}|i |ƒq(Wd}x'|D]}ti|ƒ}||}qoW|i||iƒdS(Ni9iR(t MAX_BASE64tlinestrangetlenRtdatatitbRt b2a_base64tatappendtrestlinet a2b_base64t assertEqual(RR)R'R&R"R!R+R,((R ttest_base64valid#sc s!d}g}xStdt|iƒ|ƒD]6}|i|||!}ti |ƒ}|i |ƒq(Wd‰d}x;tdƒD]-}t|ƒ}||joˆ|7‰q{q{W‡d†} d}x0t| |ƒD]} ti| ƒ}||7}qÎW|i||iƒ|itiˆƒdƒdS(Ni9iRs@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/ics™ˆ}t|ƒt|ƒ}d}xh|o`|oYt|ƒt|ƒ|jo|d|d}}n|d|d}}||7}q%W|||S(NRii(tfillerstnoiseR$R,tratioR+tc(R,R3R1R2R+(R0(R taddnoiseAs(R!R"R#R$RR%R&R'RR(R)R*R0tvalidtxrangetchrR3R4R+tmapR,R-R.( RR)R3R'R+R&R"R5R!R,R4R0((R0R ttest_base64invalid1s,    cCsOd}g}xStdt|iƒ|ƒD]6}|i|||!}ti |ƒ}|i |ƒq(Wd}x'|D]}ti|ƒ}||7}qoW|i||iƒ|itidƒddƒ|itidƒddƒ|itid ƒddƒ|ititid ƒ|ititid ƒ|ititi d d ƒdS(Ni-iRstis€i sÿsÿs!!!!i.t!(tMAX_UUR"R#R$RR%R&R'Rtb2a_uuR)R*R+R,ta2b_uuR.RR(RR)R'R&R"R<R+R,((R ttest_uuVs&cCsHtidƒ}tid|ƒ}|i|dƒ|ittiƒdS(NsTest the CRC-32 ofs this string.ijë¦](Rtcrc32tcrcRR.RR(RRA((R t test_crc32kscCs d}ti|ƒ}ti|ƒ}|i||ƒ|it ti|d ƒ|it ti|d dƒt i o&|iti t ddƒƒdƒndS(Ns {sworldishelloi0iÿÿÿÿtqR)tasciit61(tsRtb2a_hexttta2b_hextuRR.RRt test_supportt have_unicodeRtunicode(RRFRJRH((R ttest_hexts cCsytidhdd<Wntj onX|idƒ|itidƒdƒ|itidƒdƒ|itidƒdƒ|ittidd ƒ|itid ƒd ƒ|itid ƒd ƒ|itidddƒdddƒdS(NRis/binascii.a2b_qp(**{1:1}) didn't raise TypeErrors= s==t=s=AXtfootbars=00 =00t sÿ ÿ ÿs =FF =FF =FFt0iKsÿ ÿ ÿs= =FF =FF =FF(Rta2b_qpRRtfailR.Rtb2a_qp(R((R ttest_qps cCskxTddddddddd d d d d ddgD]}tt|ƒ}|dƒq4WtiddƒdS(NRVRIR(R>RTRGRRR@tb2a_hqxta2b_hqxR-t rlecode_hqxR=t rledecode_hqxRi(tnRRtftcrc_hqx(RR]R\((R ttest_empty_string—s 4(t__name__t __module__R%tjoinR8R7R6R R R/R9R?RBRNRWR_(((R Rs"     %  cCstitƒdS(N(RKt run_unittestR(((R t test_main¡st__main__( t__doc__ttestRKtunittestRtTestCaseRRdR`(RKRRhRRd((R t?s   š