й¼]ì ã@s¨ddlmZedƒddlZddlmZddlmZmZddlm Z Gdd„dƒZ Gd d „d ej ƒZ e d kr¤ejd d ƒdS)é)ÚrequiresZguiN)ÚMock)ÚTkÚText)Ú ParenMatchc@seZdZdd„ZdS)Ú DummyEditwincCs(||_d|_d|_d|_dS)NéT)ÚtextZ indentwidthZtabwidthZcontext_use_ps1)Úselfr ©r ú4/opt/alt/python35/lib64/python3.5/test_parenmatch.pyÚ__init__s   zDummyEditwin.__init__N)Ú__name__Ú __module__Ú __qualname__r r r r r rs rc@speZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dS)ÚParenMatchTestcCsCtƒ|_t|jƒ|_t|jƒ|_tƒ|j_dS)N)rÚrootrr rÚeditwinrZ text_frame)Úclsr r r Ú setUpClasss zParenMatchTest.setUpClasscCs0|`|`|jjƒ|jjƒ|`dS)N)r rrZupdate_idletasksZdestroy)rr r r Ú tearDownClasss   zParenMatchTest.tearDownClasscCs|jjddƒdS)Nz1.0Úend)r Údelete)r r r r ÚtearDown&szParenMatchTest.tearDowncCsí|j}t|jƒ}|jdƒ|jddƒ|jdƒ|jd|jƒƒ|j|j ddƒd ƒ|jdd ƒ|j ƒ|j d|jƒƒ|j |j ddƒfƒ|j dƒ|j|j ddƒd ƒdS)NZ expressionÚinsertzdef foobar(a, bÚeventz<>Úparenrú1.10ú1.15ú)ú1.16)rr)rr )r rrÚ set_stylerÚflash_paren_eventÚassertInÚ event_infoÚassertTupleEqualÚ tag_prevrangeÚ restore_eventÚ assertNotInÚ assertEqualÚparen_closed_event)r r Úpmr r r Útest_paren_expression)s     z$ParenMatchTest.test_paren_expressioncCsÄ|j}t|jƒ}|jdƒ|jddƒ|jdƒ|jd|jƒƒ|j|j ddƒd ƒ|jdd ƒ|j ƒ|j d|jƒƒ|j |j ddƒfƒdS) NÚdefaultrzdef foobar(a, brz<>rrú1.10ú1.11r)r.r/) r rrr!rr"r#r$r%r&r'r(r))r r r+r r r Útest_paren_default@s    z!ParenMatchTest.test_paren_defaultcCs¤|j}t|jƒ}|jddƒ|j|jdƒƒ|jddƒ|j|jdƒƒ|j|jdƒƒ|jddƒ|j|jdƒƒdS)Nrz# this is a commen)rz defz a, *arg))r rrrZ assertIsNoner*r")r r r+r r r Útest_paren_cornerRs z ParenMatchTest.test_paren_cornercCslt|jƒ}tƒ|_|jdƒ|j|jjƒ|jjƒ|jdƒ|j|jjƒdS)Nré) rrrr'Zhandle_restore_timerZ assertTrueZcalledZ reset_mockZ assertFalse)r r+r r r Útest_handle_restore_timeres    z(ParenMatchTest.test_handle_restore_timerN) rrrÚ classmethodrrrr,r0r1r3r r r r rs     rÚ__main__Ú verbosityé)Z test.supportrZunittestZ unittest.mockrÚtkinterrrZidlelib.ParenMatchrrZTestCaserrÚmainr r r r Ús  Y