3
s«Y]Ç  ã               @   sv   d Z ddlZddlZddlmZmZmZmZ G dd„ dejƒZG dd„ dejƒZ	G dd	„ d	ejƒZ
ed
krrejƒ  dS )z"Test cases for the fnmatch module.é    N)ÚfnmatchÚfnmatchcaseÚ	translateÚfilterc               @   sJ   e Zd Zdefdd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )ÚFnmatchTestCaseTc             C   s>   |r | j |||ƒd||f ƒ n| j|||ƒd||f ƒ d S )Nzexpected %r to match pattern %rz#expected %r not to match pattern %r)Z
assertTrueZassertFalse)ÚselfÚfilenameÚpatternZshould_matchÚfn© r   ú"lib/python3.6/test/test_fnmatch.pyÚcheck_match
   s    zFnmatchTestCase.check_matchc             C   sÈ   | j }|ddƒ |ddƒ |ddƒ |ddƒ |ddƒ |ddƒ |ddƒ |ddƒ |dd	d
ƒ |ddd
ƒ |ddd
ƒ |ddƒ |ddƒ |ddd
ƒ |ddƒ |ddƒ |ddd
ƒ |ddƒ d S )NÚabcz?*?z???*z*???z???Ú*zab[cd]zab[!de]zab[de]FÚaz??Úbú\z[\]z[!\]zfoo
barzfoo*zfoo
bar
z
fooÚ
)r   )r   Úcheckr   r   r   Útest_fnmatch   s&    











zFnmatchTestCase.test_fnmatchc             C   sD   | j ttddƒ | j ttddƒ | j ttddƒ | j ttddƒ d S )NÚtestó   *s   testr   )ÚassertRaisesÚ	TypeErrorr   r   )r   r   r   r   Útest_mix_bytes_str/   s    z"FnmatchTestCase.test_mix_bytes_strc             C   sz   | j }|dddtƒ |dddtƒ |dddtƒ |dddtƒ |dddtƒ |dddtƒ |dddtƒ |dddtƒ d S )Nr   TÚAbCFzusr/binzusr\bin)r   r   )r   r   r   r   r   Útest_fnmatchcase5   s    z FnmatchTestCase.test_fnmatchcasec             C   s(   | j ddƒ | j ddƒ | j ddƒ d S )Ns   tests   te*s   testÿs   te*ÿs   foo
bars   foo*)r   )r   r   r   r   Ú
test_bytesA   s    zFnmatchTestCase.test_bytesc             C   sN   t jjdƒt jjdƒk}| j}|ddƒ |dd|ƒ |dd|ƒ |ddƒ d S )NÚABCr   r   )ÚosÚpathÚnormcaser   )r   Ú
ignorecaser   r   r   r   Ú	test_caseF   s    
zFnmatchTestCase.test_casec             C   sN   t jjdƒt jjdƒk}| j}|ddƒ |dd|ƒ |dd|ƒ |ddƒ d S )Nr   ú/zusr/binzusr\bin)r   r    r!   r   )r   Únormsepr   r   r   r   Útest_sepN   s    
zFnmatchTestCase.test_sepN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r#   r&   r   r   r   r   r      s   
r   c               @   s   e Zd Zdd„ ZdS )ÚTranslateTestCasec             C   s„   | j tdƒdƒ | j tdƒdƒ | j tdƒdƒ | j tdƒdƒ | j td	ƒd
ƒ | j tdƒdƒ | j tdƒdƒ | j tdƒdƒ d S )Nr   z	(?s:.*)\Zú?z(?s:.)\Zza?b*z(?s:a.b.*)\Zz[abc]z(?s:[abc])\Zz[]]z
(?s:[]])\Zz[!x]z(?s:[^x])\Zz[^x]z(?s:[\^x])\Zz[xz
(?s:\[x)\Z)ÚassertEqualr   )r   r   r   r   Útest_translateY   s    z TranslateTestCase.test_translateN)r'   r(   r)   r-   r   r   r   r   r*   W   s   r*   c               @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚFilterTestCasec             C   s@   | j tddddgdƒddgƒ | j tdddd	gd
ƒddgƒ d S )NÚPythonZRubyZPerlZTclzP*s   Pythons   Rubys   Perls   Tcls   P*)r,   r   )r   r   r   r   Útest_filterf   s    
zFilterTestCase.test_filterc             C   s(   | j ttdgdƒ | j ttdgdƒ d S )Nr   r   s   testr   )r   r   r   )r   r   r   r   r   l   s    z!FilterTestCase.test_mix_bytes_strc             C   sh   t jjdƒt jjdƒk}| jtdddgdƒ|r6ddgndgƒ | jtdddgdƒ|r\ddgndgƒ d S )NÚPÚpzTest.pyzTest.rbzTest.PLz*.p*z*.P*)r   r    r!   r,   r   )r   r"   r   r   r   r#   p   s
    zFilterTestCase.test_casec             C   sh   t jjdƒt jjdƒk}| jtdddgdƒ|r6ddgndgƒ | jtdddgdƒ|r\ddgndgƒ d S )Nr   r$   zusr/binZusrzusr\libzusr/*zusr\*)r   r    r!   r,   r   )r   r%   r   r   r   r&   w   s
    zFilterTestCase.test_sepN)r'   r(   r)   r0   r   r#   r&   r   r   r   r   r.   d   s   r.   Ú__main__)Ú__doc__Zunittestr   r   r   r   r   ZTestCaser   r*   r.   r'   Úmainr   r   r   r   Ú<module>   s   O