o
    ŲŻ2gh  ć                   @  sZ   d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	 G dd dej
ZdS )z!Unit tests for file system cache.é    )ŚannotationsN)ŚFileSystemCachec                   @  s^   e Zd ZdddZdddZdddZdd	d
ZdddZdddZddddZ	dddZ
dS )ŚTestFileSystemCacheŚreturnŚNonec                 C  s,   t  ” | _t ” | _t | j” t | _d S ©N)	ŚtempfileŚmkdtempŚtempdirŚosŚgetcwdŚoldcwdŚchdirr   Śfscache©Śself© r   śM/home/garg/my-data/venv/lib/python3.10/site-packages/mypy/test/testfscache.pyŚsetUp   s   

zTestFileSystemCache.setUpc                 C  s   t  | j” t | j” d S r   )r   r   r   ŚshutilŚrmtreer
   r   r   r   r   ŚtearDown   s   zTestFileSystemCache.tearDownc                 C  sŲ   |   d” |   d” |   d” tdD ]3}|  d”sJ |  d”s#J |  d”s*J |  d”r1J |  d”r8J |  d”r?J |  d”rFJ qtdD ]}|  d	”rTJ |  d
”r[J |  d”rbJ |  d”riJ qKd S )Nśbar.pyśpkg/sub_package/__init__.pyśpkg/sub_package/foo.pyé   śnon_existent.pyśpkg/non_existent.pyzpkg/zbar.py/śBar.pyśpkg/sub_package/__init__.PYśpkg/Sub_Package/foo.pyśPkg/sub_package/foo.py©Ś	make_fileŚrangeŚisfile_case©r   Śir   r   r   Śtest_isfile_case_1   s"   


üz&TestFileSystemCache.test_isfile_case_1c                 C  s¼   |   d” |   d” |   d” tdD ]}|  d”rJ |  d”r#J |  d”r*J |  d”r1J qtdD ]%}|  d”s?J |  d”sFJ |  d”sMJ |  d	”rTJ |  d
”r[J q6d S )Nr   r   r   r   r   r   r    r!   r   r   r"   r&   r   r   r   Śtest_isfile_case_2,   s   


ūz&TestFileSystemCache.test_isfile_case_2c                 C  s®   |   d” |   d” |   d” tdD ]A}|  d”sJ |  d”r#J |  d”r*J |  d”r1J |  d”r8J |  d	”r?J |  d
”rFJ |  d”sMJ |  d”sTJ qd S )Nr   r   r   r   r   r   r   r   r    r!   r"   r&   r   r   r   Śtest_isfile_case_3>   s   


÷z&TestFileSystemCache.test_isfile_case_3c                 C  sĪ   |   d” t ” T}| j d|d | j d|d |  tj |d””s$J |  tj |d””r0J |  tj |d””r<J tjdv rM|  tj |d””sUJ W d    d S W d    d S 1 s`w   Y  d S )Nr   zother_dir.py)Śbasezpkg/other_dir.pyzOther_Dir.py)Świn32ŚdarwinzPKG/other_dir.py)	r#   r   ŚTemporaryDirectoryr%   r   ŚpathŚjoinŚsysŚplatform)r   Śotherr   r   r   Ś test_isfile_case_other_directoryN   s   


żś	"÷z4TestFileSystemCache.test_isfile_case_other_directoryNr/   Śstrr+   ś
str | Nonec                 C  sz   |d u r| j }tj ||”}tjtj |”dd | d”s;t|d}| d” W d    d S 1 s4w   Y  d S d S )NT)Śexist_okś/Śwz# test file)	r
   r   r/   r0   ŚmakedirsŚdirnameŚendswithŚopenŚwrite)r   r/   r+   ŚfullpathŚfr   r   r   r#   [   s   
"’’zTestFileSystemCache.make_fileŚboolc                 C  s   | j  tj | j|”| j”S r   )r   r%   r   r/   r0   r
   )r   r/   r   r   r   r%   d   s   zTestFileSystemCache.isfile_case)r   r   r   )r/   r5   r+   r6   r   r   )r/   r5   r   rA   )Ś__name__Ś
__module__Ś__qualname__r   r   r(   r)   r*   r4   r#   r%   r   r   r   r   r      s    





	r   )Ś__doc__Ś
__future__r   r   r   r1   r   ŚunittestŚmypy.fscacher   ŚTestCaser   r   r   r   r   Ś<module>   s    