Your IP : 216.73.216.213
�
g f� � @ s� d Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z e j d � Z Gd d � d e j
� Z d d
� Z e
d k r� e j � n d S)zCTest InteractiveConsole and InteractiveInterpreter from code module� N)� ExitStack)�mock)�support�codec @ sp e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
d � Z d d � Z
d S)�TestInteractiveConsolec C s t j � | _ | j � d S)N)r ZInteractiveConsole�console�mock_sys)�self� r
�:/opt/alt/python34/lib64/python3.4/test/test_code_module.py�setUp
s zTestInteractiveConsole.setUpc C s� t � } | j | j � | j t j d d d �� | _ | j t j d � � | _ | j t j d � � | _ t j d d t j
d t j
�} | j | � | _ t
j t
j
k r� | j j
| j _ n d S)
z.Mock system environment for InteractiveConsolez
code.input�createTzcode.sys.stdoutzcode.sys.stderrzcode.sys�wraps�specN)r Z
addCleanup�close�
enter_contextr Zpatch�infunc�stdout�stderrr �sys�sysmod�
excepthook�__excepthook__)r �stackZprepatchr
r
r r s !zTestInteractiveConsole.mock_sysc C s9 t d � | j _ | j j � | j | j j d � d S)N�Finishedz>>> )�EOFErrorr �side_effectr �interact�assertEqualr Zps1)r r
r
r �test_ps1 s
zTestInteractiveConsole.test_ps1c C s9 t d � | j _ | j j � | j | j j d � d S)Nr z... )r r r r r r r Zps2)r r
r
r �test_ps2$ s
zTestInteractiveConsole.test_ps2c C sr d d t d � g | j _ | j j � xC t | j j � D]# } d d j | d � k r; Pq; q; Wt d � � d S)Nz 'antioch'� r Zantioch� zno console stdout)
r r r r r �listr �method_calls�join�AssertionError)r �callr
r
r �test_console_stderr) s
z*TestInteractiveConsole.test_console_stderrc C si d t d � g | j _ | j j � x= | j j D]# } d d j | d � k r2 Pq2 q2 Wt d � � d S)NZ undefinedr � NameErrorr! r"