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_searchengine.cpython-38.pyc
U

�i�_-�@sdZddlmZddlZddlmZmZmZddl	m
Zddlm
Z
mZddlmZddlZdd�Zd	d
�ZGdd�d�ZGd
d�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedk�rejdd�dS)z Test searchengine, coverage 99%.�)�searchengineN)�
BooleanVar�	StringVar�TclError)�Var�Mbox)�TextcCstt_tt_tt_dS�N)r�serrr�tkMessageBox�rr�B/opt/python38/lib/python3.8/idlelib/idle_test/test_searchengine.py�setUpModulesrcCstt_tt_tt_dSr	)rr
rrrrrr
�tearDownModulesrc@seZdZdd�ZdS)�MockcOsdSr	r)�self�args�kwargsrrr
�__init__ �z
Mock.__init__N)�__name__�
__module__�__qualname__rrrrr
rsrc@seZdZdd�ZdS)�GetTestcCs\tj}tt_zBt�}t�|�}|�|tj�|�|j|�|�t�|�|�W5|t_XdSr	)r
�SearchEnginer�getZassertIsInstanceZassertIsZ
_searchengine)rZsaved_Engine�root�enginerrr
�test_get$s
zGetTest.test_getN)rrrrrrrr
r"src@seZdZdd�ZdS)�GetLineColTestcCsH|�t�d�d�|�t�d�d�|�ttjd�|�ttjd�dS)N�1.0)�rz1.11)r!�z1.0 lineend�end)�assertEqualr
Zget_line_colZassertRaises�
ValueError�rrrr
�test_get_line_col2sz GetLineColTest.test_get_line_colN)rrrr'rrrr
r0src@seZdZdd�ZdS)�GetSelectionTestcCsVt�}|�dd�dd�}||_|�t�|�d�dd�}||_|�t�|�d�dS)	Nr zHello World!cSs |dkrdS|dkrdSt�dS)N�	sel.firstr �sel.last�1.12�r��srrr
�selLs
z0GetSelectionTest.test_get_selection.<locals>.sel)r r+cSs|dkrdSt�dS�N�insert�1.5r,r-rrr
�markTsz1GetSelectionTest.test_get_selection.<locals>.mark)r2r2)�mockTextr1�indexr$r
Z
get_selection)r�textr/r3rrr
�test_get_selectionFsz#GetSelectionTest.test_get_selectionN)rrrr7rrrr
r(9s
r(c@seZdZdd�ZdS)�ReverseSearchTestcCs�|j}d}t�d�}|t�||t|����d�|t�||d���d�|t�||d���d�|t�||d���d�|t�||d�d�dS)	NzHere is an 'is' test text.�is)��r;�
)��r>�)r$�re�compiler
Zsearch_reverse�len�span)r�Equal�line�progrrr
�test_search_reverse^s
z%ReverseSearchTest.test_search_reverseN)rrrrGrrrr
r8\sr8c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�SearchEngineTestcCstjdd�|_dS)N)r)r
rrr&rrr
�setUplszSearchEngineTest.setUpcCs�|j}|j}||��d�|�d�||��d�||��d�|j�d�||��d�||��d�|j�d�||��d�||�	�d�|j
�d�||�	�d�||��d�|j�d�||��d�||�
�d�|j�d�||�
�d�dS)N��helloFr!Tr)rr$�getpat�setpatZisre�revar�setZiscase�casevarZisword�wordvarZiswrap�wrapvarZisback�backvar�rrrDrrr
�test_is_getqs(
zSearchEngineTest.test_is_getcCsJ|j}|�d�|�|��d�|j�d�|�d�|�|��d�dS)N�\sr!�\\s)rZsetcookedpatr$rLrNrO)rrrrr
�test_setcookedpat�s

z"SearchEngineTest.test_setcookedpatcCs�|j}|j}||��d�|�d�||��d�|j�d�||��d�|j�d�|�d�||��d�|j�d�||��d�dS)NrJrKTz	\bhello\bFrVrW)rr$ZgetcookedpatrMrQrOrNrTrrr
�test_getcookedpat�s

z"SearchEngineTest.test_getcookedpatcCs�|j}|j}|�d�|��}||jt�dtj�j�|j�	d�|��}||jt�d�jd�|�d�||��d�|�d�|j
�	d�||��d�|�tjj
d�dS)NZHellor!rrJ�+z1Error: nothing to repeat at position 0
Pattern: +)rr$rMZgetprog�patternr@rA�
IGNORECASErPrOrNr�	showerror�message)rrrDZtemppatrrr
�test_getprog�s 



