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

�i�_�@s�dZddlmZddlmZddlZddlmZddlmZddl	m
Z
ddlZddl
Z
ddlmZdd	lmZGd
d�dej�Ze
Zd\ZZe�ed
dged�Ze�edd�Ze�edddg�Ze�edd�Ze�edd�Ze�eded�Z e�e dd�Z!e�e!dd�Z"e�e dd �Z#ee d!�Z$e�%e$d"�e�%ej&�Gd#d$�d$ej�Z'Gd%d&�d&ej�Z(Gd'd(�d(ej�Z)Gd)d*�d*ej�Z*e+d+k�r�ej,d,d-�dS).zTest browser, coverage 90%.�)�browser)�requiresN)�mock)�Func)�deque)�Tk)�TreeNodec@sDeZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
S)�ModuleBrowserTestcCs2td�t�|_|j��tj|jtdd�|_dS)NZguiT)Z_utest)rr�rootZwithdrawrZ
ModuleBrowser�__file__�mb��cls�r�=/opt/python38/lib/python3.8/idlelib/idle_test/test_browser.py�
setUpClasss
zModuleBrowserTest.setUpClasscCs*|j��|j��|j��|`|`dS�N)r�closer
Zupdate_idletasks�destroyr
rrr�
tearDownClasss


zModuleBrowserTest.tearDownClasscCsB|j}|j}||jt�|tji�|�|jt�|�	t
j�dSr)r�assertEqual�pathr�pyclbrZ_modules�assertIsInstance�noderZassertIsNotNonerZ	file_open)�selfr�eqrrr�	test_init!szModuleBrowserTest.test_initcCs6|j}|�tj�t�|j���|�|j�	�d�dS)NzModule Browser)
r�assertIn�osr�basenamer�top�titlerZiconname�rrrrr�
test_settitle)szModuleBrowserTest.test_settitlecCs |j}|��}|�|tj�dSr)r�rootnoderr�ModuleBrowserTreeItem)rrZrnrrr�
test_rootnode.szModuleBrowserTest.test_rootnodecCsR|j}t�|j_t�|j_|��|�|jjj�|�|jjj�|j`|j`dSr)rrr!rrr�
assertTrueZcalledr#rrr�
test_close3s

zModuleBrowserTest.test_closeN)
�__name__�
__module__�__qualname__�classmethodrrrr$r'r)rrrrr	s

r	)�testztest.py�C0�base��F1��C1���C2��F3�	�f0��f1��f2�
�c1�)r/r;r.c@seZdZdd�Zdd�ZdS)�TransformChildrenTestcCs�|j}tj}t|td��}||ttg�||djd�||djd�t|td��}||djd�t|td��}||g�dS)Nr.r�C0(base)r1r;zdifferent name)rr�transform_children�list�mock_pyclbr_treer/r;�name�rrZ	transformZtclrrr�test_transform_module_childrenUsz4TransformChildrenTest.test_transform_module_childrencCs�|j}tj}t|tj��}||ttg�||djd�||djd�t|tj��}||djd�|t|t	j��t
tg�dS)Nrr2r1�C1())rrrErFr/�childrenr2r4rHr;r=rArIrrr�test_transform_node_childrendsz2TransformChildrenTest.test_transform_node_childrenN)r*r+r,rJrMrrrrrCSsrCc@sZeZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
e�d�dd��Z
dS)�ModuleBrowserTreeItemTestcCst�t�|_dSr)rr&�fname�mbtr
rrrrtsz$ModuleBrowserTreeItemTest.setUpClasscCs|�|jjt�dSr)rrP�filerO�rrrrrxsz#ModuleBrowserTreeItemTest.test_initcCs|�|j��t�dSr)rrP�GetTextrOrRrrr�test_gettext{sz&ModuleBrowserTreeItemTest.test_gettextcCs|�|j��d�dS)N�python)rrP�GetIconNamerRrrr�test_geticonname~sz*ModuleBrowserTreeItemTest.test_geticonnamecCs|�|j���dSr)r(rP�IsExpandablerRrrr�test_isexpandable�sz+ModuleBrowserTreeItemTest.test_isexpandablecCs\tjj}tj}ttd�tj_tttgd�t_z|�|j	�
�ttg�W5|tj_|t_XdS)N��result)rrZ
readmodule_exrErrGr;r/rrP�listchildren)rZsave_rexZsave_tcrrr�test_listchildren�sz+ModuleBrowserTreeItemTest.test_listchildrencCsb|j}tttgd�|_|��\}}|`|�|tj�|�|tj�|�	|j
d�|�	|j
d�dS)NrZr;rD)rPrr;r/r\�
GetSubListrr�ChildBrowserTreeItemrrH)rrPZsub0Zsub1rrr�test_getsublist�sz)ModuleBrowserTreeItemTest.test_getsublist�idlelib.browser.file_openc	Csh|j}tjddd��|��|��W5QRXtjddd�� |��|��|�t�W5QRXdS)Nzos.path.existsF)�return_valueT)rPr�patch�
OnDoubleClickZassert_not_called�
assert_calledZcalled_withrO)r�fopenrPrrr�test_ondoubleclick�sz,ModuleBrowserTreeItemTest.test_ondoubleclickN)r*r+r,r-rrrTrWrYr]r`rrcrgrrrrrNrs

