B
    CWZ                 @   s   d dl mZ d dlmZ yd dlmZ W n  ek
rH   d dlmZ Y nX 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 d dlmZmZ dd	 ZG d
d de	jZedkre	  dS )    )unicode_literals)ArgumentParser)StringION)add_subparser_modules)print_colors)ColorColorStreamc             C   s(   |  d}|d |jt d d S )Nhelloworld)main)Z
add_parseradd_argumentZset_defaultsmockMock)Z
subparsersZ	subparser r   7lib/python3.7/site-packages/clyent/tests/test_clyent.pyadd_hello_parser   s    

r   c               @   sH   e Zd Zdd Zeejdkddd Zeejdkddd Z	d	S )
Testc          	   C   s`   t  }td*}t }t|j_|g|_t|d d W d Q R X |ddg}| 	|j
d d S )Nzclyent.iter_entry_pointsZentry_point_namer	   r
   )r   r   Zpatchr   r   loadZreturn_valuer   
parse_argsassertEqualr
   )selfparserZiter_entry_pointsZepargsr   r   r   test_add_subparser_modules   s    zTest.test_add_subparser_modulesntz#Cannot colorize StringIO on Windowsc             C   sH   t  }dd |_t|}tddd|d | }|  | d| d S )Nc               S   s   dS )Nr   r   r   r   r   <lambda>(   s    z(Test.test_color_format.<locals>.<lambda>zAre youz{=okay!c:green}zAnnie?)filezAre you [92mokay[0m Annie?
)r   filenor   r   getvaluecloser   )r   outputstreamvaluer   r   r   test_color_format%   s    
zTest.test_color_formatc          	   C   sZ   t  }dd |_t|}td| td|d W d Q R X | }|  | d| d S )Nc               S   s   dS )Nr   r   r   r   r   r   r   5   s    z)Test.test_color_context.<locals>.<lambda>ZredzERROR!)r   z[91mERROR!
[0m)r   r   r   r   r   r   r    r   )r   r!   r"   r#   r   r   r   test_color_context2   s    
zTest.test_color_contextN)
__name__
__module____qualname__r   unittestZskipIfosnamer$   r%   r   r   r   r   r      s   r   __main__)Z
__future__r   argparser   r   ImportErrorior*   sysr)   r   Zclyentr   Zclyent.colors.color_formatterr   Zclyent.colorsr   r   r   ZTestCaser   r&   r   r   r   r   r   <module>   s    +