й¼]Áã@s«ddlmZedƒddlZddlmZddlmZmZddlm Z ddl m Z Gdd „d ej ƒZ ed kr§ejd d d dƒdS)é)ÚrequiresZguiN)ÚMock)ÚTextÚTk)Ú UndoDelegator)Ú Percolatorc@s”eZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dS)ÚUndoDelegatorTestcCs4tƒ|_t|jƒ|_t|jƒ|_dS)N)rÚrootrÚtextrÚ percolator)Úcls©r ú7/opt/alt/python35/lib64/python3.5/test_undodelegator.pyÚ setUpClasss zUndoDelegatorTest.setUpClasscCs3|jjjƒ|`|`|jjƒ|`dS)N)r ZredirÚcloser r Zdestroy)r r r rÚ tearDownClasss  zUndoDelegatorTest.tearDownClasscCs>tƒ|_|jj|jƒtd|jjƒ|j_dS)NÚwraps)rÚ delegatorr Z insertfilterrÚbell)Úselfr r rÚsetUps zUndoDelegatorTest.setUpcCs7|jj|jƒ|jjddƒ|jjƒdS)Nz1.0Úend)r Z removefilterrr ÚdeleteZ resetcache)rr r rÚtearDown#szUndoDelegatorTest.tearDowncCsD|j}|jddƒ|jddƒ|jdƒ|j|jddƒdƒ|jddƒ|jdd ƒ|jd d ƒ|jdd ƒ|jdƒ|j|jdd ƒd ƒ|jdƒ|j|jddƒdƒ|jdƒ|j|jddƒdƒ|jdƒ|jjdƒ|j|jj j ƒdS)NÚinsertZfoobarÚhz<>z1.0rÚ ÚfooÚbarz1.2z1.4ZhelloZfoarz1.6z1.3Úevent) r rÚevent_generateÚ assertEqualÚgetrrZ undo_eventÚ assertTruerÚcalled)rr r r rÚtest_undo_event(s$      z!UndoDelegatorTest.test_undo_eventcCs–|j}|jddƒ|jddƒ|jddƒ|jdƒ|jdƒ|j|jddƒdƒ|jdƒ|j|jjj ƒdS)Nrrrz1.0z1.3z<>z<>) r rrr r!r"r#rrr$)rr r r rÚtest_redo_event>s    z!UndoDelegatorTest.test_redo_eventcCs‹|j}|j}|jddƒ|jddƒ|jddƒ|j|j|jfd ƒ|jdƒ|j|j|jfd ƒdS) Nrrrz1.2z1.4éTz<>éF)r'T)r(F)r rrrZassertTupleEqualÚpointerZ can_merger )rr Údr r rÚtest_dump_eventJs   z!UndoDelegatorTest.test_dump_eventcCs»|j}|j|jƒƒ|jjddƒ|j|jƒƒtƒ|_|jdƒ|j |j |j ƒ|j|jj ƒ|jdƒ|j |j dƒ|j|jj ƒdS)NrÚaTFééÿÿÿÿ) rr#Z get_savedr rZ assertFalserZsaved_change_hookZ set_savedr!r)Zsavedr$)rr*r r rÚtest_get_set_savedZs    z$UndoDelegatorTest.test_get_set_savedcCs¹|j}|jddƒ|jjƒ|jddƒ|jddƒ|jjƒ|j|jddƒdƒ|jjƒ|jddƒ|jjƒ|j|jddƒdƒdS)Nrrrz1.0z1.3)r rrZundo_block_startZundo_block_stopr!r")rr r r rÚtest_undo_start_stopms     z&UndoDelegatorTest.test_undo_start_stopcCsd|j}d|j_}xDt|dƒD]2}|jddƒ|jt|jjƒ|ƒq*WdS)Né rr)r rÚmax_undoÚrangerZassertLessEqualÚlenZundolist)rr r2Úir r rÚ test_addcmd~s  zUndoDelegatorTest.test_addcmdN)Ú__name__Ú __module__Ú __qualname__Ú classmethodrrrrr%r&r+r/r0r6r r r rrs       rÚ__main__Ú verbosityr(ÚexitF)Z test.supportrZunittestZ unittest.mockrÚtkinterrrZidlelib.UndoDelegatorrZidlelib.PercolatorrZTestCaserr7Úmainr r r rÚs  w