+
     Bik                          R t ^ RIHt ^ RIt^ RIHt ]! R4       ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ]P                   t]P$                  t ! R R	]P&                  4      t]R
8X  d   ]P,                  ! ^R7       R# R# )zTest replace, coverage 78%.)ReplaceDialogN)requiresgui)TkText)Mock)Mboxc                   |   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R tRtV tR# )ReplaceDialogTestc                .   \        4       V n        V P                  P                  4        \        \        n        \        P                  ! V P                  4      V n        \        V P                  V P                  4      V n	        R  V P                  n
        \        4       V P                  n        \        V P                  4      V n        \        4       V P                  n        \        4       V P                  n        V P                  V P                  n        R# )c                      R # N r       5/usr/lib/python3.14/idlelib/idle_test/test_replace.py<lambda>.ReplaceDialogTest.setUpClass.<locals>.<lambda>   s    $r   N)r   rootwithdrawr   se
messageboxSearchEngineenginer   dialogbellr   okr   textundo_block_startundo_block_stopclss   &r   
setUpClassReplaceDialogTest.setUpClass   s    4__SXX.
"388SZZ8
&



>$(F!#'6 ((

r   c                h    \         \        n        V =V =V =V P                  P                  4        V =R # r   )	orig_mboxr   r   r   r   r   r   destroyr   s   &r   tearDownClassReplaceDialogTest.tearDownClass!   s+    !Hcj#*Hr   c                >    V P                   P                  R R4       R# )insertzThis is a sample sTringN)r   r)   selfs   &r   setUpReplaceDialogTest.setUp(   s    		#<=r   c                p   V P                   P                  P                  R 4       V P                  P                  P                  R 4       V P                   P
                  P                  R4       V P                   P                  P                  R4       V P                   P                  P                  R4       V P                   P                  P                  R4       V P                   P                  P                  R4       R \        n        R \        n        V P                  P                  RR4       R# ) FT1.0endN)r   patvarsetr   replvarwordvarcasevarrevarwrapvarbackvar	showerrortitlemessager   deleter*   s   &r   tearDownReplaceDialogTest.tearDown+   s    r"#&&e$%&				&r   c                6   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  R 4       V! V P                  P                  4       VP                  4       4       VP                  R4       VP                  R 4       V! 4        V! VP                  RR4      R 4       VP                  RR4       VP                  R4       VP                  R4       V! 4        V! VP                  RR	4      R4       VP                  R
4       VP                  R4       V! 4        V! VP                  RR4      R4       VP                  RR4       VP                  RR4       VP                  RR4      pVP                  R4       V! 4        VP                  RR4      pV! Wg4       VP                  RR4       VP                  R4       VP                  R4       V! 4        V! VP                  R4      R4       V! VP                  R4      R4       V! 4        V! VP                  R4      R4       V! VP                  R4      R4       VP                  RR4      pV! 4        VP                  RR4      pV! Wg4       VP                  RR4      pVP                  R4       V! 4        VP                  RR4      pV! Wg4       V P                  P                  ^ 4       R# )asdfa1.8z1.12r)   r0   ishello1.2z1.7stringworldz1.23z1.28r1   z
line42:
[a-z][\d]+z1.9ijz2.1foobarN)r   assertEqualr   r2   r   r4   
replace_itsetpatgetpatgetr3   mark_setr)   find_itr+   r   equalpvrvreplacebefore_text
after_texts   &       r   test_replace_simple%ReplaceDialogTest.test_replace_simple7   sf    yy  [[[[  ++(( 	6"dkk  "BFFH- 	s
v	dhhuf%v. 	h&
t
w	dhhue$g. 	x
w	dhhvv&0 	h&Hk*hhue,
}	XXeU+
k& 	h&
s
s	dhhuos#dhhuos#	dhhuos#dhhuos#hhue,	XXeU+
k& hhue,
x	XXeU+
k& 	Ar   c                2   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  P                  R 4       VP                  RR4       VP                  R4       VP                  R4       V! 4        V! VP                  R4      R4       V! VP                  R4      R4       V! 4        V! VP                  R4      R4       V! VP                  R4      R4       V! 4        V! VP                  R4      R4       VP                  RR4       VP                  R	4       VP                  R
R4      pV! 4        VP                  R
R4      pV! Wg4       R# )Fr)   1.4rJ   rK   rF   1.5z1.20rC   rD   r0   r1   N)r   rM   r   r2   r   r4   rN   r8   r3   rR   rQ   rT   s   &       r   test_replace_wrap_around*ReplaceDialogTest.test_replace_wrap_around}   s3   yy  [[[[  ++((& 	h&
s
s	dhhuos#dhhuos#	dhhuos#dhhv$	dhhuos# 	h&
thhue,	XXeU+
k&r   c                   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  P                  R 4       VP                  R4       VP                  R4       V! 4        V! VP                  RR4      R4       V! VP                  RR4      R4       R# )	TrD   rE   r0   r^   Thisr_   z1.10N)
r   rM   r   r2   r   r4   rN   r5   r3   rQ   )r+   r   rU   rV   rW   rX   s   &     r   test_replace_whole_word)ReplaceDialogTest.test_replace_whole_word   s    yy  [[[[  ++((%
t
w	dhhue$f-dhhuf%w/r   c                8   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  P                  R 4       V P                  P                  RR4      pVP                  R4       VP                  R4       V! 4        V P                  P                  RR4      pV! Wg4       VP                  R4       V! 4        V! VP                  RR4      R4       R# )Tr0   r1   thisthatrc   r^   N)
rM   r   r   r2   r   r4   rN   r6   r3   rQ   r+   rU   r   rV   rW   rX   rY   rZ   s   &       r   test_replace_match_case)ReplaceDialogTest.test_replace_match_case   s      yy[[[[  ++((%iimmE51
v
v	YY]]5%0
k&
v	dhhue$f-r   c                   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  P                  R 4       VP                  RR4      pVP                  R4       VP                  R4       V! 4        VP                  RR4      pV! Wg4       VP                  RR4       V! 4        V! VP                  RR4      R	4       VP                  R
4       V! 4        V P                  R\        P                  4       V P                  R\        P                  4       VP                  R4       V! 4        V P                  R\        P                  4       V P                  R\        P                  4       R
\        n        R
\        n        VP                  R4       VP                  R4       V! 4        V P                  R\        P                  4       V P                  R\        P                  4       V P                  P                  R4       V! VP                  4       R4       R# )Tr0   r1   rI   rE   r)   z
line422.0z2.8linhellor/   errorEmptyz[\dPatternz[a]ztest\zInvalid Replace Expression?z\?N)rM   r   r   r2   r   r4   rN   r7   r3   rQ   r)   assertInr:   r;   r<   setcookedpatri   s   &       r   test_replace_regex$ReplaceDialogTest.test_replace_regex   s     yy[[[[  ++((d#hhue,
}
w	XXeU+
k&Hj)	dhhue$j1
r
	gy/gy001
v	gy/i!2!23		
u
x	gy/2I4E4EF 	  %bffhr   c                ^   V P                   pV P                  pV P                  P                  pV P                  P
                  pV P                  P                  pV P                  P                  P                  R 4       VP                  RR4       VP                  R4       VP                  R4       V! 4        V! VP                  RR4      R4       V! VP                  RR4      R4       V! 4        V! VP                  R	R
4      R4       V! 4        V! VP                  RR	4      R4       R# )Tr)   z
is as rD   wasrF   r^   rm   z2.3r_   rC   N)rM   r   r   r2   r   r4   rN   r9   r3   r)   rQ   )r+   rU   r   rV   rW   rX   s   &     r   test_replace_backwards(ReplaceDialogTest.test_replace_backwards   s      yy[[[[  ++((%Hj)
t
u	dhhue$d+dhhue$e,	dhhue$e,	dhhue$e,r   c                   V P                   pV P                  P                  pV P                  P                  pV P                  P
                  pVP                  R R4       VP                  R VP                  RR4      ^d,          4       VP                  R4       VP                  R4       V! 4        V P                  RVP                  RR4      4       V P                  P                  P                  R4       VP                  R4       V! 4        V P                  R\        P                  4       V P                  R	\        P                  4       VP                  R
4       VP                  R4       V! 4        V P                  P                  P                  R4       VP                  R4       VP                  R4       V! 4        R# )r)   
r0   r1   rD   rx   Tr/   ro   rp   z[s][T]\Fztext which is not presentrL   N)r   r   r2   r   r4   replace_allr)   rQ   r3   assertNotInr7   rs   r:   r;   r<   )r+   r   rV   rW   r~   s   &    r   test_replace_all"ReplaceDialogTest.test_replace_all   s:   yy[[[[  kk--Hd#Hdhhue4S89
t
utxxu56d#
r
gy/gy001
x
te$
*+
xr   c                   V P                   pV P                  P                  pV P                  P                  pV P                  P
                  pV P                  pVP                  R 4       VP                  R4       V! 4        V! VP                  RR4      R4       V P                  P                  P                  R4       VP                  R4       V! 4        R# )rc   rx   z	sel.firstzsel.lastTr/   N)
r   r   r2   r   r4   default_commandrM   r3   rQ   r7   )r+   r   rV   rW   replace_findrU   s   &     r   test_default_command&ReplaceDialogTest.test_default_command  s    yy[[[[  {{22  
v
udhh{J/7d#
r
r   r   N)__name__
__module____qualname____firstlineno__classmethodr!   r&   r,   r>   r[   r`   rd   rj   ru   ry   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r
   r
      se     # #  >
'DL':0.&'R-(8 r   r
   __main__)	verbosity)__doc__idlelib.replacer   unittesttest.supportr   tkinterr   r   unittest.mockr   idlelib.idle_test.mock_tkr   idlelib.searchenginesearchenginer   r   r$   r:   TestCaser
   r   mainr   r   r   <module>r      sf     )  !    * !MM	NN	Q)) Qh zMMA r   