a
    åzev	  ã                   @   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rÀejddd 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   ú8/usr/lib/python3.9/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                   @   s   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%   r4   r   r   r   r   r'   >   s   r'   c                   @   s   e Zd Zdd„ ZdS )Ú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   r5   K   s   r5   Ú__main__é   F)Ú	verbosityÚexit)Ú__doc__r0   r   ZunittestZtest.supportr   Útkinterr   Zos.pathr,   r   r7   Zidlelib.idle_test.mock_idler   r   Zidlelib.treer   ZTestCaser   r'   r5   r#   Úmainr   r   r   r   Ú<module>   s    ,
