a
    ªðaƒ  ã                   @   s   d dl Z G dd„ de jƒZdS )é    Nc                   @   sn   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S )Ú
WheelTestsc                 C   s   ddl m} |S )Nr   )ÚWheel)Zpkginfo.wheelr   )Úselfr   © r   ú7lib/python3.9/site-packages/pkginfo/tests/test_wheel.pyÚ_getTargetClass   s    zWheelTests._getTargetClassNc                 C   s"   |d u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__Z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.zipr   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.whlr   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   ú?%s/../../docs/examples/mypackage-0.1-cp26-none-linux_x86_64.whlú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-infor!   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   r    ú1.1©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   sL   dd l }|j t¡\}}d| }| j|dd}|  |jd¡ |  |j¡ d S )Nr   z9%s/../../docs/examples/distlib-0.3.1-py2.py3-none-any.whlr&   r'   )	r   r   r   r   r
   r   r	   Z
assertTrueÚdescriptionr#   r   r   r   Ú,test_ctor_w_valid_wheel_w_description_headerK   s    ÿz7WheelTests.test_ctor_w_valid_wheel_w_description_headerc              	   C   sÚ   dd l }dd l}dd l}dd l}|j t¡\}}d| }z„| ¡ }| |¡}	|	 	|¡ W d   ƒ n1 sl0    Y  |  
|¡}
|  |
jd¡ |  |
|¡ |  |
¡ W |j |¡rÖ| |¡ n|j |¡rÔ| |¡ 0 d S r   )r   ÚshutilÚtempfileÚzipfiler   r   r   ZmkdtempÚZipFileÚ
extractallr
   r   r	   r   r   ÚexistsÚrmtree)r   r   r+   r,   r-   r   r   r   Ztest_dirZzipfr   r   r   r   Ú!test_ctor_w_valid_installed_wheelT   s(    ÿ(
ÿz,WheelTests.test_ctor_w_valid_installed_wheel)NN)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r   r   r$   r%   r(   r*   r2   r   r   r   r   r      s   



	r   )ZunittestZTestCaser   r   r   r   r   Ú<module>   s   