HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/idlelib/idle_test/__pycache__/test_replace.cpython-38.pyc
U

�i�_q �@s�dZddlmZddlZddlmZed�ddlmZmZddl	m
Z
ddlmZddl
mZejZejZGd	d
�d
ej�Zedkr�ejdd
�dS)zTest replace, coverage 78%.�)�
ReplaceDialogN)�requiresZgui)�Tk�Text)�Mock)�Mboxc@steZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�ReplaceDialogTestcCszt�|_|j��tt_t�|j�|_t|j|j�|_	dd�|j	_
t�|j	_t
|j�|_t�|j_t�|j_|j|j	_dS)NcSsdS�N�r
r
r
�=/opt/python38/lib/python3.8/idlelib/idle_test/test_replace.py�<lambda>�z.ReplaceDialogTest.setUpClass.<locals>.<lambda>)r�rootZwithdrawr�se�tkMessageBoxZSearchEngine�enginer�dialogZbellr�okr�textZundo_block_startZundo_block_stop��clsr
r
r�
setUpClasss



zReplaceDialogTest.setUpClasscCs$tt_|`|`|`|j��|`dSr	)�	orig_mboxrrrrrrZdestroyrr
r
r�
tearDownClass!s
zReplaceDialogTest.tearDownClasscCs|j�dd�dS)N�insertzThis is a sample sTring)rr��selfr
r
r�setUp(szReplaceDialogTest.setUpcCs�|jj�d�|jj�d�|jj�d�|jj�d�|jj�d�|jj�d�|jj	�d�dt
_dt
_|j
�dd�dS)N�FT�1.0�end)r�patvar�setr�replvar�wordvar�casevar�revar�wrapvar�backvar�	showerror�title�messager�deleterr
r
r�tearDown+szReplaceDialogTest.tearDowncCs�|j}|j}|jj}|jj}|jj}|j�d�||j��|�	��|�
d�|�
d�|�||�	dd�d�|�dd�|�
d�|�
d�|�||�	d	d
�d�|�
d�|�
d�|�||�	d
d�d�|�dd�|�dd�|�	dd�}|�
d�|�|�	dd�}|||�|�dd�|�
d�|�
d�|�||�	d�d�||�	d�d�|�||�	d�d�||�	d�d�|�	dd�}|�|�	dd�}|||�|�	dd�}|�
d�|�|�	dd�}|||�|j�
d�dS)NZasdf�a�1.8z1.12rr�is�hello�1.2z1.7�stringZworldz1.23z1.28r z
line42:�
[a-z][\d]+z1.9�i�jz2.1�foobarr)r�assertEqualrr!rr#�
replace_itZsetpatZgetpat�getr"�mark_setrZfind_it�rr�equal�pv�rv�replace�before_text�
after_textr
r
r�test_replace_simple7s\












z%ReplaceDialogTest.test_replace_simplecCs�|j}|j}|jj}|jj}|jj}|jj�d�|�	dd�|�d�|�d�|�||�
d�d�||�
d�d�|�||�
d�d�||�
d�d�|�||�
d�d�|�	dd	�|�d
�|�
dd�}|�|�
dd�}|||�dS)
NFr�1.4r5r6r2�1.5z1.20r/r0rr )rr8rr!rr#r9r'r"r;r:r<r
r
r�test_replace_wrap_around}s.


z*ReplaceDialogTest.test_replace_wrap_aroundcCst|j}|j}|jj}|jj}|jj}|jj�d�|�d�|�d�|�||�	dd�d�||�	dd�d�dS)	NTr0r1rrD�ThisrEz1.10)
rr8rr!rr#r9r$r"r:)rrr=r>r?r@r
r
r�test_replace_whole_word�s

z)ReplaceDialogTest.test_replace_whole_wordcCs�|j}|j}|jj}|jj}|jj}|jj�d�|j�	dd�}|�d�|�d�|�|j�	dd�}|||�|�d�|�||�	dd�d�dS)NTrr �this�thatrGrD)
r8rrr!rr#r9r%r"r:�rr=rr>r?r@rArBr
r
r�test_replace_match_case�s



z)ReplaceDialogTest.test_replace_match_casecCsJ|j}|j}|jj}|jj}|jj}|jj�d�|�	dd�}|�d�|�d�|�|�	dd�}|||�|�
dd�|�||�	dd	�d
�|�d�|�|�dtj
�|�d
tj�|�d�|�|�dtj
�|�dtj�dt_
dt_|�d�|�d�|�|�dtj
�|�dtj�|j�d�||�	�d�dS)NTrr r4r1rz
line42�2.0z2.8Zlinhellor�error�Emptyz[\d�Patternz[a]ztest\zInvalid Replace Expression�?z\?)r8rrr!rr#r9r&r"r:r�assertInr)r*r+ZsetcookedpatrKr
r
r�test_replace_regex�s@






z$ReplaceDialogTest.test_replace_regexcCs�|j}|j}|jj}|jj}|jj}|jj�d�|�	dd�|�d�|�d�|�||�
dd�d�||�
dd	�d�|�||�
d
d�d�|�||�
dd
�d�dS)NTrz
is as r0�wasr2rDrMz2.3rEr/)r8rrr!rr#r9r(r"rr:)rr=rr>r?r@r
r
r�test_replace_backwards�s 

z(ReplaceDialogTest.test_replace_backwardscCs�|j}|jj}|jj}|jj}|�dd�|�d|�dd�d�|�d�|�d�|�|�	d|�dd��|jj
�d�|�d	�|�|�d
tj
�|�dtj�|�d�|�d
�|�|jj
�d�|�d�|�d�|�dS)Nr�
rr �dr0rTTrrNrOz[s][T]�\Fztext which is not presentr7)rrr!rr#�replace_allrr:r"ZassertNotInr&rRr)r*r+)rrr>r?rYr
r
r�test_replace_all�s,






z"ReplaceDialogTest.test_replace_allcCsr|j}|jj}|jj}|jj}|j}|�d�|�d�|�||�dd�d�|jj	�d�|�d�|�dS)NrGrTz	sel.firstzsel.lastTr)
rrr!rr#Zdefault_commandr8r"r:r&)rrr>r?Zreplace_findr=r
r
r�test_default_commands


z&ReplaceDialogTest.test_default_commandN)�__name__�
__module__�__qualname__�classmethodrrrr-rCrFrHrLrSrUrZr[r
r
r
rrs


F)r�__main__�)�	verbosity)�__doc__Zidlelib.replacerZunittestZtest.supportr�tkinterrrZ
unittest.mockrZidlelib.idle_test.mock_tkrZidlelib.searchengineZsearchenginerrrr)ZTestCaserr\�mainr
r
r
r�<module>s