JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf @sdZddlmZedddlZddlmZddlmZmZddl m Z Gdd d Z Gd d d ej Z ed krejd ddS)zTest idlelib.ParenMatch. This must currently be a gui test because ParenMatch methods use several text methods not defined on idlelib.idle_test.mock_tk.Text. )requiresZguiN)Mock)TkText) ParenMatchc@seZdZddZdS) DummyEditwincCs(||_d|_d|_d|_dS)NT)textZ indentwidthZtabwidthZcontext_use_ps1)selfr r F/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_parenmatch.py__init__s   zDummyEditwin.__init__N)__name__ __module__ __qualname__r r r r r rs rc@speZdZeddZeddZddZddZd d Zd d Z d dZ dS)ParenMatchTestcCsCt|_t|j|_t|j|_t|j_dS)N)rrootrr reditwinrZ text_frame)clsr r r setUpClasss zParenMatchTest.setUpClasscCs0|`|`|jj|jj|`dS)N)r rrZupdate_idletasksZdestroy)rr r r tearDownClasss   zParenMatchTest.tearDownClasscCs|jjdddS)Nz1.0end)r Zdelete)r r r r tearDown&szParenMatchTest.tearDowncCs|j}t|j}|jd|jdd|jd|jd|j|j|j ddd |jdd |j |j d|j|j |j ddf|j d|j|j dddd S)z: Test ParenMatch with 'expression' style. Z expressioninsertzdef foobar(a, beventz<>parenr1.101.15)1.16N)rr)rr)r rr set_stylerflash_paren_eventassertIn event_infoassertTupleEqual tag_prevrange restore_event assertNotIn assertEqualparen_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 ddd |jdd |j |j d|j|j |j ddfd S) z7 Test ParenMatch with 'default' style. defaultrzdef foobar(a, brz<>rr1.101.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|jddS)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_cornerRs z ParenMatchTest.test_paren_cornercCslt|j}t|_|jd|j|jj|jj|jd|j|jjdS)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+r/r0r2r r r r rs     r__main__ verbosity)__doc__Z test.supportrZunittestZ unittest.mockrZtkinterrrZidlelib.ParenMatchrrZTestCaserrmainr r r r s  Y