HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/idle_test/__pycache__/test_browser.cpython-310.pyc
o

�i� �@s�dZddlmZddlmZddlZddlmZddlmZddl	m
Z
ddlmZddl
ZddlZdd	lmZdd
lmZGdd�dej�ZeZd
\ZZejeddgeddd�Ze�eddd�Ze�eddddg�Ze�eddd�Ze�eddd�Z ej!ededdd�Z"e�e"dd d!�Z#e�e#d"d#d#�Z$e�e"d$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/kr�ej.d0d1�dSdS)2zTest browser, coverage 90%.�)�browser)�requiresN)�mock)�Func)�
py_extensions)�deque)�Tk)�TreeNodec@sLeZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�ModuleBrowserTestcCs2td�t�|_|j��tj|jtdd�|_dS)NZguiT)Z_utest)rr�rootZwithdrawrZ
ModuleBrowser�__file__�mb��cls�r�;/usr/local/lib/python3.10/idlelib/idle_test/test_browser.py�
setUpClasss
zModuleBrowserTest.setUpClasscCs*|j��|j��|j��|`|`dS�N)r
�closerZupdate_idletasks�destroyrrrr�
tearDownClasss


zModuleBrowserTest.tearDownClasscCsB|j}|j}||jt�|tji�|�|jt�|�	t
j�dSr)r
�assertEqual�pathr�pyclbrZ_modules�assertIsInstance�noder	ZassertIsNotNonerZ	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_close4s

zModuleBrowserTest.test_closec	Csjd}tD].}|j|d��|�|��}t�|�}|tjv}|�||�Wd�n1s-wYqdS)Nz
/path/to/file)�ext)rZsubTestrZis_browseable_extensionZbrowseable_extension_blocklistr)rrr+�filename�actualZexpectedrrr�test_is_browseable_extension=s

