ó {G_Tc@sõddlmZmZmZddlmZmZmZddlmZddlZddlm Z ddl Z ddl Z ddl Z ddl Z ddlmZddlZdejfd„ƒYZd „Zd „Zed krñeƒndS( iÿÿÿÿ(tverboset run_unittestt import_module(tprecisionbigmemtestt_2Gt cpython_only(tcaptured_stdoutN(tScanner(tproxytReTestscBs/eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'dXdXe)j*d&„Z+d'„Z,d(„Z-d)„Z.d*„Z/d+„Z0d,„Z1d-„Z2d.„Z3d/„Z4d0„Z5d1„Z6d2„Z7d3„Z8d4„Z9d5„Z:d6„Z;d7„Z<d8„Z=d9„Z>d:„Z?d;„Z@d<„ZAd=„ZBd>„ZCd?„ZDd@„ZEdA„ZFdB„ZGdC„ZHdD„ZIdE„ZJdF„ZKdG„ZLdH„ZMeNdIeOdJdKƒdL„ƒZPeNdIeOdJdYƒdO„ƒZQdP„ZReSdQ„ƒZTdR„ZUdS„ZVdT„ZWdU„ZXdV„ZYdW„ZZRS(ZcCsGd}tjdƒ}t|ƒ}|j|jdƒ|jdƒƒdS(NtQabbbcRsab+c(tretcompileRt assertEqualtfindall(tselftstxty((s(/usr/local/lib/python2.7/test/test_re.pyt test_weakrefs cCsX|jtjddƒjdƒd ƒ|jtjddƒjƒdƒ|jtjddƒjdƒdƒ|jtjddƒjƒdƒ|jtjddƒdƒ|jtjd d ƒjdƒdƒ|jtjd d ƒjƒdƒ|jtjdd ƒjdƒdƒ|jtjdd ƒjƒdƒ|jtjd d ƒdƒdS(Nsx*taxxisx+iiRtaaasa*txxxtxxxasa+(ii(ii(ii(ii(ii(ii(ii(ii(R R tsearchtspantNonetmatch(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_search_star_pluss%"%"%"%"cCs#t|jdƒƒ}t|dƒS(Nii(tinttgrouptstr(Rtmatchobjt int_value((s(/usr/local/lib/python2.7/test/test_re.pytbump_num)scsP|jtjdddƒdƒ|jtjd|jdƒdƒ|jtjd|jddƒd ƒ|jtjd d „dƒd ƒ|jtjd d dƒd ƒd‰|jtjdˆdƒdƒ|jtjdtjˆƒdƒˆƒ|jtjd‡fd†dƒˆƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒtdƒtdƒtdƒtd ƒtd!ƒtd"ƒƒ|jtjd#d$d%ƒd&ƒdS('Ns(?i)b+Rs bbbb BBBBsx xs\d+s08.2 -2 23x99ys9.3 -3 24x100yis 9.3 -3 23x99yt.cSsdS(Ns\n((tm((s(/usr/local/lib/python2.7/test/test_re.pyt4ss\ns s\1\1s(.)txxcsˆS(N((R$(R(s(/usr/local/lib/python2.7/test/test_re.pyR%:ss(?Px)s \g\gtxxxxs \g\g<1>s (?Px)s\g\gs \g<1>\g<1>tas"\t\n\v\r\f\a\b\B\Z\a\A\w\W\s\S\d\Ds \B\Z\A\w\W\s\S\d\Ds i i i i i is^\s*tXttesttXtest(R R tsubR"tescapetchr(R((Rs(/usr/local/lib/python2.7/test/test_re.pyttest_basic_re_sub-s*"((?cCs#|jtjdddƒdƒdS(Ns (?Px)s \g<1>\g<1>\bR&sxxxx(R R R,(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_449964IscCs€|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒdS(Ns\r\ns\ns abc def sabc def s s (R R R,(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_449000NscCs$xdD]}x dD]}tj||dƒ}|j|dƒ|jt|ƒtƒtj||dƒ}|j|dƒ|jt|ƒtƒtj||t|ƒƒ}|j||ƒ|jt|ƒtƒtj||t|ƒƒ}|j||ƒ|jt|ƒt|ƒƒqWqWdS( NRuxRuyut(Rux(Ruy(R R,R ttypetunicodeR(RRRtz((s(/usr/local/lib/python2.7/test/test_re.pyt test_bug_1140Ys  cCsŒtjdƒ}|jttj|dtjƒ|jttj|dtjƒ|jttj|dtjƒ|jttj|tjƒdS(NR#tA(R R t assertRaisest ValueErrorRtIRR(Rtpattern((s(/usr/local/lib/python2.7/test/test_re.pyt test_bug_1661rs cCstjdƒdS(Ns(?P)(?(quote))(R R (R((s(/usr/local/lib/python2.7/test/test_re.pyt test_bug_3629zscCsÅ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒd-ƒ|jtjdd dƒd.ƒ|jtjdd dƒd ƒ|jtjdd dƒdƒ|jtjdddƒdƒ|jtjdddƒd/ƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒd0ƒ|jtjdddƒd1ƒ|jtjdddƒd2ƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdd dƒ|jtjtjdd!dƒ|jtjtjdd"dƒ|jtjtjdd#dƒ|jtjtjdd$dƒ|jtjtjdd%dƒ|jtjtjdd&dƒ|jtjtjdd'dƒ|jtjd(ddƒdƒ|jtjd)d$d*ƒd+ƒ|jtjd)d%d*ƒd,ƒdS(3NRs\0ts\000s\001ss\008t8s\009t9s\111R:s\117tOs\1111tI1t1s\00s\07ss\08s\09s\0aR(s\400s\777sÿs\1s\8s\9s\11s\18s\1as\90s\99s\118s\11as\181s\800s(((((((((((x)))))))))))s((((((((((y))))))))))(.)txyztxz8txzat8t9RBRGRHta(R R R,R8terror(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_sub_template_numeric_escape~sBcCsE|jtjdddƒdƒ|jtjddddƒdƒdS(NR(tbtaaaaatbbbbbitbaaaa(R R R,(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_qualified_re_sub¨scCs#|jtjdddƒdƒdS(Ns (\S)\s+(\S)s\1 \2s hello theres hello there(R R R,(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_114660¬scCsB|jtjdddƒdƒ|jtjdddƒdƒdS(Nsx*t-tabxds-a-b-d-sx+sab-d(R R R,(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_462270°scCs•tjdƒtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjd ƒ|jtjtjd ƒ|jtjtjd ƒ|jtjtjd ƒ|jtjtjd ƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒ|jtjtjdƒdS(Ns(?Px)(?P=a)(?(a)y)s(?Px)(?P=a1)(?(a1)y)s(?P)(?P)s(?Px)s(?P=)s(?P=1)s(?P=a)s(?P=a1)s(?P=a.)s(?P<)s(?P<>)s(?P<1>)s(?P)s(?())s(?(a))s(?(1a))s(?(a.))(R R R8RJ(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_symbolic_groupsµs"  cCs7|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jtjtjdddƒ|jttjdd dƒ|jtjtjd d dƒ|jtjtjd d dƒ|jtjtjdd dƒdS(Ns(?Px)s\gs\g<>s\g<1a1>s\gs(?Px)|(?Py)s\gs\2s\g<-1>(R8R RJR,t IndexError(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_symbolic_refsÈscCs¢|jtjdddƒdƒ|jtjdddƒdƒ|jtjddd ƒdƒ|jtjd dd ƒdƒ|jtjd dd dƒdƒdS(Ns(?i)b+Rs bbbb BBBBsx xisb+sx BBBBiRDisb*txxxyxzxitxxxyz(sx xi(sx BBBBi(sxyzi(RXi(RYi(R R tsubn(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_re_subnÔs cCsz|jtjddƒdddddgƒ|jtjddƒddddgƒ|jtjddƒdddddd dgƒ|jtjd dƒddddgƒ|jtjd dƒdddddddgƒ|jtjd dƒdddd dgƒ|jtjddƒdddddddddddd dg ƒ|jtjddƒdddddgƒdS(Nt:s:a:b::cR2R(RLtcs:*s(:*)s::s(?::*)s(:)*s([b:]+)s:b::s(b)|(:+)s (?:b)|(?::+)(R R tsplitR(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_re_splitÛs+((cCs°|jtjdddƒdddgƒ|jtjdddƒddd gƒ|jtjd ddƒdddddgƒ|jtjd ddƒdddddgƒdS( NR\s:a:b::ciR2R(sb::csa:b:c:dRLsc:ds(:)s(:*)(R R R^(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_qualified_re_splitës ((cCs|jtjddƒgƒ|jtjddƒdddgƒ|jtjddƒdddgƒ|jtjddƒd d d gƒdS( Ns:+tabcs a:b::c:::dR\s::s:::s(:+)s(:)(:*)R2(R\R2(R\R\(R\s::(R R R(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_findallós %%cCs)|jtjddƒdddgƒdS( Ns(a|(b))tabaR(R2RL(R(R2(RLRL(R(R2(R R R(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_117612ûscCsg|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjddƒdƒtjdƒ}|j|jdƒjƒdƒ|j|jdƒjƒdƒ|j|jdƒjƒdƒ|j|jd ƒjƒdƒ|j|jd ƒjd ƒdƒtjddƒ}|j|jdƒdƒ|j|jdƒdƒ|j|jdƒdƒ|j|jddƒdƒtjd ƒ}|j|jdƒjdd d ƒdƒ|j|jdƒjdddƒdƒ|j|jdƒjddd ƒdƒdS(NR(s(a)iis ((a)|(b))(c)?RLtacR]tbcR2s!(?:(?Pa)|(?Pb))(?Pc)?iita1tb2tc3((R((R(R((R(R(NN(RLNRLN(R(R(NR](RLNRLR](RLR2RLR](R(R((R(NN(NRLN(R(NR](R R RtgroupsRR R(RtpatR$((s(/usr/local/lib/python2.7/test/test_re.pyt test_re_matchÿs*""%%("(!cCs‡|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒjƒdƒ|jtjdd ƒjƒdƒ|jtjd d ƒjƒdƒ|jtjd dƒjƒdƒtjdƒ}|j|jdƒjƒdƒ|j|jdƒjƒdƒ|j|jdƒdƒ|j|jdƒdƒdS(Ns^(\()?([^()]+)(?(1)\))$s(a)t(R(sa)s(as^(?:(a)|c)((?(1)b|d))$tabRLtcdtds^(?:(a)|c)((?(1)|d))$R2s(?Pa)(?Pb)?((?(g2)c|d))RaR]tadtabdRe(RmR((NR((R(RL(NRp(NRp(R(R2(R(RLR](R(NRp(R R RRjRR (Rtp((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_groupref_existss*cCsÄ|jtjddƒjƒd ƒ|jtjddƒjƒd ƒ|jtjddƒdƒ|jtjddƒdƒ|jtjdd ƒjƒdƒ|jtjd d ƒjƒdƒdS(Ns^(\|)?([^()]+)\1$s|a|t|R(s^(\|)?([^()]+)\1?$sa|s|as^(?:(a)|c)(\1)$taas^(?:(a)|c)(\1)?$R](RuR((NR((R(R((NN(R R RRjR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_groupref4scCs4|jtjddƒjƒidd6dd6ƒdS(Ns#(?Pfirst) (?Psecond)s first secondtfirsttsecond(R R Rt groupdict(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_groupdict@s cCs)|jtjddƒjdƒdƒdS(Ns#(?Pfirst) (?Psecond)s first seconds\2 \1 \g \gssecond first second first(R R Rtexpand(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_expandEs cCs$|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjddƒjdƒdƒ|jtjd dƒjdƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒdS(Ns ^(\w){1}$Ras ^(\w){1}?$s ^(\w){1,2}$s ^(\w){1,2}?$s ^(\w){3}$iR]s ^(\w){1,3}$s ^(\w){1,4}$s ^(\w){3,4}?$s ^(\w){3}?$s ^(\w){1,3}?$s ^(\w){1,4}?$s^x{1}$Rs^x{1}?$s^x{1,2}$s ^x{1,2}?$s^x{3}$s^x{1,3}$s^x{1,4}$s ^x{3,4}?$s^x{3}?$s ^x{1,3}?$s ^x{1,4}?$s^x{}$sx{}(R R RRRtassertNotEqual(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_repeat_minmaxKs4%%%%%%%%cCs¥|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjddfƒ|jtjddƒjdƒdS(Ns(a)R(ii(ii(ii( R R RtpostendpoststringtregsR~R(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_getattrks %cCs¯|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjd ƒd ƒ|jtjd d tjƒjd ƒd ƒ|jtjd dtjƒdƒ|jtjdd ƒjdƒdƒ|jtjdd ƒjdƒdƒ|jtjddtjƒjd ƒd ƒ|jtjd dtjƒjd ƒd ƒ|jtjd dtjƒdƒ|jtjddƒjd ƒdƒ|jtjddtjƒjd ƒdƒ|jtjddtjƒjd ƒdƒdS(Ns\b(b.)\bsabcd abc bcd bxitbxs\B(b.)\Bsabc bcd bc abxds^abc$s abc iRas ^\Aabc\Z$uabcd abc bcd bxuabc bcd bc abxdu abc uabcs \d\D\w\W\s\Ss1aa! a(R R RRtLOCALEtUNICODEtMR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_special_escapesrs8++"++"cCsV|jtjddƒjdƒdƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒdƒ|jtjddƒdƒ|jttj ddƒƒdƒ|jttj ddƒƒd ƒ|jttj dd ƒƒd ƒ|jttj dd ƒƒd ƒ|jttj dd ƒƒdƒdS( Ns \b(abc)\bRais\bs\BR2R(iit s ( R R RRt assertTrueRt assertFalseRtlenR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_string_boundariess""""cCs¤|jtjddƒjdƒdƒ|jtjddtjƒjdƒdƒddjtttdd d ƒƒƒ}|jtj|d tjƒjƒd ƒdS( Nu ([∢∣])u∢iu[%s]uiiiiÿuï¼i( R R RRR‡tjointmaptunichrtrange(Rtr((s(/usr/local/lib/python2.7/test/test_re.pyttest_bigcharsetªs (cCsXtjdjd„tdƒDƒƒƒ}|j|jdƒƒ|j|jdƒƒdS(NRucss|]}d|VqdS(s%dN((t.0R((s(/usr/local/lib/python2.7/test/test_re.pys ´si't1000t9999(R R RR’tassertIsNotNoneR(RR“((s(/usr/local/lib/python2.7/test/test_re.pyttest_big_codesize²s(cCsZ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒdS(Nsa.bsa bisa.*bsa b(R R RtDOTALLR(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_anyall¸s$$cCs›|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjd d ƒjdƒdƒ|jtjd d ƒjdƒdƒ|jtjd d ƒjdƒdƒ|jtjdd ƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns (a(?=\s[^a]))sa biR(s(a(?=\s[^a]*))s(a(?=\s[abc]))s(a(?=\s[abc]*))sa bcs (a)(?=\s\1)sa as (a)(?=\s\1*)sa aas(a)(?=\s(abc|a))s (a(?!\s[^a]))s(a(?!\s[abc]))sa ds (a)(?!\s\1)s(a)(?!\s(abc|a))(R R RR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_non_consuming¾s%%%%%%%%%%cCs²|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjdd tjƒjdƒd ƒ|jtjd dtjƒjdƒdƒ|jtjd d tjƒjdƒd ƒ|jtjd d tjƒjdƒd ƒ|jtjddtjƒjdƒdƒ|jtjdd tjƒjdƒd ƒ|jtjddtjƒjdƒdƒdS(NRatABCiuABCs (a\s[^a])sa bis (a\s[^a]*)sa bbs (a\s[abc])s (a\s[abc]*)s ((a)\s\2)sa as ((a)\s\2*)sa aas((a)\s(abc|a))s((a)\s(abc|a)*)(R R RR:R(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_ignore_caseÌs+++++++++cCs)|jtjddƒjdƒdƒdS(Ns(\s)RŠi(R R RR(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_categoryØscCsäddl}|j|jtdƒdƒtdƒƒ|j|jtdƒtjƒtdƒƒ|j|jtdƒtjƒtdƒƒ|jtjddtjƒj dƒdƒ|jtjddtjƒj dƒdƒdS(NiÿÿÿÿR7iR(RaRuABC( t_sreR tgetlowertordR R†R‡RR:R(RR ((s(/usr/local/lib/python2.7/test/test_re.pyt test_getlowerÛs  (+++cCsN|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns\s([^a])s biRLs \s([^a]*)s bbtbb(R R RR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_not_literaläs%cCsN|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns\s(b)s biRLsa\ssa i(R R RR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_search_coverageès%cCs¦|dkr3|dkr3|}dt|ƒf}n'|dksK|dkrZtdƒ‚n|||ƒ}|j|ƒ|j|jƒ|ƒ|j|jƒ|ƒdS(Nis@If match is not None, span should be specified (and vice versa).(RRR9R‹R RR(RR;ttextRRtmatcherR$((s(/usr/local/lib/python2.7/test/test_re.pyt assertMatchìs cCsãtjtj}djd„tdƒDƒƒ}x”|D]Œ}||krd|jtj|ƒ|ƒnE|dkrŒ|jtj|ƒdƒn|jtj|ƒd|ƒ|jtj|ƒ|ƒq6W|jtj|ƒ|ƒdS(Nucss|]}t|ƒVqdS(N(R‘(R•ti((s(/usr/local/lib/python2.7/test/test_re.pys üsiuu\000u\( R‚t ascii_letterstdigitsRR’R R R-R©(Rt alnum_charsRsR]((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_escapeús   cCsìtjtjjdƒ}djd„tdƒDƒƒ}x”|D]Œ}||krm|jtj|ƒ|ƒnE|dkr•|jtj|ƒdƒn|jtj|ƒd|ƒ|j tj|ƒ|ƒq?W|j tj|ƒ|ƒdS(NtasciiR2css|]}t|ƒVqdS(N(R.(R•Rª((s(/usr/local/lib/python2.7/test/test_re.pys siR>s\000s\( R‚R«R¬tencodeRR’R R R-R©(RR­RsRL((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_escape_bytes   cCsbd}tj|ƒ}|j|dƒ|j||ƒ|jdtjdƒ|ddtjƒdS( Nuxxx☠☠☠xxxuxxx\☠\☠\☠xxxu.%s+.u☠u x☠☠☠xii(ii(R R-R R©R(RRt s_escaped((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_escape_non_asciis cCs|djdƒ}tj|ƒ}|j|dƒ|j||ƒtjtjdjdƒƒ|ƒ}|jt|ƒdƒdS(Nu y☠y☠ysutf-8sy\â\˜\ y\â\˜\ yu☠i(R°R R-R R©RR(RRLt b_escapedtres((s(/usr/local/lib/python2.7/test/test_re.pyttest_re_escape_non_ascii_bytess $cCsVddl}|j|ƒddl}|j|ƒtddtƒddlm}dS(Niÿÿÿÿtsret deprecated(t_compile(tpicklet pickle_testtcPickleRtTrueR·R¹(RRºR¼R¹((s(/usr/local/lib/python2.7/test/test_re.pyt test_pickling$s     cCsAtjdƒ}|j|ƒ}|j|ƒ}|j||ƒdS(Nsa(?:b|(c|e){1,2}?|d)+?(.)(R R tdumpstloadsR (RRºtoldpatRtnewpat((s(/usr/local/lib/python2.7/test/test_re.pyR»-scCsr|jtjtjƒ|jtjtjƒ|jtjtjƒ|jtjtj ƒ|jtj tj ƒdS(N( R R R:t IGNORECASEtLR†Rˆt MULTILINEtSRšR)tVERBOSE(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_constants3s cCsOxHtjtjtjtjtjgD]"}|jtjd|ƒdƒq%WdS(Ns ^pattern$( R R:RˆR)RÆRÄR~R R(Rtflag((s(/usr/local/lib/python2.7/test/test_re.pyt test_flags:s+cCs=xddddddddgD]ú}|jtjd |t|ƒƒdƒ|jtjd |t|ƒd ƒdƒ|jtjd |t|ƒd ƒdƒ|jtjd|t|ƒƒdƒ|jtjd|t|ƒd ƒdƒ|jtjd|t|ƒdƒdƒqW|jtjtjddƒdS(Niiii i@ii€iÿs\%03os\%03o0t0s\%03o8R?s\x%02xs\x%02x0s\x%02xzR5s\911R2(R~R RR.RR8RJ(RRª((s(/usr/local/lib/python2.7/test/test_re.pyttest_sre_character_literals>s%&**&*.cCs-x ddddddddgD]ê}|jtjd |t|ƒƒdƒ|jtjd |t|ƒƒdƒ|jtjd |t|ƒƒdƒ|jtjd |t|ƒƒdƒ|jtjd |t|ƒƒdƒ|jtjd|t|ƒƒdƒqW|jtjtjddƒdS(Niiii i@ii€iÿs[\%03o]s[\%03o0]s[\%03o8]s[\x%02x]s [\x%02x0]s [\x%02xz]s[\911]R2(R~R RR.RR8RJ(RRª((s(/usr/local/lib/python2.7/test/test_re.pyt!test_sre_character_class_literalsHs%&&&&&*cCss|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns(a)|(b)RLiiÿÿÿÿ(iÿÿÿÿiÿÿÿÿ(R R RtstarttendR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_113254Rs%%cCsŸ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒdS( Ns(a)?aR(s(a)(b)?bRnis(?Pa)(?Pb)?bs (?Pa(b))s((a))(R R Rt lastindexRt lastgroup(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_527371Ws cCs|jtjtjdƒdS(Nsfoo[a-(R8R RJR (R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_545855_scCsÄ|jtjddddƒjdƒdƒ|jtjdddd ddd ƒjdƒd ƒ|jtjdd d dƒjdƒdƒ|jtjddddƒjdƒdƒdS(Ns.*?ci'RnRoii!Ns.*?cdiˆR]tcdei#Ni NRatdeiaês(a|b)*?c(R R RRÏR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_418626ds -2-cCs:dtjdƒd}|jtj|ƒo/ddƒdS(Nu[u‹u]i(R R-R R (RRk((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_612074pscCs‡|jtjdddƒjdƒdƒ|jtjddddƒjdƒdƒ|jtjddddƒjdƒdƒdS(Ns(x)*iPÃRis(x)*yRs(x)*?y(R R RR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_stack_overflowts)-cCsš|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒdS(Ns(?:a?)*yR5s(?:a?)+ys (?:a?){2,}ys (?:a?)*?ys (?:a?)+?ys (?:a?){2,}?y(t assertIsNoneR R(R((s(/usr/local/lib/python2.7/test/test_re.pyt test_unlimited_zero_width_repeat{s c Cs´d„}d„}d„}d„}td|fd|fd|fd|fdgƒ}|j|jjd ƒjdƒ|j|jd ƒd d dddddddg d fƒdS(NcSs|S(N((tscannerttoken((s(/usr/local/lib/python2.7/test/test_re.pyts_ident…scSsd|S(Nsop%s((RÜRÝ((s(/usr/local/lib/python2.7/test/test_re.pyt s_operator†scSs t|ƒS(N(tfloat(RÜRÝ((s(/usr/local/lib/python2.7/test/test_re.pyts_float‡scSs t|ƒS(N(R(RÜRÝ((s(/usr/local/lib/python2.7/test/test_re.pyts_intˆss [a-zA-Z_]\w*s\d+\.\d*s\d+s =|\+|-|\*|/s\s+R2ssum = 3*foo + 312.50 + bartsumsop=isop*tfoosop+gˆs@tbar(s\s+N(RRR~RÜR;R tscan(RRÞRßRáRâRÜ((s(/usr/local/lib/python2.7/test/test_re.pyt test_scanner„s         cCsaxZd D]R}|jtjd|dƒjƒd ƒ|jtjd|dƒjƒd ƒqWdS( NR2t?t*s ((.%s):)?zR5sa:zsa:R((R2RèRé(NN(sa:R((R R RRjR(Rtop((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_448951˜s  cCs|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjd dƒjƒdƒ|jtjd d ƒjƒdƒ|jtjd dƒjƒdƒ|jtjd dƒjƒdƒdS(Ns ^((a)|b)*RaRLR(s ^(([ab])|c)*R]s ^((d)|[ab])*s ^((a)c|[ab])*s ^((a)|b)*?cs^(([ab])|c)*?dtabcds^((d)|[ab])*?cs^((a)c|[ab])*?c(RLR((R]RL(RLN(RLN(RLR((R]RL(RLN(RLN(R R RRjR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_725106¡s cCsH|jtjddƒjƒdƒ|jtjddƒjƒdƒdS(Ns(a)(?:(?=(b)*)c)*tabbR(s(a)((?!(b)*))*(R(N(R(NN(R R RRjR(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_725149´scCsqytWntk r(|jdƒnXdtfd„ƒY}tj|dƒƒ}|j|jdƒdƒdS(Ns no problem if we have no unicodet my_unicodecBseZRS((t__name__t __module__(((s(/usr/local/lib/python2.7/test/test_re.pyRðÁsRaRD(R4t NameErrortskipTestR R R RR(RRðRk((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_764548»s cCsKtjddƒ}|jg|D]}|jdƒ^qdddgƒdS(Ns:+s a:b::c:::diR\s::s:::(R tfinditerR R(Rtitertitem((s(/usr/local/lib/python2.7/test/test_re.pyt test_finditerÅs%cCsXytWntk r(|jdƒnX|jtjdƒtjtdƒƒk ƒdS(Ns no problem if we have no unicodet bug_926075s u'bug_926075'(R4RóRôR‹R R teval(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_926075Ês  cCsdytWntk r(|jdƒnXtdƒ}|jtj|ƒjdƒdddgƒdS(Ns no problem if we have no unicodesu"[\u002E\u3002\uFF0E\uFF61]"sa.b.cR(RLR](R4RóRôRûR R R R^(RR;((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_931848Òs  cCstjddƒ}|j|jƒjƒdƒ|jt|jƒtjdƒjdƒ}|j|j ƒjƒdƒ|j|j ƒdƒdS(Ns\ssa bii(ii(ii( R RöR tnextRR8t StopIterationR RÜRR(RR÷RÜ((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_581080Ûs cCsatjddƒ}|j|jƒjƒdƒ|j|jƒjƒdƒ|jt|jƒdS(Ns.*tasdfii(ii(ii(R RöR RþRR8Rÿ(RR÷((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_817234äscCs‘dddg}x9|D]1}|jtjd|tjƒjdƒ|ƒqWdddd g}x-|D]%}|jtjd|tjƒƒqdWdS( Nu7u๘uï¼s^\d$iuâ…¥u〹uâ‚‚u㊴(R R RR‡RRÚ(Rtdecimal_digitsRtnot_decimal_digits((s(/usr/local/lib/python2.7/test/test_re.pyt test_bug_6561ês  /  cCszddl}xgdD]_}|j|ƒ}|jtjdƒj|ƒdƒ|jtjdƒj|ƒjƒdƒqWdS(Niÿÿÿÿt cbBuhHiIlLfdtblaR2((tarrayR R R RRRj(RRttypecodeR(((s(/usr/local/lib/python2.7/test/test_re.pyttest_empty_arrayÿs   "cCsftdƒ}tdƒ}tj|tjtjBƒ}|j|ƒ}|j|dƒtj|tjtjBƒ}|j|ƒ}|j|dƒtjd|tjƒ}|j|ƒ}|j|dƒtjd|tjƒ}|j|ƒ}|j|dƒtjd|ƒ}|j|ƒ}|j|dƒtjd|ƒ}|j|ƒ}|j|dƒdS(Ni i¡s(?i)s(?iu)(R‘R R R:tURR~R(Rt upper_chart lower_charRstq((s(/usr/local/lib/python2.7/test/test_re.pyttest_inline_flagss(  cCsÐtjdƒ}|j|jddƒdƒ|j|jddƒdƒ|j|jddƒdƒtjdtjƒ}|j|jddƒd ƒ|j|jddƒd ƒ|j|jddƒdƒd S( s>$ matches the end of string, and just before the terminating t$t#sa b sa b# #sa b csa b c#s s# #sa# b# #sa# b# c#N(R R R R,RÅ(RR;((s(/usr/local/lib/python2.7/test/test_re.pyttest_dollar_matches_twice$scCsNddl}d}|jttjdiƒ|jt|jdd|gƒdS(Niÿÿÿÿii€R(Rail (R R8t TypeErrorR Röt OverflowErrorR (RR t long_overflow((s(/usr/local/lib/python2.7/test/test_re.pyt test_dealloc0s cCsntjdƒ}|j|tjƒtj|ƒ}|j|tjƒ|j||ƒ|jttjdƒdS(Nsrandom patterni(R R tassertIsInstancet _pattern_typetassertIsR8R(RR;t same_pattern((s(/usr/local/lib/python2.7/test/test_re.pyt test_compile;s cCs/|jtjddƒdddddgƒdS(Ns [\A\B\b\C\Z]sABCZR7tBstCtZ(R R R(R((s(/usr/local/lib/python2.7/test/test_re.pyttest_bug_13899EstsizetmemuseicCsYd|}tjd|ƒ}|j|ƒ|j|jƒ|ƒ|j|jƒ|ƒdS(NR(R(R RR˜R RÎRÏ(RR RR$((s(/usr/local/lib/python2.7/test/test_re.pyttest_large_searchKs   iicCsMd|}tjdd|ƒ\}}|j||ƒ|j||dƒdS(NR(R2i(R RZR (RR RR“tn((s(/usr/local/lib/python2.7/test/test_re.pyttest_large_subnVs cCsHdd}|jtjd|ƒjƒdƒ|jtjd|ƒjƒdƒ|jtjd|ƒjƒdƒ|jtjd|ƒjƒdƒ|jtjd |ƒjƒdƒ|jtjd |ƒjƒdƒ|jttjd dƒ|jttjddƒ|jttjddƒ|jttjdddfƒdS(NRi †s.{65535}iiÿÿs .{,65535}s .{65535,}?s.{65536}is .{,65536}s .{65536,}?s.{%d}ii€s.{,%d}s.{%d,}?s.{%d,%d}i(iiÿÿ(iiÿÿ(iiÿÿ(ii(ii(iil l l l l (R R RRR8RR (RR‚((s(/usr/local/lib/python2.7/test/test_re.pyttest_repeat_minmax_overflow_s """"""cCsýyddlm}Wntk r4|jdƒnXdd}|jtjd|d|ƒƒ|jtjd|d|ƒjƒd ƒ|jtjd |d|ƒƒ|j t tj d|ƒ|j t tj d|ƒ|j t tj d |ƒdS( Niÿÿÿÿ(t MAXREPEATs requires _sre.MAXREPEAT constantRi †s.{%d}is.{,%d}is.{%d,}?(ii †( R R&t ImportErrorRôRÚR RR RR8RR (RR&R‚((s(/usr/local/lib/python2.7/test/test_re.pyt%test_repeat_minmax_overflow_maxrepeatns  !#!cCs-|jtjdƒtjdƒWdQXdS(Nss (?P=)(tassertRaisesRegexpt sre_constantsRJR R (R((s(/usr/local/lib/python2.7/test/test_re.pyt$test_backref_group_name_in_exception}scCs-|jtjdƒtjdƒWdQXdS(Ns\?foos (?P)(R)R*RJR R (R((s(/usr/local/lib/python2.7/test/test_re.pyttest_group_name_in_exception‚scCs¦xŸd D]—}xŽd D]†}d||d}|jtj|tjƒjdƒdgd |ƒ|jƒ}|jtj|tjƒjdƒdgd |ƒqWqWdS( NRét+Rès{1}R2R#tyzRDtmsg(RéR-Rès{1}(R2Rè(R R R RÆRR°(RtrepstmodR;((s(/usr/local/lib/python2.7/test/test_re.pyttest_issue17998‡s  ! !cCs™x’dD]Š}xdD]y}tjd||fƒ}|jdƒ}|j|jdƒd ƒ|j|jd ƒd ƒ|j|jd ƒd ƒqWqWdS(Ns{0,}RéR-s{1,187}Rès ^((x|y)%s)%stxyyzyitxyyiR2iR(s{0,}RéR-s{1,187}(s{0,}RéRè(R R RR R(Rtouter_optinner_opR“R$((s(/usr/local/lib/python2.7/test/test_re.pyt test_bug_2537’s  cCs˜tƒ}tjdtjƒWdQX|j|jƒjƒdddgƒtƒ}tjdtjƒWdQX|j|jƒjƒdddgƒdS(NRäs literal 102s literal 111(RR R tDEBUGR tgetvaluet splitlines(Rtout((s(/usr/local/lib/python2.7/test/test_re.pyttest_debug_flagœs  cCsÅtjdƒ}|j|jddddddƒjƒdƒ|j|jdddd ddƒjƒdƒ|j|jdddd ddƒd gƒ|j|jddd d ƒd d dgƒdS(Ns(ab)R‚t abracadabraR€iRi i iRntmaxsplitiR2t racadabra(ii (ii (R R R RRRRR^(RRk((s(/usr/local/lib/python2.7/test/test_re.pyttest_keyword_parameters¨s((%Ni([RñRòRRR"R/R0R1R6R<R=RKRPRQRTRURWR[R_R`RbRdRlRtRwR{R}RR„R‰RŽR”R™R›RœRžRŸR£R¥R¦RR RR©R®R±R³R¶R¾R»RÈRÊRÌRÍRÐRÓRÔR×RØRÙRÛRçRëRíRïRõRùRüRýRRRR RRRRRRRR"R$R%RR(R+R,R2R7R<R@(((s(/usr/local/lib/python2.7/test/test_re.pyR s¨        *                                                cCs ddlm}m}m}m}tr0dGHnxÖ|D]Î}tjjƒd}}}}} t |ƒdkrŠ|\}}}}} n3t |ƒdkr®|\}}}nt d|f‚yt j |ƒ} Wnmt jk rþ||kròqdG|GHq7tk rt‚q7dG|GHtrtjd tjƒqq7Xy| j|ƒ} Wn)t jk r~} d G|Gt| ƒGHnX||krŽq7||krµ| dkr©qd G|GHq7||kr7| dk r'| jd ƒ\} }i| jd ƒd 6| jƒd6| j jd6}xgtddƒD]V}y(| j|ƒ}|dkrOd}nWntk rid}nX||d|s$      ÿÿÿ¤ |