7ec@sdZddlZddlmZddlmZmZddlmZddl m Z dddYZ d ej fd YZ ed krejd d ndS(s Unittest for idlelib.HyperParseriN(trequires(tTktText(t EditorWindow(t HyperParsert DummyEditwincBs)eZdZejjZejjZRS(cCs1||_d|_d|_t|_d|_dS(Nii2ii(i2ii(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  tHyperParserTestcBsteZdZedZedZdZdZdZdZ dZ dZ 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 cCsKtdt|_|jjt|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|jdS(Ntinsert(RRtcode(R ((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pytsetUp1scCs#|jjddt|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|jt|j _ |jd}|j |j |jj dd|jjd|jj ddd|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|jdS(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|jdS(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|jdtS(Nt mustclose(tget_surrounding_bracketsR,(tparser((s:/usr/lib64/python2.7/idlelib/idle_test/test_hyperparser.pytwithout_mustcloseuscSs|jdtS(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|jd|d}|jt}|jWdQX|jdt|j|d}|j|jd|d}|j|jd|d }|j|jd |d }|j|jd|d }|j|jd |d}|j|jd|d}|jt}|jWdQX|jdt|j|d}|j|jd |d}|j|jd |d}|j|jddS(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_expressions:             (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