JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB  f@sdZddlmZddlZddlmZedddlmZddlm Z m Z ddl m Z Gd d d ej Zed kr|ejd d ddS)zTest undo, coverage 77%.) UndoDelegatorN)requiresZgui)Mock)TextTk) Percolatorc@sdeZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ dS)UndoDelegatorTestcCs$t|_t|j|_t|j|_dS)N)rrootrtextr percolator)clsr @/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_undo.py setUpClasss zUndoDelegatorTest.setUpClasscCs&|jj|`|`|j|`dS)N)r Zredircloser r Zdestroy)r r r r tearDownClasss  zUndoDelegatorTest.tearDownClasscCs$t|_t|j_|j|jdS)N)r delegatorrbellr Z insertfilter)selfr r rsetUps zUndoDelegatorTest.setUpcCs*|j|j|jdd|jdS)Nz1.0end)r Z removefilterrr deleteZ resetcache)rr r rtearDown"szUndoDelegatorTest.tearDowncCs|j}|dd|dd|d||ddd|dd|dd |d d |dd |d||dd d |d||ddd|d||ddd|d|jd||jj j dS)NinsertZfoobarhz<>z1.0r foobarz1.2z1.4ZhelloZfoarz1.6z1.3Zevent) r revent_generate assertEqualgetrrZ undo_event assertTruercalled)rr r r rtest_undo_event's$            z!UndoDelegatorTest.test_undo_eventcCsp|j}|dd|dd|dd|d|d||ddd|d||jjj dS)Nrrrz1.0z1.3z<>z<>) r rrrrr r!rrr")rr r r rtest_redo_event=s      z!UndoDelegatorTest.test_redo_eventcCsf|j}|j}|dd|dd|dd||j|jfd|d||j|jfdd S) z Dump_event cannot be tested directly without changing environment variables. So, test statements in dump_event indirectly rrrz1.2z1.4)Tz<>)FN)r rrrZassertTupleEqualpointerZ can_merger)rr dr r rtest_dump_eventIs    z!UndoDelegatorTest.test_dump_eventcCs|j}|||jdd||t|_|d| |j |j ||jj |d| |j d||jj dS)NraTF) rr!Z get_savedr rZ assertFalserZsaved_change_hookZ set_savedrr'Zsavedr")rr(r r rtest_get_set_savedYs  z$UndoDelegatorTest.test_get_set_savedcCs|j}|dd|j|dd|dd|j||ddd|j|dd|j||ddddS)Nrrrz1.0z1.3)r rrZundo_block_startZundo_block_stoprr )rr r r rtest_undo_start_stopls        z&UndoDelegatorTest.test_undo_start_stopcCsL|j}d|j_}x4t|dD]$}|dd|t|jj|q WdS)N rr)r rmax_undorangerZassertLessEquallenZundolist)rr r/ir r r test_addcmd}s   zUndoDelegatorTest.test_addcmdN)__name__ __module__ __qualname__ classmethodrrrrr#r$r)r,r-r3r r r rrs   r__main__r&F) verbosityexit)__doc__Z idlelib.undorZunittestZ test.supportrZ unittest.mockrZtkinterrrZidlelib.percolatorrZTestCaserr4mainr r r rs    x