3 Õì2a¸ ã@s|ddlmZddlmZedƒddlZddlmZddlmZm Z Gdd„dƒZ Gd d „d ej ƒZ e d krxejd d �dS)é)Ú ParenMatch)ÚrequiresZguiN)ÚMock)ÚTkÚTextc@seZdZdd„ZdS)Ú DummyEditwincCs||_d|_d|_d|_dS)NéT)ÚtextZ indentwidthZtabwidthZcontext_use_ps1)Úselfr ©r ú4/opt/alt/python36/lib64/python3.6/test_parenmatch.pyÚ__init__szDummyEditwin.__init__N)Ú__name__Ú __module__Ú __qualname__r r r r r rsrc@sLeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dS)ÚParenMatchTestcCs8tƒ|_|jjƒt|jƒ|_t|jƒ|_tƒ|j_dS)N) rÚrootZwithdrawrr rÚeditwinrZ text_frame)Úclsr r r Ú setUpClasss    zParenMatchTest.setUpClasscCs$|`|`|jjƒ|jjƒ|`dS)N)r rrZupdate_idletasksZdestroy)rr r r Ú tearDownClass!s  zParenMatchTest.tearDownClasscCs|jjddƒdS)Nz1.0Úend)r Údelete)r r r r ÚtearDown(szParenMatchTest.tearDowncCst|jƒ}dd„|_|S)NcSsdS)Nr r r r r Ú-sz/ParenMatchTest.get_parenmatch..)rrZbell)r Úpmr r r Úget_parenmatch+s  zParenMatchTest.get_parenmatchc Csþ|j}|jƒ}�xèdD]à\}}}|j|d ��Ä|jd d ƒ||_|jd dƒ|jdƒ|jd|jƒƒ|dkr‚|j |j dd ƒd ƒ|j |j dd ƒ|ƒ|jd dƒ|j ƒ|j d|jƒƒ|j|j dd ƒfƒ|jdƒ|j |j dd ƒ|ƒWdQRXqWdS)!NÚopenerú1.10ú1.11ÚdefaultÚparensú1.14ú1.15ú1.16Ú expression)Ústylez1.0rÚinsertzdef foobar(a, bÚeventz<>Zparenú)©rr©rr©rr*r+©rr©rr©r r-r.©r"r#©r#r$©r!r0r1©rr#©rr$©r%r3r4)r,r/r2r5)rr)r rZsubTestrZSTYLEr'Úflash_paren_eventZassertInZ event_infoZassertTupleEqualZ tag_nextrangeZ tag_prevrangeÚ restore_eventZ assertNotInZ assertEqualÚparen_closed_event)r r rr&Zrange1Zrange2r r r Útest_paren_styles0s4      z ParenMatchTest.test_paren_stylescCs^|j}|jƒ}|jddƒ|jdƒ|jddƒ|jdƒ|jdƒ|jddƒ|jdƒdS)Nr'z# this is a commen)r(z defz a, *arg))r rr'r8r6)r r rr r r Útest_paren_cornerRs      z ParenMatchTest.test_paren_cornercCsN|jƒ}tƒ|_|jdƒ|j|jjƒ|jjƒ|jdƒ|j|jjƒdS)Nré)rrr7Zhandle_restore_timerZ assertTrueZcalledZ reset_mockZ assertFalse)r rr r r Útest_handle_restore_timeres   z(ParenMatchTest.test_handle_restore_timerN) rrrÚ classmethodrrrrr9r:r<r r r r rs  "rÚ__main__é)Ú verbosity)Zidlelib.parenmatchrZ test.supportrZunittestZ unittest.mockrZtkinterrrrZTestCaserrÚmainr r r r Ús   X