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 ddl m Z Gd d d ej Zed krejd d dddS)zSUnittest for UndoDelegator in idlelib.UndoDelegator. Coverage about 80% (retest). )requiresZguiN)Mock)TextTk) UndoDelegator) Percolatorc@seZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ dS)UndoDelegatorTestcCs4t|_t|j|_t|j|_dS)N)rrootrtextr percolator)clsr I/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_undodelegator.py setUpClasss zUndoDelegatorTest.setUpClasscCs3|jjj|`|`|jj|`dS)N)r Zredircloser r Zdestroy)r r r r tearDownClasss  zUndoDelegatorTest.tearDownClasscCs>t|_|jj|jtd|jj|j_dS)Nwraps)r delegatorr Z insertfilterrbell)selfr r rsetUps zUndoDelegatorTest.setUpcCs7|jj|j|jjdd|jjdS)Nz1.0end)r Z removefilterrr deleteZ resetcache)rr r rtearDown#szUndoDelegatorTest.tearDowncCsD|j}|jdd|jdd|jd|j|jddd|jdd|jdd |jd d |jdd |jd|j|jdd d |jd|j|jddd|jd|j|jddd|jd|jjd|j|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_eventcCs|j}|jdd|jdd|jdd|jd|jd|j|jddd|jd|j|jjj dS)Nrrrz1.0z1.3z<>z<>) r rrrr r!r"rrr#)rr r r rtest_redo_event>s    z!UndoDelegatorTest.test_redo_eventcCs|j}|j}|jdd|jdd|jdd|j|j|jfd |jd|j|j|jfd d S)z Dump_event cannot be tested directly without changing environment variables. So, test statements in dump_event indirectly rrrz1.2z1.4Tz<>FN)r&T)r'F)r rrrZassertTupleEqualpointerZ can_merger)rr dr r rtest_dump_eventJs   z!UndoDelegatorTest.test_dump_eventcCs|j}|j|j|jjdd|j|jt|_|jd|j |j |j |j|jj |jd|j |j d|j|jj dS)NraTF) rr"Z get_savedr rZ assertFalserZsaved_change_hookZ set_savedr r(Zsavedr#)rr)r r rtest_get_set_savedZs    z$UndoDelegatorTest.test_get_set_savedcCs|j}|jdd|jj|jdd|jdd|jj|j|jddd|jj|jdd|jj|j|jddddS)Nrrrz1.0z1.3)r rrZundo_block_startZundo_block_stopr r!)rr r r rtest_undo_start_stopms     z&UndoDelegatorTest.test_undo_start_stopcCsd|j}d|j_}xDt|dD]2}|jdd|jt|jj|q*WdS)N rr)r rmax_undorangerZassertLessEquallenZundolist)rr r1ir r r test_addcmd~s  zUndoDelegatorTest.test_addcmdN)__name__ __module__ __qualname__ classmethodrrrrr$r%r*r.r/r5r r r rrs       r__main__ verbosityr'exitF)__doc__Z test.supportrZunittestZ unittest.mockrZtkinterrrZidlelib.UndoDelegatorrZidlelib.PercolatorrZTestCaserr6mainr r r rs  w