+
     Bi                         ^ 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# )    )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.   r3   r4   r&   r9   r1   z<<redo>>N)
r   r.   r)   r;   r<   r=   r?   r   r   r@   rA   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# )	r.   r3   r4   r5   r6   r1   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<   rK   savedr@   )r"   rM   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.   r3   r4   r&   r9   N)r   r.   r   undo_block_startundo_block_stopr<   r=   rA   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.   r3   N)r   r   max_undoranger.   assertLessEquallenundolist)r"   r   ra   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+   rB   rE   rN   rX   r]   rg   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s[     . .
  5
$
4,
4D 4&8"I Ir   r   __main__F)	verbosityexit)idlelib.undor   unittesttest.supportr   unittest.mockr   tkinterr   r   idlelib.percolatorr	   TestCaser   ri   main r   r   <module>r}      sT    '  !    )uI)) uIp zMMAE* r   