ó ükWc@sddlmZmZmZddlmZmZmZddlmZmZm Z m Z ddl Z ddl Z ddl m Z ddlZddlZddlZddlZddlmZddlZdejfd„ƒYZd „Zd „Zed kreƒndS( iÿÿÿÿ(tverboset run_unittestt import_module(tprecisionbigmemtestt_2Gt cpython_only(tcaptured_stdoutt have_unicodetrequires_unicodetuN(tScanner(tproxytReTestscBs¡eZd„Zd„Zd„Zd„Zd„Zd„Zed„ƒ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„Zed„ƒZ d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d^d^e,j-d(„Z.ed)„ƒZ/d*„Z0ed+„ƒZ1d,„Z2d-„Z3d.„Z4d/„Z5d0„Z6d1„Z7d2„Z8d3„Z9d4„Z:d5„Z;d6„Z<ed7„ƒZ=d8„Z>d9„Z?d:„Z@d;„ZAd<„ZBd=„ZCed>„ƒZDd?„ZEed@„ƒZFedA„ƒZGdB„ZHdC„ZIedD„ƒZJdE„ZKedF„ƒZLdG„ZMdH„ZNdI„ZOdJ„ZPeQdKeRdLdMƒdN„ƒZSeQdKeRdLd_ƒdQ„ƒZTdR„ZUeVdS„ƒZWdT„ZXdU„ZYdV„ZZdW„Z[dX„Z\dY„Z]dZ„Z^d[„Z_d\„Z`d]„ZaRS(`cCsGd}tjdƒ}t|ƒ}|j|jdƒ|jdƒƒdS(NtQabbbcRsab+c(tretcompileR t assertEqualtfindall(tselftstxty((s"/usr/lib/python2.7/test/test_re.pyt test_weakrefs cCsR|jtjddƒjdƒd ƒ|jtjddƒjƒdƒ|jtjddƒjdƒdƒ|jtjddƒjƒdƒ|jtjddƒƒ|jtjd d ƒjdƒdƒ|jtjd d ƒjƒdƒ|jtjdd ƒjdƒdƒ|jtjdd ƒjƒdƒ|jtjd d ƒƒdS(Nsx*taxxisx+iiRtaaasa*txxxtxxxasa+(ii(ii(ii(ii(ii(ii(ii(ii(RRtsearchtspant assertIsNonetmatch(R((s"/usr/lib/python2.7/test/test_re.pyttest_search_star_pluss%"%"%"%"cCs#t|jdƒƒ}t|dƒS(Nii(tinttgrouptstr(Rtmatchobjt int_value((s"/usr/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/lib/python2.7/test/test_re.pyt6ss\ns s\1\1s(.)txxcsˆS(N((R'(R(s"/usr/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(RRtsubR%tescapetchr(R((Rs"/usr/lib/python2.7/test/test_re.pyttest_basic_re_sub/s*"((?cCs#|jtjdddƒdƒdS(Ns (?Px)s \g<1>\g<1>\bR)sxxxx(RRR/(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_449964KscCs€|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒ|jtjdddƒdƒdS(Ns\r\ns\ns abc def sabc def s s (RRR/(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_449000PscCs$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(RR/RttypetunicodeR"(RRRtz((s"/usr/lib/python2.7/test/test_re.pyt test_bug_1140[s  cCsŒtjdƒ}|jttj|dtjƒ|jttj|dtjƒ|jttj|dtjƒ|jttj|tjƒdS(NR&tA(RRt assertRaisest ValueErrorRtIRR(Rtpattern((s"/usr/lib/python2.7/test/test_re.pyt test_bug_1661us cCstjdƒdS(Ns(?P)(?(quote))(RR(R((s"/usr/lib/python2.7/test/test_re.pyt test_bug_3629}scCsÅ|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))))))))))(.)txyztxz8txzat8t9RERJRKta(RRR/R;terror(R((s"/usr/lib/python2.7/test/test_re.pyt test_sub_template_numeric_escapesBcCsE|jtjdddƒdƒ|jtjddddƒdƒdS(NR+tbtaaaaatbbbbbitbaaaa(RRR/(R((s"/usr/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(RRR/(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_114660¯scCsB|jtjdddƒdƒ|jtjdddƒdƒdS(Nsx*t-tabxds-a-b-d-sx+sab-d(RRR/(R((s"/usr/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.))(RRR;RM(R((s"/usr/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>(R;RRMR/t IndexError(R((s"/usr/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 BBBBiRGisb*txxxyxzxitxxxyz(sx xi(sx BBBBi(sxyzi(R[i(R\i(RRtsubn(R((s"/usr/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::cR5R+ROtcs:*s(:*)s::s(?::*)s(:)*s([b:]+)s:b::s(b)|(:+)s (?:b)|(?::+)(RRtsplittNone(R((s"/usr/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::ciR5R+sb::csa:b:c:dROsc:ds(:)s(:*)(RRRa(R((s"/usr/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(:)(:*)R5(R_R5(R_R_(R_s::(RRR(R((s"/usr/lib/python2.7/test/test_re.pyttest_re_findallös %%cCs)|jtjddƒdddgƒdS( Ns(a|(b))tabaR+R5RO(R+R5(RORO(R+R5(RRR(R((s"/usr/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)?ROtacR`tbcR5s!(?:(?Pa)|(?Pb))(?Pc)?iita1tb2tc3((R+(R+R+(R+R+NN(RONRON(R+R+NR`(RONROR`(ROR5ROR`(R+R+(R+NN(NRON(R+NR`(RRRtgroupsR!RRb(RtpatR'((s"/usr/lib/python2.7/test/test_re.pyt test_re_matchs*""%%("(!cCs{|jtjddƒjƒdƒ|jtjddƒjƒdƒ|jtjddƒƒ|jtjddƒƒ|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ƒƒ|j|jdƒƒdS(Ns^(\()?([^()]+)(?(1)\))$s(a)t(R+sa)s(as^(?:(a)|c)((?(1)b|d))$tabROtcdtds^(?:(a)|c)((?(1)|d))$R5s(?Pa)(?Pb)?((?(g2)c|d))ReR`tadtabdRi(RqR+(NR+(R+RO(NRt(NRt(R+R5(R+ROR`(R+NRt(RRRRnRbRR(Rtp((s"/usr/lib/python2.7/test/test_re.pyttest_re_groupref_existss*cCs¾|jtjddƒjƒd ƒ|jtjddƒjƒd ƒ|jtjddƒƒ|jtjddƒƒ|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`(RyR+(NR+(R+R+(NN(RRRRnRbR(R((s"/usr/lib/python2.7/test/test_re.pyttest_re_groupref7scCs4|jtjddƒjƒidd6dd6ƒdS(Ns#(?Pfirst) (?Psecond)s first secondtfirsttsecond(RRRt groupdict(R((s"/usr/lib/python2.7/test/test_re.pyttest_groupdictCs cCs)|jtjddƒjdƒdƒdS(Ns#(?Pfirst) (?Psecond)s first seconds\2 \1 \g \gssecond first second first(RRRtexpand(R((s"/usr/lib/python2.7/test/test_re.pyt test_expandHs cCsî|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|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ƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒdS(Ns ^(\w){1}$Res ^(\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{}(RRRRR!t assertTrue(R((s"/usr/lib/python2.7/test/test_re.pyttest_repeat_minmaxNs4%%%%%%%%cCs¢|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjddfƒ|jtjddƒjƒdS(Ns(a)R+ii(ii(ii(RRRtpostendpoststringtregsR‚(R((s"/usr/lib/python2.7/test/test_re.pyt test_getattrns %cCs»|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒtrÿ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒn|jtjddtjƒjd ƒd ƒ|jtjd d tjƒjd ƒd ƒ|jtjd dtjƒƒ|jtjdd ƒjdƒdƒ|jtjdd ƒjdƒdƒ|jtjddtjƒjd ƒd ƒ|jtjd dtjƒjd ƒd ƒ|jtjd dtjƒƒ|jtjddƒjd ƒdƒ|jtjddtjƒjd ƒdƒtr·|jtjddtjƒjd ƒdƒndS(Ns\b(b.)\bsabcd abc bcd bxitbxs\B(b.)\Bsabc bcd bc abxds^abc$s abc iRes ^\Aabc\Z$uabcd abc bcd bxuabc bcd bc abxdu abc uabcs \d\D\w\W\s\Ss1aa! a( RRRR!tLOCALERtUNICODEtMR(R((s"/usr/lib/python2.7/test/test_re.pyttest_special_escapesus<++++cCsP|jtjddƒjdƒdƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jttj ddƒƒdƒ|jttj ddƒƒd ƒ|jttj dd ƒƒd ƒ|jttj dd ƒƒd ƒ|jttj dd ƒƒdƒdS( Ns \b(abc)\bReis\bs\BR5R+iit s ( RRRR!R‚Rt assertFalseRtlenR(R((s"/usr/lib/python2.7/test/test_re.pyttest_string_boundaries•s""""cCsÔ|jtjtdƒtdƒƒjdƒtdƒƒ|jtjtdƒtdƒtjƒjdƒtdƒƒddjttt dd d ƒƒƒ}|jtj|td ƒtjƒjƒtd ƒƒdS( Ns([\u2222\u2223])i""iu[%s]uiiiiÿiÿi( RRRR tunichrR!R‹tjointmaptrange(Rtr((s"/usr/lib/python2.7/test/test_re.pyttest_bigcharset¯s "((cCsXtjdjd„tdƒDƒƒƒ}|j|jdƒƒ|j|jdƒƒdS(NRycss|]}d|VqdS(s%dN((t.0R((s"/usr/lib/python2.7/test/test_re.pys ºsi't1000t9999(RRR“R•R‚R(RR–((s"/usr/lib/python2.7/test/test_re.pyttest_big_codesize¸s(cCsZ|jtjddtjƒjdƒdƒ|jtjddtjƒjdƒdƒdS(Nsa.bsa bisa.*bsa b(RRRtDOTALLR!(R((s"/usr/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))(RRRR!(R((s"/usr/lib/python2.7/test/test_re.pyttest_non_consumingÄs%%%%%%%%%%cCsW|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ƒtrStdƒjƒdksÒt‚|j tjdtdƒtj tjBƒƒ|j tjdtdƒtj tjBƒƒ|j tjtdƒdtj tjBƒƒ|j tjtdƒdtj tjBƒƒtdƒj ƒdks t‚|j tjdtdƒtj tjBƒƒ|j tjdtdƒtj tjBƒƒ|j tjtdƒdtj tjBƒƒ|j tjtdƒdtj tjBƒƒndS(NRetABCiuABCs (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)*)s\u212aukuKs\u017fuSus( RRRR=R!RR tlowertAssertionErrorR‚tUtupper(R((s"/usr/lib/python2.7/test/test_re.pyttest_ignore_caseÒs*++++++++++,,,,,,,cCsÉ|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒtrÅ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒtd ƒjƒd ks8t‚|jtjtd ƒtd ƒtjtjBƒƒ|jtjtd ƒtd ƒtjtjBƒƒ|jtjtd ƒdtjtjBƒƒ|jtjtd ƒd tjtjBƒƒtdƒj ƒdkst‚|jtjdtdƒtjtjBƒƒ|jtjdtdƒtjtjBƒƒ|jtjtdƒdtjtjBƒƒ|jtjtdƒdtjtjBƒƒndS(Ns[19A]R:s[19a]R+u[19A]uAu[19a]uas\u212auks[19K]s[19k]s [19\u212a]uKs\u017fuSu[19S]u[19s]s [19\u017f]us( R‚RRR=RR¢R R R¡R£(R((s"/usr/lib/python2.7/test/test_re.pyttest_ignore_case_setês&&&&&22,,,,,cCs1|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒ|jtjddtjƒƒtr-|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtd ƒtjtjBƒƒ|jtjtdƒtd ƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒ|jtjtd ƒtd ƒtjtjBƒƒ|jtjtd ƒtd ƒtjtjBƒƒ|jtjtd ƒtd ƒtjtjBƒƒ|jtjtd ƒtd ƒtjtjBƒƒtj dkrŽ|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒ|jtjtdƒtdƒtjtjBƒƒntdƒj ƒdks¬t ‚|jtjdtdƒtjtjBƒƒ|jtjdtdƒtjtjBƒƒ|jtjtdƒdtjtjBƒƒ|jtjtdƒdtjtjBƒƒtdƒj ƒdkszt ‚|jtjdtdƒtjtjBƒƒ|jtjdtdƒtjtjBƒƒ|jtjtdƒdtjtjBƒƒ|jtjtdƒdtjtjBƒƒndS(Ns[9-a]t_s[9-A]s [\xc0-\xde]s×s÷s [\xe0-\xfe]s\xd7s\xf7s[\u0430-\u045f]s\u0450s\u0400s[\u0400-\u042f]iÿÿs[\U00010428-\U0001044f]s \U00010428s \U00010400s[\U00010400-\U00010427]s\u212auku[J-M]u[j-m]s[\u2129-\u212b]uKs\u017fuSu[R-T]u[r-t]s[\u017e-\u0180]us( R‚RRR=RRR R¢tsyst maxunicodeR R¡R£(R((s"/usr/lib/python2.7/test/test_re.pyttest_ignore_case_rangeÿsX22 ,,,,,,,cCs)|jtjddƒjdƒdƒdS(Ns(\s)RŽi(RRRR!(R((s"/usr/lib/python2.7/test/test_re.pyt test_category/scCsíddl}|j|jtdƒdƒtdƒƒ|j|jtdƒtjƒtdƒƒtr“|j|jtdƒtjƒtdƒƒn|jtjddtj ƒj dƒdƒ|jtjddtj ƒj dƒdƒdS(NiÿÿÿÿR:iR+ReRŸuABC( t_sreRtgetlowertordRRŠRR‹RR=R!(RR«((s"/usr/lib/python2.7/test/test_re.pyt test_getlower2s (+.+cCsN|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns\s([^a])s biROs \s([^a]*)s bbtbb(RRRR!(R((s"/usr/lib/python2.7/test/test_re.pyttest_not_literal<s%cCsN|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns\s(b)s biROsa\ssa i(RRRR!(R((s"/usr/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).(RbRR<R‚RR!R(RR>ttextRRtmatcherR'((s"/usr/lib/python2.7/test/test_re.pyt assertMatchDs cCséttjtjƒ}djd„tdƒDƒƒ}x”|D]Œ}||krj|jtj|ƒ|ƒnE|dkr’|jtj|ƒdƒn|jtj|ƒd|ƒ|j tj|ƒ|ƒq<W|j tj|ƒ|ƒdS(Nucss|]}t|ƒVqdS(N(R’(R˜ti((s"/usr/lib/python2.7/test/test_re.pys Usiuu\000u\( R7R†t ascii_letterstdigitsR“R•RRR0R´(Rt alnum_charsRwR`((s"/usr/lib/python2.7/test/test_re.pyttest_re_escapeRs   cCsãtjtj}djd„tdƒDƒƒ}x”|D]Œ}||krd|jtj|ƒ|ƒnE|dkrŒ|jtj|ƒdƒn|jtj|ƒd|ƒ|jtj|ƒ|ƒq6W|jtj|ƒ|ƒdS(NR5css|]}t|ƒVqdS(N(R1(R˜Rµ((s"/usr/lib/python2.7/test/test_re.pys bsiRAs\000s\( R†R¶R·R“R•RRR0R´(RR¸RwRO((s"/usr/lib/python2.7/test/test_re.pyttest_re_escape_byte`s   cCsztdƒ}tj|ƒ}|j|tdƒƒ|j||ƒ|jdtjtdƒƒ|tdƒdtjƒdS( Nsxxx\u2620\u2620\u2620xxxsxxx\\\u2620\\\u2620\\\u2620xxxu.%s+.i &sx\u2620\u2620\u2620xii(ii(R RR0RR´R’R(RRt s_escaped((s"/usr/lib/python2.7/test/test_re.pyttest_re_escape_non_asciims  cCsjd}tj|ƒ}|j|dƒ|j||ƒtjtjdƒ|ƒ}|jt|ƒdƒdS(Ns y☠y☠ysy\â\˜\ y\â\˜\ ys☠i(RR0RR´RR(RROt b_escapedtres((s"/usr/lib/python2.7/test/test_re.pyttest_re_escape_non_ascii_bytesvs cCsfddl}|j|ƒddl}|j|ƒtddtƒddlm}ddlm}dS(Niÿÿÿÿtsret deprecated(t_compile(tpicklet pickle_testtcPickleRtTrueRÀRÂR(RRÃRÅRÂ((s"/usr/lib/python2.7/test/test_re.pyt test_pickling~s    cCsbtjdƒ}xLt|jdƒD]7}|j||ƒ}|j|ƒ}|j||ƒq#WdS(Nsa(?:b|(c|e){1,2}?|d)+?(.)i(RRR•tHIGHEST_PROTOCOLtdumpstloadsR(RRÃtoldpattprototpickledtnewpat((s"/usr/lib/python2.7/test/test_re.pyRĉs cCsr|jtjtjƒ|jtjtjƒ|jtjtjƒ|jtjtj ƒ|jtj tj ƒdS(N( RRR=t IGNORECASEtLRŠRŒt MULTILINEtSRœR,tVERBOSE(R((s"/usr/lib/python2.7/test/test_re.pyttest_constantss cCsLxEtjtjtjtjtjgD]}|jtjd|ƒƒq%WdS(Ns ^pattern$(RR=RŒR,RÒRÐR‚R(Rtflag((s"/usr/lib/python2.7/test/test_re.pyt test_flags—s+cCs+xddddddddgD]è}|jtjd |t|ƒƒƒ|jtjd |t|ƒd ƒƒ|jtjd |t|ƒd ƒƒ|jtjd|t|ƒƒƒ|jtjd|t|ƒd ƒƒ|jtjd|t|ƒdƒƒqW|jtjtjddƒdS(Niiii i@ii€iÿs\%03os\%03o0t0s\%03o8RBs\x%02xs\x%02x0s\x%02xzR8s\911R5(R‚RRR1R;RM(RRµ((s"/usr/lib/python2.7/test/test_re.pyttest_sre_character_literals›s%#''#'+cCsxøddddddddgD]Ø}|jtjd |t|ƒƒƒ|jtjd |t|ƒƒƒ|jtjd |t|ƒƒƒ|jtjd |t|ƒƒƒ|jtjd |t|ƒƒƒ|jtjd|t|ƒƒƒqW|jtjtjddƒdS(Niiii i@ii€iÿs[\%03o]s[\%03o0]s[\%03o8]s[\x%02x]s [\x%02x0]s [\x%02xz]s[\911]R5(R‚RRR1R;RM(RRµ((s"/usr/lib/python2.7/test/test_re.pyt!test_sre_character_class_literals¥s%#####'cCss|jtjddƒjdƒdƒ|jtjddƒjdƒdƒ|jtjddƒjdƒdƒdS(Ns(a)|(b)ROiiÿÿÿÿ(iÿÿÿÿiÿÿÿÿ(RRRtstarttendR(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_113254¯s%%cCsœ|jtjddƒjƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒ|jtjddƒjdƒdS( Ns(a)?aR+s(a)(b)?bRris(?Pa)(?Pb)?bs (?Pa(b))s((a))(RRRt lastindexRt lastgroup(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_527371´s cCs|jtjtjdƒdS(Nsfoo[a-(R;RRMR(R((s"/usr/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'RrRsii!Ns.*?cdiˆR`tcdei#Ni NRetdeiaês(a|b)*?c(RRRRÛR(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_418626Ás -2-cCs@dtjtdƒƒd}|jtj|ƒo5ddƒdS(Nu[i9 u]i(RR0R’RR(RRo((s"/usr/lib/python2.7/test/test_re.pyttest_bug_612074ÍscCs‡|jtjdddƒjdƒdƒ|jtjddddƒjdƒdƒ|jtjddddƒjdƒdƒdS(Ns(x)*iPÃRis(x)*yRs(x)*?y(RRRR!(R((s"/usr/lib/python2.7/test/test_re.pyttest_stack_overflowÒs)-cCsš|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒdS(Ns(?:a?)*yR8s(?:a?)+ys (?:a?){2,}ys (?:a?)*?ys (?:a?)+?ys (?:a?){2,}?y(RRR(R((s"/usr/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 ƒjƒ|j|jd ƒd d dddddddg d fƒdS(NcSs|S(N((tscannerttoken((s"/usr/lib/python2.7/test/test_re.pyts_identãscSsd|S(Nsop%s((RçRè((s"/usr/lib/python2.7/test/test_re.pyt s_operatoräscSs t|ƒS(N(tfloat(RçRè((s"/usr/lib/python2.7/test/test_re.pyts_floatåscSs t|ƒS(N(R (RçRè((s"/usr/lib/python2.7/test/test_re.pyts_intæss [a-zA-Z_]\w*s\d+\.\d*s\d+s =|\+|-|\*|/s\s+R5ssum = 3*foo + 312.50 + bartsumsop=isop*tfoosop+gˆs@tbar(s\s+N(R RbR‚RçR>Rtscan(RRéRêRìRíRç((s"/usr/lib/python2.7/test/test_re.pyt test_scannerâs         cCsaxZd D]R}|jtjd|dƒjƒd ƒ|jtjd|dƒjƒd ƒqWdS( NR5t?t*s ((.%s):)?zR8sa:zsa:R+(R5RóRô(NN(sa:R+(RRRRnRb(Rtop((s"/usr/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)*ReROR+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(ROR+(R`RO(RON(RON(ROR+(R`RO(RON(RON(RRRRnRb(R((s"/usr/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(RRRRnRb(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_725149scCsEdtfd„ƒY}tj|dƒƒ}|j|jdƒƒdS(Nt my_unicodecBseZRS((t__name__t __module__(((s"/usr/lib/python2.7/test/test_re.pyRûsReRG(R7RRRR(RRûRo((s"/usr/lib/python2.7/test/test_re.pyttest_bug_764548scCsKtjddƒ}|jg|D]}|jdƒ^qdddgƒdS(Ns:+s a:b::c:::diR_s::s:::(RtfinditerRR!(Rtitertitem((s"/usr/lib/python2.7/test/test_re.pyt test_finditer s%cCs&|jtjdƒtjdƒƒdS(Nt bug_926075u bug_926075(t assertIsNotRR(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_926075%scCs;tdƒ}|jtj|ƒjdƒdddgƒdS(Ns[\u002E\u3002\uFF0E\uFF61]sa.b.cR+ROR`(R RRRRa(RR>((s"/usr/lib/python2.7/test/test_re.pyttest_bug_931848*s cCsŒtjddƒ}|j|jƒjƒdƒ|jt|jƒtjdƒjdƒ}|j|j ƒjƒdƒ|j |j ƒƒdS(Ns\ssa bii(ii(ii( RRÿRtnextRR;t StopIterationRRçRR(RRRç((s"/usr/lib/python2.7/test/test_re.pyttest_bug_5810800s cCsatjddƒ}|j|jƒjƒdƒ|j|jƒjƒdƒ|jt|jƒdS(Ns.*tasdfii(ii(ii(RRÿRRRR;R(RR((s"/usr/lib/python2.7/test/test_re.pyttest_bug_8172349scCs»tdƒtdƒtdƒg}x9|D]1}|jtjd|tjƒjdƒ|ƒq(Wtdƒtdƒtdƒtd ƒg}x-|D]%}|jtjd|tjƒƒqŽWdS( Ni7iXiÿs^\d$iie!i90i‚ i´2(R’RRRR‹R!R(Rtdecimal_digitsRtnot_decimal_digits((s"/usr/lib/python2.7/test/test_re.pyt test_bug_6561?s   /    cCsddl}d}tr%|d7}nxd|D]\}|j|ƒ}|jtjdƒj|ƒƒ|jtjdƒj|ƒjƒdƒq,WdS(Niÿÿÿÿt cbBhHiIlLfdR tblaR5((tarrayRRRRRRRn(RRt typecodesttypecodeR+((s"/usr/lib/python2.7/test/test_re.pyttest_empty_arrayUs   cCsTtdƒ}tdƒ}tj|tjtjBƒ}|j|ƒ}|j|ƒtj|tjtjBƒ}|j|ƒ}|j|ƒtjd|tjƒ}|j|ƒ}|j|ƒtjd|tjƒ}|j|ƒ}|j|ƒtjd|ƒ}|j|ƒ}|j|ƒtjd|ƒ}|j|ƒ}|j|ƒdS(Ni i¡s(?i)s(?iu)(R’RRR=R¢RR‚(Rt upper_chart lower_charRwtq((s"/usr/lib/python2.7/test/test_re.pyttest_inline_flags`s(       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(RRRR/RÑ(RR>((s"/usr/lib/python2.7/test/test_re.pyttest_dollar_matches_twice~scCsNddl}d}|jttjdiƒ|jt|jdd|gƒdS(Niÿÿÿÿii€R+Reil (R«R;t TypeErrorRRÿt OverflowErrorR(RR«t long_overflow((s"/usr/lib/python2.7/test/test_re.pyt test_deallocŠs cCsntjdƒ}|j|tjƒtj|ƒ}|j|tjƒ|j||ƒ|jttjdƒdS(Nsrandom patterni(RRtassertIsInstancet _pattern_typetassertIsR;R(RR>t same_pattern((s"/usr/lib/python2.7/test/test_re.pyt test_compile•s cCs/|jtjddƒdddddgƒdS(Ns [\A\B\b\C\Z]sABCZR:tBstCtZ(RRR(R((s"/usr/lib/python2.7/test/test_re.pyttest_bug_13899ŸstsizetmemuseicCsYd|}tjd|ƒ}|j|ƒ|j|jƒ|ƒ|j|jƒ|ƒdS(NR+R(RRtassertIsNotNoneRRÚRÛ(RR)RR'((s"/usr/lib/python2.7/test/test_re.pyttest_large_search¥s   iicCsMd|}tjdd|ƒ\}}|j||ƒ|j||dƒdS(NR+R5i(RR]R(RR)RR–tn((s"/usr/lib/python2.7/test/test_re.pyttest_large_subn°s 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 (RRRRR;RR(RR†((s"/usr/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«R0t ImportErrortskipTestRRRRRR;RR(RR0R†((s"/usr/lib/python2.7/test/test_re.pyt%test_repeat_minmax_overflow_maxrepeatÈs  !#!cCs-|jtjdƒtjdƒWdQXdS(Nss (?P=)(tassertRaisesRegexpt sre_constantsRMRR(R((s"/usr/lib/python2.7/test/test_re.pyt$test_backref_group_name_in_exception×scCs-|jtjdƒtjdƒWdQXdS(Ns\?foos (?P)(R4R5RMRR(R((s"/usr/lib/python2.7/test/test_re.pyttest_group_name_in_exceptionÜscCs¯x¨d D] }x—d D]}d||d}|jtj|tjƒjdƒdgd |ƒtrt|ƒ}|jtj|tjƒjd ƒd gd |ƒqqWqWdS( NRôt+Rós{1}R5R&tyzRGtmsguxyz(RôR8Rós{1}(R5Ró(RRRRÒRRR7(RtrepstmodR>((s"/usr/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ôR8s{1,187}Rós ^((x|y)%s)%stxyyzyitxyyiR5iR(s{0,}RôR8s{1,187}(s{0,}RôRó(RRRRR!(Rtouter_optinner_opR–R'((s"/usr/lib/python2.7/test/test_re.pyt test_bug_2537ís  cCs†d}tƒ}tj|tjƒWdQXd}|j|jƒ|ƒtƒ}tj|tjƒWdQX|j|jƒ|ƒdS(Ns(\.)(?:[ch]|py)(?(1)$|: )sÙsubpattern 1 literal 46 subpattern None branch in literal 99 literal 104 or literal 112 literal 121 subpattern None groupref_exists 1 at at_end else literal 58 literal 32 (RRRtDEBUGRtgetvalue(RRotouttdump((s"/usr/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„iR…i i iRrtmaxsplitiR5t racadabra(ii (ii (RRRRRRRRa(RRo((s"/usr/lib/python2.7/test/test_re.pyttest_keyword_parameterss((%cCsR|jtjddƒjdƒdƒ|jttjddƒjtjdƒdS(Ns(foo)RïlR5i(RRRR!R;RYR§tmaxint(R((s"/usr/lib/python2.7/test/test_re.pyttest_match_group_takes_long!s%cCs»tjtjƒ}|jtjtj|ƒxMdD]E}ytjtj|ƒWq2tjk rv|jd|ƒq2Xq2Wtjƒ|jƒ|j ƒtjƒ|j ƒ|jƒdS(Nsen_US.iso88591s en_US.utf8stest needs %s locale(sen_US.iso88591s en_US.utf8( tlocalet setlocaletLC_CTYPEt addCleanuptErrorR2Rtpurgetcheck_en_US_iso88591tcheck_en_US_utf8(Rt oldlocaletloc((s"/usr/lib/python2.7/test/test_re.pyttest_locale_caching%s      cCsÔtjtjdƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒdS(Nsen_US.iso88591sÅåsÅsås(?Li)Åås(?Li)Ås(?Li)å(RNRORPR‚RRRÐR=(R((s"/usr/lib/python2.7/test/test_re.pyRT7s&&&cCsÔtjtjdƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddtjtjBƒƒ|jtjddƒƒ|jtjddƒƒ|jtjddƒƒdS(Ns en_US.utf8sÅåsÅsås(?Li)Åås(?Li)Ås(?Li)å( RNRORPR‚RRRÐR=R(R((s"/usr/lib/python2.7/test/test_re.pyRU@s&&&Ni(bRüRýRRR%R2R3R4RR9R?R@RNRSRTRWRXRZR^RcRdRfRhRpRxR{RRRƒRˆRR‘R—R›RRžR¤R¥R©RªR®R°R±RbRRR´R¹RºR¼R¿RÇRÄRÔRÖRØRÙRÜRßRàRãRäRåRæRòRöRøRúRþRRRR R RRRRRR$R(RRR,R.R/RR3R6R7R=RBRGRKRMRXRTRU(((s"/usr/lib/python2.7/test/test_re.pyR s´        *                     0                             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|RtoutcometrepltexpectedtobjtresultR:RÚRÛtvardictRµtgi((s"/usr/lib/python2.7/test/test_re.pyt run_re_testsJs´"                              +      cCsttƒtƒdS(N(RR Rs(((s"/usr/lib/python2.7/test/test_re.pyt test_mainÆs t__main__(ttest.test_supportRRRRRRRRRR RNRR R5R§R†RdtweakrefR tunittesttTestCaseR RsRtRü(((s"/usr/lib/python2.7/test/test_re.pyts("       ÿÿÿÿ7 |