î e fÒ ã@s§dZddlZddlmZddlmZddlmZmZddl m Z Gdd„dƒZ Gd d „d ej ƒZ ed kr£ejd d ƒndS)zTest idlelib.ParenMatch.éN)ÚMock)Úrequires)ÚTkÚText)Ú ParenMatchc@seZdZdd„ZdS)Ú DummyEditwincCs(||_d|_d|_d|_dS)NéT)ÚtextZ indentwidthZtabwidthZcontext_use_ps1)Úselfr ©r úF/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_parenmatch.pyÚ__init__ s   zDummyEditwin.__init__N)Ú__name__Ú __module__Ú __qualname__r r r r r r s rc@speZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dS)ÚParenMatchTestcCsMtdƒtƒ|_t|jƒ|_t|jƒ|_tƒ|j_dS)NZgui) rrÚrootrr rÚeditwinrZ text_frame)Úclsr r r Ú setUpClasss   zParenMatchTest.setUpClasscCs#|`|`|jjƒ|`dS)N)r rrZdestroy)rr r r Ú tearDownClasss  zParenMatchTest.tearDownClasscCs|jjddƒdS)Nz1.0Úend)r Zdelete)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ƒd S)z: Test ParenMatch with 'expression' style. Z expressionÚinsertzdef foobar(a, bÚeventz<>Úparenrú1.10ú1.15ú)ú1.16N)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ƒd S) z7 Test ParenMatch with 'default' style. Údefaultrzdef foobar(a, brz<>rrú1.10ú1.11rN)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)z— Test corner cases in flash_paren_event and paren_closed_event. These cases force conditional expression and alternate paths. rz# this is a commen)rz defz a, *arg)N)r rrrZ assertIsNoner)r!)r r r*r r r Útest_paren_cornerOs 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_timerbs    z(ParenMatchTest.test_handle_restore_timerN) rrrÚ classmethodrrrr+r/r0r2r r r r rs     rÚ__main__Ú verbosityé)Ú__doc__ZunittestZ unittest.mockrZ test.supportrZtkinterrrZidlelib.ParenMatchrrZTestCaserrÚmainr r r r Ús Y