�zSearchEngineTest.test_getprogcCs�tj}|j}d}d}||j�||�d�||jd�d|d}||j|�||j�||d�d�||jd�|d7}||j|�dS)Nz[a-zz$unexpected end of regular expressionzRegular expression errorzError: z
Pattern: [a-zr=z

Offset: 5)rr]r$rZreport_error�titler^)rr]rD�pat�msgZexpected_messagerrr
�test_report_error�sz"SearchEngineTest.test_report_errorN)	rrrrIrUrXrYr_rcrrrr
rHisrHc@s eZdZedd��Zdd�ZdS)�
SearchTestcCsNt�|_d}|j�d|�t�d�|_t�d�|_dd�|j_	dd�|j_
dS)N�&First line
Line with target
Last line
r �targetcWsd|fS)N�fr�rrrr
�<lambda>�rz'SearchTest.setUpClass.<locals>.<lambda>cWsd|fS)N�brrhrrr
ri�r)r4r6r1r@rArar
rr�search_forward�search_backward��clsZ	test_textrrr
�
setUpClass�s�zSearchTest.setUpClassc	Csx|j}|j}|j}|j}|j}|j�d�|||�d�dd�}||_||||�d||ddddff�|j�d�||||�d||ddddff�|j�d�|j	�d�||||�d||ddddff�|j	�d�d	d
�}||_||||�d||ddddff�||||d�d||dd
ddff�|j	�d�||||�d||dd
ddff�||||d�d||ddddff�dS)NcSs|dkrdSt�dSr0r,r-rrr
r3�sz$SearchTest.test_search.<locals>.markrgr!r=TFrjcSs |dkrdS|dkrdSt�dS)Nr)z2.10r*z2.16r,r-rrr
r/�s
z#SearchTest.test_search.<locals>.sel���
)
r$rZsearch_textr6raZpatvarrOr5rRrS)rrDr�searchr6rar3r/rrr
�test_search�s.    " zSearchTest.test_searchN)rrr�classmethodrortrrrr
rd�s
rdc@s0eZdZedd��Zdd�Zdd�Zdd�Zd	S)
�ForwardBackwardTestcCs`t�d�|_t�|_dd�|j_d}|j�d|�t�d�|_	d|_
t�d�|_t�d�|_dS)	NcSsdS)Nz4.0r)r5rrr
rirz0ForwardBackwardTest.setUpClass.<locals>.<lambda>rer rf)rp)rrrqZxyzz\w*)
r
rrr4r6r5r1r@rAra�res�failpat�emptypatrmrrr
ro
s�zForwardBackwardTest.setUpClasscsd��fdd�	}|S)Nrcs0��j|||||�}|r,|d|d��fS|S)Nrr!)r6rC)rarE�col�wrap�okrw��funcrrr
rs!sz/ForwardBackwardTest.make_search.<locals>.search)rr)rr~rsrr}r
�make_search szForwardBackwardTest.make_searchcCs�|j}|�|jj�}|j}|||ddd�|j�|||ddd�|j�|||ddd�d�|||ddd�|j�|||jddd�d�|||jddddd	�d
�|||jddd�|j�dS)Nr!rT�Frprr�	�r|�rp)r�r�)r$rrrkrarwrxry)rrDZforwardrarrr
�test_search_forward'sz'ForwardBackwardTest.test_search_forwardcCs�|j}|�|jj�}|j}|||ddd�|j�|||ddd�|j�|||ddd�d�|||ddd�|j�|||jddd�d�|||jdd	ddd
�d�|||jddd�d�dS)
Nr�r=TrprFrqr�rrr�r�)rp)r=r�)r$rrrlrarwrxry)rrDZbackwardrarrr
�test_search_backward8sz(ForwardBackwardTest.test_search_backwardN)rrrrurorr�r�rrrr
rvs

rv�__main__rp)�	verbosity)�__doc__Zidlelibrr
Zunittest�tkinterrrrZtkinter.messageboxZ
messageboxrZidlelib.idle_test.mock_tkrrrr4r@rrrZTestCaserrr(r8rHrdrvr�mainrrrr
�<module>s&	#
`=C