B
    >?ð[W  ã               @   sP   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 dd„ Z
dd	„ Zd
S )é    )Úabsolute_import)ÚTestCase)Úwraps)ÚSkipTest)Úpy26c                s   ‡ fdd„}|S )z&
    Unconditionally skip a test.
    c                sŒ   t | tƒot| tƒ}|rXtƒ rXx8dd„ t| ƒD ƒD ]"}tˆ ƒt| |ƒƒ}t| ||ƒ q2W |s|t	| ƒ‡ fdd„ƒ}| j
|_
|} d| _ˆ | _| S )Nc             s   s   | ]}|  d ¡r|V  qdS )Ztest_N)Ú
startswith)Ú.0Úm© r
   ú3lib/python3.7/site-packages/nltk/test/unit/utils.pyú	<genexpr>   s    z*skip.<locals>.decorator.<locals>.<genexpr>c                 s   t ˆ ƒ‚d S )N)r   )ÚargsÚkwargs)Úreasonr
   r   Úskip_wrapper   s    z-skip.<locals>.decorator.<locals>.skip_wrapperT)Ú
isinstanceÚtypeÚ
issubclassr   r   ÚdirÚskipÚgetattrÚsetattrr   Ú__name__Z__unittest_skip__Z__unittest_skip_why__)Z	test_itemZis_test_classZ	meth_nameZpatched_methodr   )r   r
   r   Ú	decorator   s    
zskip.<locals>.decoratorr
   )r   r   r
   )r   r   r   	   s    r   c             C   s   | rt |ƒS dd„ S )z/
    Skip a test if the condition is true.
    c             S   s   | S )Nr
   )Úobjr
   r
   r   Ú<lambda>/   s    zskipIf.<locals>.<lambda>)r   )Z	conditionr   r
   r
   r   ÚskipIf)   s    r   N)Z
__future__r   Zunittestr   Ú	functoolsr   Znose.plugins.skipr   Z	nltk.utilr   r   r   r
   r
   r
   r   Ú<module>   s    