B
    ){[þ  ã               @   s   d dl Z G dd„ de jƒZdS )é    Nc               @   sf   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S )Ú
WheelTestsc             C   s   ddl m} |S )Nr   )ÚWheel)Zpkginfo.wheelr   )Úselfr   © r   ú7lib/python3.7/site-packages/pkginfo/tests/test_wheel.pyÚ_getTargetClass   s    zWheelTests._getTargetClassNc             C   s"   |d k	r|   ¡ ||ƒS |   ¡ |ƒS )N)r   )r   ÚfilenameÚmetadata_versionr   r   r   Ú_makeOne	   s    zWheelTests._makeOnec             C   s<   |   |j|¡ |   |jd¡ |   |jd¡ |   |jd ¡ d S )NZ	mypackagez0.1)ÚassertEqualr   ÚnameÚversionÚkeywords)r   Úwheelr   r   r   r   Ú_checkSample   s    zWheelTests._checkSamplec             C   s,   |   t|jƒddg¡ |   t|jƒg ¡ d S )NzDevelopment Status :: 4 - Betaz#Environment :: Console (Text Based))r   ÚlistZclassifiersZsupported_platforms)r   r   r   r   r   Ú_checkClassifiers   s    zWheelTests._checkClassifiersc             C   s4   dd l }|j t¡\}}d| }|  t| j|¡ d S )Nr   z+%s/../../docs/examples/nonesuch-0.1-any.whl)ÚosÚpathÚsplitÚ__file__ÚassertRaisesÚ
ValueErrorr
   )r   r   ÚdÚ_r   r   r   r   Útest_ctor_w_bogus_filename   s    z%WheelTests.test_ctor_w_bogus_filenamec             C   s4   dd l }|j t¡\}}d| }|  t| j|¡ d S )Nr   z(%s/../../docs/examples/mypackage-0.1.zip)r   r   r   r   r   r   r
   )r   r   r   r   r   r   r   r   Útest_ctor_w_non_wheel!   s    z WheelTests.test_ctor_w_non_wheelc             C   s4   dd l }|j t¡\}}d| }|  t| j|¡ d S )Nr   z-%s/../../docs/examples/nodistinfo-0.1-any.whl)r   r   r   r   r   r   r
   )r   r   r   r   r   r   r   r   Útest_ctor_wo_dist_info'   s    z!WheelTests.test_ctor_wo_dist_infoc             C   sR   dd l }|j t¡\}}d| }|  |¡}|  |jd¡ |  ||¡ |  |¡ d S )Nr   z?%s/../../docs/examples/mypackage-0.1-cp26-none-linux_x86_64.whlz2.0)	r   r   r   r   r
   r   r	   r   r   )r   r   r   r   r   r   r   r   r   Útest_ctor_w_valid_wheel-   s    
z"WheelTests.test_ctor_w_valid_wheelc             C   sR   dd l }|j t¡\}}d| }|  |¡}|  |jd¡ |  ||¡ |  |¡ d S )Nr   z.%s/../../docs/examples/mypackage-0.1.dist-infoz2.0)	r   r   r   r   r
   r   r	   r   r   )r   r   r   r   r   r   r   r   r   Útest_ctor_w_installed_wheel7   s    
z&WheelTests.test_ctor_w_installed_wheelc             C   sV   dd l }|j t¡\}}d| }| j|dd}|  |jd¡ |  ||¡ |  |¡ d S )Nr   z?%s/../../docs/examples/mypackage-0.1-cp26-none-linux_x86_64.whlz1.1)r	   )	r   r   r   r   r
   r   r	   r   r   )r   r   r   r   r   r   r   r   r   Ú,test_ctor_w_valid_wheel_and_metadata_versionA   s    z7WheelTests.test_ctor_w_valid_wheel_and_metadata_versionc          	   C   s°   dd l }dd l}dd l}dd l}|j t¡\}}d| }zZ| ¡ }| |¡}	|	 	|¡ W d Q R X |  
|¡}
|  |
jd¡ |  |
|¡ |  |
¡ W d |j |¡rª| |¡ X d S )Nr   z?%s/../../docs/examples/mypackage-0.1-cp26-none-linux_x86_64.whlz2.0)r   ÚshutilÚtempfileÚzipfiler   r   r   ZmkdtempZZipFileZ
extractallr
   r   r	   r   r   ÚexistsZrmtree)r   r   r!   r"   r#   r   r   r   Ztest_dirZzipfr   r   r   r   Ú!test_ctor_w_valid_installed_wheelK   s"    
z,WheelTests.test_ctor_w_valid_installed_wheel)NN)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r   r   r   r   r    r%   r   r   r   r   r      s   



r   )ZunittestZTestCaser   r   r   r   r   Ú<module>   s   