ó {fc@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/lib64/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/lib64/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 cCsKtdƒtƒ|_|jjƒt|jƒ|_t|jƒ|_dS(Ntgui(RRtroottwithdrawRRRteditwin(tcls((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyt setUpClass#s    cCs#|`|`|jjƒ|`dS(N(RRRtdestroy(R((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyt tearDownClass+s  cCs|jjd|jƒdS(Ntinsert(RRtcode(R ((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pytsetUp1scCs#|jjddƒt|j_dS(Ns1.0tend(RtdeleteR RR (R ((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyttearDown4scCst|j|ƒS(s> Return a parser object with index at 'index' (RR(R tindex((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyt get_parser8scCsÌ|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/lib64/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/R1((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyttest_is_in_stringRs       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#R5t is_in_codeR3(R R/R1((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyttest_is_in_codebs       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/lib64/python2.7/idlelib/idle_test/test_hyperparser.pytwithout_mustcloseuscSs|jdtƒS(NR9(R:R (R;((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pytwith_mustclosezss3.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=R1((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyttest_get_surrounding_bracketrs$        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/R1R0((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyttest_get_expression“s:             (RRRt classmethodRRRR!R#R2R6R8R@RD(((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyRs        !t__main__t verbosityi((t__doc__tunittestttest.test_supportRtTkinterRRtidlelib.EditorWindowRtidlelib.HyperParserRRtTestCaseRRtmain(((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pyts  «