o
    JAfv	  ã                   @   sÈ   d Z ddlmZ ddlZddlmZ ddlmZ ddlZ	ddl
Z
ddlZddlmZ ddlZddlmZ ddlmZ G d	d
„ d
ejƒZG dd„ dejƒZG dd„ dejƒZedkrbejddd dS dS )zTest pathbrowser, coverage 95%.é    )ÚpathbrowserN)Úrequires)ÚTk)ÚFunc)Úbrowser)ÚTreeNodec                   @   sD   e Zd Zedd„ ƒZedd„ ƒZdd„ Zdd„ Zd	d
„ Zdd„ Z	dS )ÚPathBrowserTestc                 C   s0   t dƒ tƒ | _| j ¡  tj| jdd| _d S )NZguiT)Z_utest)r   r   ÚrootZwithdrawr   ZPathBrowserÚpb©Úcls© r   ú9/usr/lib/python3.10/idlelib/idle_test/test_pathbrowser.pyÚ
setUpClass   s   
zPathBrowserTest.setUpClassc                 C   s*   | j  ¡  | j ¡  | j ¡  | `| ` d S ©N)r
   Úcloser	   Zupdate_idletasksÚdestroyr   r   r   r   ÚtearDownClass   s   


zPathBrowserTest.tearDownClassc                 C   sD   | j }| j}||j| jƒ |tji ƒ |  |jt¡ |  	t
j¡ d S r   )r
   ÚassertEqualZmasterr	   ÚpyclbrZ_modulesÚassertIsInstanceÚnoder   ZassertIsNotNoner   Z	file_open)Úselfr
   Úeqr   r   r   Ú	test_init"   s   zPathBrowserTest.test_initc                 C   s.   | j }|  |j ¡ d¡ |  |j ¡ d¡ d S )NzPath Browser)r
   r   ÚtopÚtitleZiconname©r   r
   r   r   r   Útest_settitle*   s   zPathBrowserTest.test_settitlec                 C   s    | j }| ¡ }|  |tj¡ d S r   )r
   Úrootnoder   r   ÚPathBrowserTreeItem)r   r
   Zrnr   r   r   Útest_rootnode/   s   zPathBrowserTest.test_rootnodec                 C   sR   | j }tƒ |j_tƒ |j_| ¡  |  |jjj¡ |  |jjj¡ |j`|j`d S r   )r
   r   r   r   r   r   Z
assertTrueZcalledr   r   r   r   Ú
test_close4   s   

zPathBrowserTest.test_closeN)
Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r   r!   r"   r   r   r   r   r      s    

r   c                   @   ó   e Zd Zdd„ ZdS )ÚDirBrowserTreeItemTestc                 C   sh   t  d¡}| ¡  |  d| ¡ ¡ tj tj t	j
¡¡d }|  | |¡d¡ |  | |d ¡d¡ d S )NÚ r   Tz/IconsF)r   ÚDirBrowserTreeItemÚ
GetSubListr   ÚGetTextÚosÚpathÚsplitÚabspathÚidlelibÚ__file__Zispackagedir)r   ÚdÚdirr   r   r   Útest_DirBrowserTreeItem@   s   
z.DirBrowserTreeItemTest.test_DirBrowserTreeItemN)r#   r$   r%   r5   r   r   r   r   r(   >   ó    r(   c                   @   r'   )ÚPathBrowserTreeItemTestc                 C   sP   t  ¡ }|  | ¡ d¡ | ¡ }|  t|ƒttjƒ¡ |  t|d ƒt j	¡ d S )Nzsys.pathr   )
r   r    r   r,   r+   ÚlenÚsysr.   Útyper*   )r   ÚpÚsubr   r   r   Útest_PathBrowserTreeItemM   s
   z0PathBrowserTreeItemTest.test_PathBrowserTreeItemN)r#   r$   r%   r=   r   r   r   r   r7   K   r6   r7   Ú__main__é   F)Ú	verbosityÚexit)Ú__doc__r1   r   ZunittestZtest.supportr   Útkinterr   Zos.pathr-   r   r9   Zidlelib.idle_test.mock_idler   r   Zidlelib.treer   ZTestCaser   r(   r7   r#   Úmainr   r   r   r   Ú<module>   s$    ,
ÿ