B
    {[  ã               @   s   d dl Z G dd„ de jƒZdS )é    Nc               @   sv   e Zd Zdd„ Zddd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚInstalledTestsc             C   s   ddl m} |S )Nr   )Ú	Installed)Zpkginfo.installedr   )Úselfr   © r   ú;lib/python3.7/site-packages/pkginfo/tests/test_installed.pyÚ_getTargetClass   s    zInstalledTests._getTargetClassNc             C   s"   |d k	r|   ¡ ||ƒS |   ¡ |ƒS )N)r   )r   ÚfilenameÚmetadata_versionr   r   r   Ú_makeOne	   s    zInstalledTests._makeOnec          	   C   s`   dd l }dd l}|jdd: |  |¡}|  |j|¡ |  |jd¡ |  |jd ¡ W d Q R X d S )Nr   T)ÚrecordÚsys)r   ÚwarningsÚcatch_warningsr
   ÚassertEqualÚpackageÚpackage_namer	   )r   r   r   Ú	installedr   r   r   Útest_ctor_w_package_no___file__   s    
z.InstalledTests.test_ctor_w_package_no___file__c             C   sh   dd l }ddlm} ddlm} |ƒ }|  |¡}|  |j|¡ |  |jd¡ |  |j|¡ || |ƒ d S )Nr   )Ú_checkSample)Ú_defaultMetadataVersionÚpkginfo)	r   Úpkginfo.testsr   r   r
   r   r   r   r	   )r   r   r   r   ÚEXPECTEDr   r   r   r   Útest_ctor_w_package   s    
z"InstalledTests.test_ctor_w_packagec          	   C   sŠ   dd l }dd l}dd l}|jdd\ |  |¡}|  |j|¡ |  |jd¡ |jd d… dkrn|  |j	d ¡ n|  |j	d¡ W d Q R X d S )Nr   T)r   Úwsgirefé   )é   r   z1.0)
r   r   r   r   r
   r   r   r   Úversion_infor	   )r   r   r   r   r   r   r   r   Ú1test_ctor_w_no___package___falls_back_to___name__"   s    
z@InstalledTests.test_ctor_w_no___package___falls_back_to___name__c          	   C   sŠ   dd l }dd l}dd l}|jdd\ |  |¡}|  |j|¡ |  |jd¡ |jd d… dkrn|  |j	d¡ n|  |j	d ¡ W d Q R X d S )Nr   T)r   Útypesr   )r   r   z2.1)
r   r   r   r   r
   r   r   r   r   r	   )r   r   r   r   r   r   r   r   Útest_ctor_w_package_no_PKG_INFO/   s    
z.InstalledTests.test_ctor_w_package_no_PKG_INFOc             C   sN   dd l }ddlm} | j|dd}|  |jd¡ |  |jjd¡ || |ƒ d S )Nr   )r   z1.2)r	   r   )r   r   r   r
   r   r	   r   Ú__name__)r   r   r   r   r   r   r   Ú(test_ctor_w_package_and_metadata_version<   s    z7InstalledTests.test_ctor_w_package_and_metadata_versionc             C   sh   dd l }ddlm} ddlm} |ƒ }|  d¡}|  |j|¡ |  |j|¡ |  |jd¡ || |ƒ d S )Nr   )r   )r   r   )	r   r   r   r   r
   r   r	   r   r   )r   r   r   r   r   r   r   r   r   Útest_ctor_w_nameD   s    
zInstalledTests.test_ctor_w_namec             C   sZ   dd l }ddlm} | jddd}|  |jd¡ |  |j|¡ |  |jd¡ || |ƒ d S )Nr   )r   r   z1.2)r	   )r   r   r   r
   r   r	   r   r   )r   r   r   r   r   r   r   Ú%test_ctor_w_name_and_metadata_versionO   s    z4InstalledTests.test_ctor_w_name_and_metadata_versionc          	   C   sX   dd l }|jdd: |  d¡}|  |jd ¡ |  |jd¡ |  |jd ¡ W d Q R X d S )Nr   T)r   Znonesuch)r   r   r
   r   r   r   r	   )r   r   r   r   r   r   Útest_ctor_w_invalid_nameX   s    
z'InstalledTests.test_ctor_w_invalid_namec             C   sD   dd l }|  d¡}|  |jd¡ |  |j|jj¡ |  |jd¡ d S )Nr   zpkginfo.tests.funnyz1.0)Zpkginfo.tests.funnyr
   r   r	   r   ZtestsZfunnyr   )r   r   r   r   r   r   Útest_ctor_w_egg_info_as_file`   s
    
z+InstalledTests.test_ctor_w_egg_info_as_filec       	   
   C   s¼   dd l }dd l}|j t¡\}}|j |d¡}|jd d … }zN|j |¡ dd l}|  d¡}|  	|j
d¡ |  	|j|j¡ |  	|jd¡ W d ||jd d …< |j dd ¡ |j dd ¡ X d S )Nr   Úwonkyznamespaced.wonkyz1.0Ú
namespaced)Úosr   ÚpathÚsplitÚ__file__ÚjoinÚappendZnamespaced.wonkyr
   r   r	   r   r'   r   ÚmodulesÚpop)	r   r)   r   ÚwhereÚ_r'   Úoldpathr(   r   r   r   r   Ú,test_namespaced_pkg_installed_via_setuptoolsg   s    
z;InstalledTests.test_namespaced_pkg_installed_via_setuptoolsc       	   
   C   s¼   dd l }dd l}|j t¡\}}|j |d¡}|jd d … }zN|j |¡ dd l}|  d¡}|  	|j
d¡ |  	|j|j¡ |  	|jd¡ W d ||jd d …< |j dd ¡ |j dd ¡ X d S )Nr   Úmankyznamespaced.mankyz1.0r(   )r)   r   r*   r+   r,   r-   r.   Znamespaced.mankyr
   r   r	   r   r5   r   r/   r0   )	r   r)   r   r1   r2   r5   r3   r(   r   r   r   r   Ú%test_namespaced_pkg_installed_via_pthy   s    
z4InstalledTests.test_namespaced_pkg_installed_via_pth)NN)r!   Ú
__module__Ú__qualname__r   r
   r   r   r   r    r"   r#   r$   r%   r&   r4   r6   r   r   r   r   r      s   
		r   )ZunittestZTestCaser   r   r   r   r   Ú<module>   s   