U
    ?h                     @   s   d dl Z 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ZG dd de jZdS )    N   )abc)TraversableResourcesResourceReader   )util)	os_helperc                   @   s&   e Zd ZdZedddZdd ZdS )SimpleLoaderzA
    A simple loader that only implements a resource reader.
    readerc                 C   s
   || _ d S Nr
   )selfr    r   W/var/www/html/venv/lib/python3.8/site-packages/importlib_resources/tests/test_custom.py__init__   s    zSimpleLoader.__init__c                 C   s   | j S r   r
   )r   packager   r   r   get_resource_reader   s    z SimpleLoader.get_resource_readerN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r	      s   r	   c                   @   s(   e Zd ZdZejdddZdd ZdS )MagicResourcesz2
    Magically returns the resources at path.
    pathc                 C   s
   || _ d S r   r   )r   r   r   r   r   r      s    zMagicResources.__init__c                 C   s   | j S r   r   r   r   r   r   files    s    zMagicResources.filesN)r   r   r   r   pathlibPathr   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd Zdd ZdS )CustomTraversableResourcesTestsc                 C   s   t  | _| | jj d S r   )
contextlib	ExitStackfixturesZ
addCleanupcloser   r   r   r   setUp%   s    
z%CustomTraversableResourcesTests.setUpc                 C   s^   t | jt }tt|}t	|}t
|}t|tjsFtt| g ksZtd S r   )r   r   r!   enter_contextr   temp_dirr	   r   r   Zcreate_package_from_loader	resourcesr   
isinstancer   ZTraversableAssertionErrorlistiterdir)r   r%   loaderpkgr   r   r   r   test_custom_loader)   s    

z2CustomTraversableResourcesTests.test_custom_loaderN)r   r   r   r#   r-   r   r   r   r   r   $   s   r   )Zunittestr   r   Zimportlib_resourcesr&    r   r   r   r   Zcompat.py39r   r	   r   ZTestCaser   r   r   r   r   <module>   s   