ó |G_Tc@s§dZddlZddlmZddlmZmZddlmZddl m Z ddd„ƒYZ d ej fd „ƒYZ ed kr£ejd d ƒndS(s Unittest for idlelib.HyperParseriÿÿÿÿN(trequires(tTktText(t EditorWindow(t HyperParsert DummyEditwincBs)eZd„ZejjZejjZRS(cCs1||_d|_d|_t|_d|_dS(Nii2iôiè(i2iôiè(ttextt indentwidthttabwidthtTruetcontext_use_ps1tnum_context_lines(tselfR((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyt__init__ s     (t__name__t __module__R Rt_build_char_in_string_functim_functis_char_in_string(((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyRs  tHyperParserTestcBsteZdZed„ƒZed„ƒZd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z RS( sê"""This is a module docstring""" # this line is a comment x = "this is a string" y = 'this is also a string' l = [i for i in range(10)] m = [py*py for # comment py in l] x.__len__ z = ((r'asdf')+('a'))) [x for x in for = False cCs>tdƒtƒ|_t|jƒ|_t|jƒ|_dS(Ntgui(RRtrootRRRteditwin(tcls((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyt setUpClass#s  cCs#|`|`|jjƒ|`dS(N(RRRtdestroy(R((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyt tearDownClass*s  cCs|jjd|jƒdS(Ntinsert(RRtcode(R ((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pytsetUp0scCs#|jjddƒt|j_dS(Ns1.0tend(RtdeleteR RR (R ((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyttearDown3scCst|j|ƒS(s> Return a parser object with index at 'index' (RR(R tindex((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyt get_parser7scCsÌ|jtƒ,}|jjdddƒ|jdƒ}WdQX|jdt|jƒƒt|j _ |jdƒ}|j |j |jj ddƒƒ|jjd|jj ddƒdƒ|jd ƒ}dS( s6 test corner cases in the init method tconsoles1.0s1.ends1.5NtprecedesRis54.5(t assertRaisest ValueErrorRttag_addR"tassertIntstrt exceptiontFalseRR t assertEqualtrawtexttgetR(R tvetp((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyt test_init=s "&cCsÇ|j}|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒdS(Ns1.0s1.4s2.3s3.3s3.7s4.6(R"t assertFalset is_in_stringt assertTrue(R R.R0((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyttest_is_in_stringQs       cCsÇ|j}|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒ|dƒ}|j|jƒƒdS(Ns1.0s1.1s2.5s3.4s3.6s4.14(R"R4t is_in_codeR2(R R.R0((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyttest_is_in_codeas       cCs4|j}d„}d„}|dƒ}|j||ƒƒ|j||ƒƒ|dƒ}|j||ƒdƒ|j||ƒ||ƒƒ|dƒ}|j||ƒdƒ|j||ƒ||ƒƒ|d ƒ}|j||ƒdƒ|j||ƒƒ|d ƒ}|j||ƒƒ|j||ƒƒdS(NcSs|jdtƒS(Nt mustclose(tget_surrounding_bracketsR+(tparser((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pytwithout_mustclosetscSs|jdtƒS(NR8(R9R (R:((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pytwith_mustcloseyss3.2s5.6s5.4s5.25s5.23s5.21s5.24s6.15s6.4s6.ends9.end(s5.4s5.25(s5.21s5.24(s6.4s6.end(R"t assertIsNonetassertTupleEqual(R R.R;R<R0((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyttest_get_surrounding_bracketqs$        cCsï|j}|dƒ}|j|jƒdƒ|dƒ}|jtƒ}|jƒWdQX|jdt|jƒƒ|dƒ}|j|jƒdƒ|dƒ}|j|jƒdƒ|d ƒ}|j|jƒd ƒ|d ƒ}|j|jƒdƒ|d ƒ}|j|jƒd ƒ|dƒ}|j|jƒdƒ|dƒ}|jtƒ}|jƒWdQX|jdt|jƒƒ|dƒ}|j|jƒd ƒ|dƒ}|j|jƒd ƒ|dƒ}|j|jƒdƒdS(Ns4.2sy s4.7sis inside a codes5.25s range(10)s6.7tpys6.8ts7.9s8.ends x.__len__s9.13sr'asdf's9.17s10.0s11.3s11.11R+(R"R,tget_expressionR%R&R(R)R*(R R.R0R/((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyttest_get_expression’s:             (RRRt classmethodRRRR R"R1R5R7R?RC(((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyRs        !t__main__t verbosityi((t__doc__tunittestttest.test_supportRtTkinterRRtidlelib.EditorWindowRtidlelib.HyperParserRRtTestCaseRRtmain(((s>/usr/local/lib/python2.7/idlelib/idle_test/test_hyperparser.pyts  ª