o
    }¨ÊhC  ã                   @   s$  d dl Z d dlZd dlZddlmZ ddlmZmZ ddlmZ d dl	m
Z
 G dd„ dƒZG d	d
„ d
eejƒZG dd„ deejejƒZe e jdk d¡G dd„ dejƒƒZG dd„ dejƒZG dd„ dejejƒZG dd„ dejejƒZe e jdk d¡G dd„ dejƒƒZedkr�e ¡  dS dS )é    Né   )Údata01)Ú	zipdata01Ú	zipdata02)Úutil)Úimport_modulec                   @   ó,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚResourceTestsc                 C   ó   |   t | jd¡¡ d S )Núbinary.file)Ú
assertTrueÚ	resourcesÚis_resourceÚdata©Úself© r   úY/var/www/html/env/lib/python3.10/site-packages/importlib_resources/tests/test_resource.pyÚtest_is_resource_good_path   ó   z(ResourceTests.test_is_resource_good_pathc                 C   r
   )Nz
not-a-file©ÚassertFalser   r   r   r   r   r   r   Útest_is_resource_missing   r   z&ResourceTests.test_is_resource_missingc                 C   r
   )NÚsubdirectoryr   r   r   r   r   Ú&test_is_resource_subresource_directory   s   z4ResourceTests.test_is_resource_subresource_directoryc                 C   sB   t t | j¡ƒ}| d¡ | d¡ | d¡ |  |h d£¡ d S )NÚ__pycache__z__init__.pycz__init__.pyo>   ú
utf-8.fileúutf-16.filer   ú__init__.pyr   )Úsetr   Úcontentsr   ÚdiscardÚassertEqual©r   r    r   r   r   Útest_contents   s
   


zResourceTests.test_contentsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r$   r   r   r   r   r	      s
    r	   c                   @   ó   e Zd Zdd„ ZdS )ÚResourceDiskTestsc                 C   s
   t | _d S )N)r   r   r   r   r   r   ÚsetUp,   s   
zResourceDiskTests.setUpN)r%   r&   r'   r*   r   r   r   r   r)   +   ó    r)   c                   @   s   e Zd ZdS )ÚResourceZipTestsN)r%   r&   r'   r   r   r   r   r,   0   s    r,   ©é   zNo ResourceReader in Python 2c                   @   r   )
ÚResourceLoaderTestsc                 C   s4   t jttjg d¢d�}|  tt |¡ƒh d£¡ d S )N©ÚAÚBÚC©ÚfileÚpathr    >   r1   r2   r3   )r   Úcreate_packager   Ú__file__r"   r   r   r    ©r   Úpackager   r   r   Útest_resource_contents6   s   ÿþz*ResourceLoaderTests.test_resource_contentsc                 C   ó,   t jttjg d¢d�}|  t |d¡¡ d S )N©r1   r2   r3   zD/EzD/Fr4   r2   )r   r7   r   r8   r   r   r   r9   r   r   r   Útest_resource_is_resource=   ó
   þz-ResourceLoaderTests.test_resource_is_resourcec                 C   r<   )Nr=   r4   ÚD©r   r7   r   r8   r   r   r   r9   r   r   r   Ú'test_resource_directory_is_not_resourceC   r?   z;ResourceLoaderTests.test_resource_directory_is_not_resourcec                 C   r<   )Nr=   r4   ÚZrA   r9   r   r   r   Ú%test_resource_missing_is_not_resourceI   r?   z9ResourceLoaderTests.test_resource_missing_is_not_resourceN)r%   r&   r'   r;   r>   rB   rD   r   r   r   r   r/   4   s
    r/   c                   @   r(   )ÚResourceCornerCaseTestsc                 C   sX   t jttjg d¢d�}tƒ |_d|_tjdkr!|j|j_	|j|j_
|  t |d¡¡ d S )Nr0   r4   z/path/which/shall/not/be/namedr-   r1   )r   r7   r   r8   ÚobjectÚ
__loader__ÚsysÚversion_infoÚ__spec__ÚloaderÚoriginr   r   r   )r   Úmoduler   r   r   Ú#test_package_has_no_reader_fallbackQ   s   ÿ


z;ResourceCornerCaseTests.test_package_has_no_reader_fallbackN)r%   r&   r'   rN   r   r   r   r   rE   P   r+   rE   c                   @   s0   e Zd ZeZdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚResourceFromZipsTest01c                 C   s   t dƒ}|  t |d¡¡ d S ©Núziptestdata.subdirectoryr   )r   r   r   r   ©r   Ú	submoduler   r   r   Útest_is_submodule_resourcee   s   
ÿz1ResourceFromZipsTest01.test_is_submodule_resourcec                 C   s   |   t dd¡¡ d S rP   )r   r   r   r   r   r   r   Ú$test_read_submodule_resource_by_namej   s   
ÿz;ResourceFromZipsTest01.test_read_submodule_resource_by_namec                 C   s&   t dƒ}|  tt |¡ƒddh¡ d S ©NrQ   r   r   )r   r"   r   r   r    rR   r   r   r   Útest_submodule_contentsn   s
   þz.ResourceFromZipsTest01.test_submodule_contentsc                 C   s   |   tt d¡ƒddh¡ d S rV   ©r"   r   r   r    r   r   r   r   Útest_submodule_contents_by_namet   s   þz6ResourceFromZipsTest01.test_submodule_contents_by_nameN)	r%   r&   r'   r   Ú
ZIP_MODULErT   rU   rW   rY   r   r   r   r   rO   b   s    rO   c                   @   s   e Zd ZeZdd„ ZdS )ÚResourceFromZipsTest02c                 C   s8   |   tt d¡ƒddh¡ |   tt d¡ƒddh¡ d S )Nzziptestdata.oner   úresource1.txtzziptestdata.twozresource2.txtrX   r   r   r   r   Útest_unrelated_contents}   s   þþz.ResourceFromZipsTest02.test_unrelated_contentsN)r%   r&   r'   r   rZ   r]   r   r   r   r   r[   z   s    r[   z!No namespace packages in Python 2c                   @   r(   )ÚNamespaceTestc                 C   sv   t  d¡}|  t|ƒ¡ |  t  dd¡¡ |  tt jdd¡ |  tt jdd¡ |  tt j	dd¡ |  tt j
dd¡ d S )Nz*importlib_resources.tests.data03.namespacer\   )r   r    r   Úlistr   ÚassertRaisesÚFileNotFoundErrorÚ	open_textÚopen_binaryÚ	read_textÚread_binaryr#   r   r   r   Ú%test_namespaces_cannot_have_resources�   s8   ÿþýýýýz3NamespaceTest.test_namespaces_cannot_have_resourcesN)r%   r&   r'   rf   r   r   r   r   r^   ‹   s    r^   Ú__main__)rH   ÚunittestÚimportlib_resourcesr   Ú r   r   r   r   Ú	importlibr   r	   ÚTestCaser)   ÚZipSetupr,   ÚskipIfrI   r/   rE   ÚZipSetupBaserO   r[   r^   r%   Úmainr   r   r   r   Ú<module>   s(     ÿ