rNc@s^eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
e�d�dd��Z
dS)�ChildBrowserTreeItemTestcCs(tj}|t�|_|t�|_|t�|_dSr)rr_r=�cbt_f1r4�cbt_C1r2�cbt_F1)r�CBTrrrr�s

z#ChildBrowserTreeItemTest.setUpClasscCs|`|`|`dSr)rjrirkr
rrrr�sz&ChildBrowserTreeItemTest.tearDownClasscCsB|j}||jjd�|�|jj�||jjd�|�|jj�dS)NrKr=)rrjrH�assertFalseZ
isfunctionrir()rrrrrr�s
z"ChildBrowserTreeItemTest.test_initcCs(|�|j��d�|�|j��d�dS)Nz
class C1()zdef f1(...))rrjrSrirRrrrrT�sz%ChildBrowserTreeItemTest.test_gettextcCs(|�|j��d�|�|j��d�dS)N�folderrU)rrjrVrirRrrrrW�sz)ChildBrowserTreeItemTest.test_geticonnamecCs4|�|j���|�|j���|�|j���dSr)r(rjrXrirmrkrRrrrrY�sz*ChildBrowserTreeItemTest.test_isexpandablecCsX|j}tj}|j��}|�|d|�|t|�d�||djd�||j��g�dS)Nrr1r?)	rrr_rir^r�lenrHrk)rrrlZ	f1sublistrrrr`�s
z(ChildBrowserTreeItemTest.test_getsublistracCs>t��}|j_|j��|��|��|�|jjj	�dSr)
rZMockrbZgotolinerkrdreZassert_called_with�obj�lineno)rrfZgotorrrrg�s

z+ChildBrowserTreeItemTest.test_ondoubleclickN)r*r+r,r-rrrrTrWrYr`rrcrgrrrrrh�s

rhc@seZdZdZdd�ZdS)�NestedChildrenTestzFTest that all the nodes in a nested tree are added to the BrowserTree.c	Cs�t�}g}ddddddddd	g	}tj}|�|t�|t�f�|r�|��}|��}|�|�|�|j	|�
��|�|��d
�|�|�
�|gk�|�|j	�q<|�||�dS)Nr;rDr=rAr2rKr?r7r9)rUrn)rrr_�extendr;r/�popleftr^rrHrSrVZassertIsrX�appendr)r�queueZactual_namesZexpected_namesrl�cbZsublistrrr�test_nested�s,�
zNestedChildrenTest.test_nestedN)r*r+r,�__doc__rxrrrrrr�srr�__main__�)�	verbosity)-ryZidlelibrZtest.supportrZunittestrZidlelib.idle_test.mock_idler�collectionsrZos.pathrr�tkinterrZidlelib.treerZTestCaser	r�modulerOZClassr/Z_nest_functionr2Z_nest_classr4r7r9ZFunctionr;r=r?rArGrErLrCrNrhrrr*�mainrrrr�<module>s>-
56