B
    '(äb…  ã               @   s<   d dl mZ d dlZd dlZd dlmZ G dd„ deƒZdS )é    )ÚStringION)ÚSuitec               @   s`   e Zd Zddœdd„Zddœdd„Zddœdd„Zddœd	d
„Zddœdd„Zddœdd„ZdS )ÚAPISuiteN)Úreturnc             C   s0   t j| _t j| _tƒ  t _| _tƒ  t _| _d S )N)ÚsysÚstdoutÚ
sys_stdoutÚstderrÚ
sys_stderrr   )Úself© r   ú@/home/dcms/DCMS/lib/python3.7/site-packages/mypy/test/testapi.pyÚsetUp   s    zAPISuite.setUpc             C   s8   | j t_| jt_| j ¡ dks"t‚| j ¡ dks4t‚d S )NÚ )r   r   r   r
   r	   ÚgetvalueÚAssertionError)r   r   r   r   ÚtearDown   s    zAPISuite.tearDownc             C   s2   t j dg¡\}}}t|tƒs"t‚|dks.t‚dS )z6stderr should be captured when a bad option is passed.z--some-bad-optionr   N)ÚmypyÚapiÚrunÚ
isinstanceÚstrr   )r   Ú_r	   r   r   r   Útest_capture_bad_opt   s    zAPISuite.test_capture_bad_optc             C   s0   t j g ¡\}}}t|tƒs t‚|dks,t‚dS )z6stderr should be captured when a bad option is passed.r   N)r   r   r   r   r   r   )r   r   r	   r   r   r   Útest_capture_empty   s    zAPISuite.test_capture_emptyc             C   s2   t j dg¡\}}}t|tƒs"t‚|dks.t‚dS )z0stdout should be captured when --help is passed.z--helpr   N)r   r   r   r   r   r   )r   r   r   r   r   r   Útest_capture_help#   s    zAPISuite.test_capture_helpc             C   s2   t j dg¡\}}}t|tƒs"t‚|dks.t‚dS )z3stdout should be captured when --version is passed.z	--versionr   N)r   r   r   r   r   r   )r   r   r   r   r   r   Útest_capture_version)   s    zAPISuite.test_capture_version)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r   	   s   r   )Úior   r   Zmypy.apir   Zmypy.test.helpersr   r   r   r   r   r   Ú<module>   s   