a
    3j	                     @   s   d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ e G dd dejZe G dd	 d	eZdS )
    N)	ExitStack)distributionentry_pointsfilesPackageNotFoundErrorversiondistributions)	resources)requires_zlibc                   @   sX   e Zd Z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 )TestZipztest.test_importlib.datac                 C   sb   t | j|}| j t |}|jds:J |jtj	
dt| | j tj	jd d S )Nzexample-r   )r	   r   rootjoinpathenter_contextZas_filename
startswithsyspathinsertstrcallbackpop)selffilenameZpkg_filefile r   X/www/server/python_manager/versions/3.9.10/lib/python3.9/test/test_importlib/test_zip.py_fixture_on_path   s
    zTestZip._fixture_on_pathc                 C   s$   t  | _| | jj | d d S )Nzexample-21.12-py3-none-any.whlr   r	   Z
addCleanupcloser   r   r   r   r   setUp   s    zTestZip.setUpc                 C   s   |  tdd d S )Nexample21.12assertEqualr   r   r   r   r   test_zip_version    s    zTestZip.test_zip_versionc                 C   s6   |  t td W d    n1 s(0    Y  d S )Nzdefinitely-not-installed)ZassertRaisesr   r   r   r   r   r   test_zip_version_does_not_match#   s    z'TestZip.test_zip_version_does_not_matchc                 C   s>   t t d }|d }| |jd |d }| |jd d S )NZconsole_scriptsr!   zexample:mainExample)dictr   r$   value)r   ZscriptsZentry_pointr   r   r   test_zip_entry_points'   s
    zTestZip.test_zip_entry_pointsc                 C   s   |  tdd d S )Nr!   zdoes not exist)ZassertIsNoner   	read_textr   r   r   r   test_missing_metadata.   s    zTestZip.test_missing_metadatac                 C   s   |  tdd d S )Nr'   r"   r#   r   r   r   r   test_case_insensitive1   s    zTestZip.test_case_insensitivec                 C   s2   t dD ]$}t|j|}d|v sJ |qd S )Nr!   z.whl/r   r   distZlocate_filer   r   r   r   r   r   
test_files4   s    zTestZip.test_filesc                 C   s,   t ttjd d d}t|dks(J d S )N   )r   )listr   r   r   len)r   Zdistsr   r   r   test_one_distribution9   s    zTestZip.test_one_distributionN)__name__
__module____qualname__r   r   r    r%   r&   r*   r,   r-   r1   r5   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd Zdd ZdS )TestEggc                 C   s$   t  | _| | jj | d d S )Nzexample-21.12-py3.6.eggr   r   r   r   r   r    @   s    zTestEgg.setUpc                 C   s2   t dD ]$}t|j|}d|v sJ |qd S )Nr!   z.egg/r.   r0   r   r   r   r1   G   s    zTestEgg.test_filesN)r6   r7   r8   r    r1   r   r   r   r   r9   >   s   r9   )r   Zunittest
contextlibr   importlib.metadatar   r   r   r   r   r   	importlibr	   Ztest.supportr
   ZTestCaser   r9   r   r   r   r   <module>   s    /