+
     Bi                         R t ^ RIHt ^ RIt^ RIHt ]! R4       ^ RIHt ^ RIH	t	H
t
 ^ RIHt  ! R R	]P                  4      t]R
8X  d   ]P                   ! ^RR7       R# R# )zTest undo, coverage 77%.)UndoDelegatorN)requiresgui)Mock)TextTk)
Percolatorc                   p   a  ] tR t^t o ]R 4       t]R 4       tR tR tR t	R t
R tR tR	 tR
 tRtV tR# )UndoDelegatorTestc                    \        4       V n        \        V P                  4      V n        \	        V P                  4      V n        R # N)r   rootr   textr   
percolatorclss   &2/usr/lib/python3.14/idlelib/idle_test/test_undo.py
setUpClassUndoDelegatorTest.setUpClass   s*    4>#CHH-    c                    V P                   P                  P                  4        V = V =V P                  P                  4        V =R # r   )r   redircloser   r   destroyr   s   &r   tearDownClassUndoDelegatorTest.tearDownClass   s6    ""$NCHHr   c                    \        4       V n        \        4       V P                  n        V P                  P                  V P                  4       R # r   )r   	delegatorr   bellr   insertfilterselfs   &r   setUpUndoDelegatorTest.setUp   s/    &"f$$T^^4r   c                    V P                   P                  V P                  4       V P                  P	                  R R4       V P                  P                  4        R# )1.0endN)r   removefilterr   r   delete
resetcacher    s   &r   tearDownUndoDelegatorTest.tearDown"   s<    $$T^^4		&!!#r   c                D   V P                   pVP                  R R4       VP                  R R4       VP                  R4       V P                  VP	                  RR4      R4       VP                  R R4       VP                  R R4       VP                  R	R
4       VP                  R R4       VP                  R4       V P                  VP	                  RR
4      R4       VP                  R4       V P                  VP	                  RR4      R4       VP                  R4       V P                  VP	                  RR4      R4       VP                  R4       V P                  P                  R4       V P                  V P                  P                  P                  4       R# )insertfoobarh<<undo>>r%   r&   
foobar1.21.4hellofoarz1.61.3eventN)r   r-   event_generateassertEqualgetr(   r   
undo_event
assertTruer   calledr!   r   s   & r   test_undo_event!UndoDelegatorTest.test_undo_event'   s?   yyHh'Hc"J'%/6He$He$E5!Hg&J'%/8J'%/:J'%/7J'!!'*++223r   c                   V P                   pVP                  R R4       VP                  R R4       VP                  RR4       VP                  R4       VP                  R4       V P	                  VP                  RR4      R4       VP                  R4       V P                  V P                  P                  P                  4       R# )r-   r2   r3   r%   r8   r0   z<<redo>>N)
r   r-   r(   r:   r;   r<   r>   r   r   r?   r@   s   & r   test_redo_event!UndoDelegatorTest.test_redo_event=   s    yyHe$He$E5!J'J'%/7J'++223r   c                d   V P                   pV P                  pVP                  RR4       VP                  RR4       VP                  RR4       V P	                  VP
                  VP                  3R4       VP                  R4       V P	                  VP
                  VP                  3R	4       R# )
z{
Dump_event cannot be tested directly without changing
environment variables. So, test statements in dump_event
indirectly
r-   r2   r3   r4   r5   r0   N)   T)   F)r   r   r-   r(   assertTupleEqualpointer	can_merger:   )r!   r   ds   &  r   test_dump_event!UndoDelegatorTest.test_dump_eventI   s     yyNNHe$He$E5!qyy!++6	BJ'qyy!++6
Cr   c                L   V P                   pV P                  VP                  4       4       V P                  P	                  R R4       V P                  VP                  4       4       \        4       Vn        VP                  R4       V P                  VP                  VP                  4       V P                  VP                  P                  4       VP                  R4       V P                  VP                  R4       V P                  VP                  P                  4       R# )r-   aTFN)r   r>   	get_savedr   r-   assertFalser   saved_change_hook	set_savedr;   rJ   savedr?   )r!   rL   s   & r   test_get_set_saved$UndoDelegatorTest.test_get_set_savedY   s     NN&		3''"f	DAGG,++223	E"%++223r   c                   V P                   pVP                  R R4       V P                  P                  4        VP                  R R4       VP                  R R4       V P                  P	                  4        V P                  VP                  RR4      R4       V P                  P                  4        VP                  R R4       V P                  P	                  4        V P                  VP                  RR4      R4       R# )r-   r2   r3   r%   r8   N)r   r-   r   undo_block_startundo_block_stopr;   r<   r@   s   & r   test_undo_start_stop&UndoDelegatorTest.test_undo_start_stopl   s    yyHe$'')He$He$&&(%/7 	'')He$&&(%/7r   c                    V P                   p^
;V P                  n        p\        V^
,           4       FD  pVP	                  RR4       V P                  \        V P                  P                  4      V4       KF  	  R# )
   r-   r2   N)r   r   max_undoranger-   assertLessEquallenundolist)r!   r   r`   is   &   r   test_addcmdUndoDelegatorTest.test_addcmd}   s\    yy-//(x"}%AKK%(  T^^%<%<!=xH &r   )r   N)__name__
__module____qualname____firstlineno__classmethodr   r   r"   r*   rA   rD   rM   rW   r\   rf   __static_attributes____classdictcell__)__classdict__s   @r   r
   r
      s[     . .
  5
$
4,
4D 4&8"I Ir   r
   __main__F)	verbosityexit)__doc__idlelib.undor   unittesttest.supportr   unittest.mockr   tkinterr   r   idlelib.percolatorr   TestCaser
   rh   main r   r   <module>r}      sW     '  !    )uI)) uIp zMMAE* r   