���z.ModuleBrowserTest.test_is_browseable_extensionN)�__name__�
__module__�__qualname__�classmethodrrrr%r(r*r.rrrrr
s

	r
)�testztest.py�C0�base��	)�
end_lineno�F1���C1���C2��F3�f0���f1���f2�
�c1)r4rBr3c@seZdZdd�Zdd�ZdS)�TransformChildrenTestcCs�|j}tj}t|td��}||ttg�||djd�||djd�t|td��}||djd�t|td��}||g�dS)Nr3r�C0(base)r6rBzdifferent name)rr�transform_children�list�mock_pyclbr_treer4rB�name�rrZ	transformZtclrrr�test_transform_module_children_sz4TransformChildrenTest.test_transform_module_childrencCs�|j}tj}t|tj��}||ttg�||djd�||djd�t|tj��}||djd�|t|t	j��t
tg�dS)Nrr9r6�C1())rrrMrNr4�childrenr9r<rPrBrErJrQrrr�test_transform_node_childrennsz2TransformChildrenTest.test_transform_node_childrenN)r/r0r1rRrUrrrrrK]srKc@sZeZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
e�d�dd��Z
dS)�ModuleBrowserTreeItemTestcCst�t�|_dSr)rr'�fname�mbtrrrrr~�z$ModuleBrowserTreeItemTest.setUpClasscCs|�|jjt�dSr)rrX�filerW�rrrrr��z#ModuleBrowserTreeItemTest.test_initcCs|�|j��t�dSr)rrX�GetTextrWr[rrr�test_gettext��z&ModuleBrowserTreeItemTest.test_gettextcCs|�|j��d�dS)N�python)rrX�GetIconNamer[rrr�test_geticonname�r_z*ModuleBrowserTreeItemTest.test_geticonnamecCs|�|j���dSr)r)rX�IsExpandabler[rrr�test_isexpandable�r\z+ModuleBrowserTreeItemTest.test_isexpandablecCshtjj}tj}ttd�tj_tttgd�t_z|�|j	�
�ttg�W|tj_|t_dS|tj_|t_w)N��result)rrZ
readmodule_exrMrrOrBr4rrX�listchildren)rZsave_rexZsave_tcrrr�test_listchildren�s
�z+ModuleBrowserTreeItemTest.test_listchildrencCsb|j}tttgd�|_|��\}}|`|�|tj�|�|tj�|�	|j
d�|�	|j
d�dS)NrerBrL)rXrrBr4rg�
GetSubListrr�ChildBrowserTreeItemrrP)rrXZsub0Zsub1rrr�test_getsublist�sz)ModuleBrowserTreeItemTest.test_getsublist�idlelib.browser.file_opencCs�|j}tjddd��|��|��Wd�n1swYtjddd��|��|�t�Wd�dS1s>wYdS)Nzos.path.existsF)�return_valueT)rXr�patch�
OnDoubleClickZassert_not_calledZassert_called_once_withrW)r�fopenrXrrr�test_ondoubleclick�s
�"�z,ModuleBrowserTreeItemTest.test_ondoubleclickN)r/r0r1r2rrr^rbrdrhrkrrnrqrrrrrV|s

rVc@s^eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
e�d�dd��Z
dS)�ChildBrowserTreeItemTestcCs(tj}|t�|_|t�|_|t�|_dSr)rrjrE�cbt_f1r<�cbt_C1r9�cbt_F1)r�CBTrrrr�s

z#ChildBrowserTreeItemTest.setUpClasscCs|`|`|`dSr)rtrsrurrrrr�rYz&ChildBrowserTreeItemTest.tearDownClasscCsB|j}||jjd�|�|jj�||jjd�|�|jj�dS)NrSrE)rrtrP�assertFalseZ
isfunctionrsr))rrrrrr�s
z"ChildBrowserTreeItemTest.test_initcC�(|�|j��d�|�|j��d�dS)Nz
class C1()zdef f1(...))rrtr]rsr[rrrr^��z%ChildBrowserTreeItemTest.test_gettextcCrx)N�folderr`)rrtrarsr[rrrrb�ryz)ChildBrowserTreeItemTest.test_geticonnamecCs4|�|j���|�|j���|�|j���dSr)r)rtrcrsrwrur[rrrrd�sz*ChildBrowserTreeItemTest.test_isexpandablecCsX|j}tj}|j��}|�|d|�|t|�d�||djd�||j��g�dS)Nrr6rH)	rrrjrsrir�lenrPru)rrrvZ	f1sublistrrrrk�s
z(ChildBrowserTreeItemTest.test_getsublistrlcCs>t��}|j_|j��|��|��|�|jjj	�dSr)
rZMockrmZgotolineruroZ
assert_calledZassert_called_with�obj�lineno)rrpZgotorrrrq�s

z+ChildBrowserTreeItemTest.test_ondoubleclickN)r/r0r1r2rrrr^rbrdrkrrnrqrrrrrr�s

rrc@seZdZdZdd�ZdS)�NestedChildrenTestzFTest that all the nodes in a nested tree are added to the BrowserTree.cCs�t�}g}gd�}tj}|�|t�|t�f�|rI|��}|��}|�|�|�|j	|�
��|�|��d�|�|�
�|gk�|�|j	�|s|�||�dS)N)	rBrLrErJr9rSrHr?rA)r`rz)rrrj�extendrBr4�popleftrirrPr]raZassertIsrc�appendr)r�queueZactual_namesZexpected_namesrv�cbZsublistrrr�test_nested�s
�zNestedChildrenTest.test_nestedN)r/r0r1�__doc__r�rrrrr~�sr~�__main__�)�	verbosity)/r�ZidlelibrZtest.supportrZunittestrZidlelib.idle_test.mock_idlerZidlelib.utilr�collectionsrZos.pathr r�tkinterrZidlelib.treer	ZTestCaser
r
�modulerWZClassr4Z_nest_functionr9Z_nest_classr<r?rAZFunctionrBrErHrJrOrMrTrKrVrrr~r/�mainrrrr�<module>sD6
46