Sindbad~EG File Manager
�
'Μg�2 � �� � d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddl m
Z
e
j d� Z G d� d ej � Zed
k( r ej � yy)zCTest InteractiveConsole and InteractiveInterpreter from code module� N)�dedent)� ExitStack)�mock)�
import_helper�codec �| � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� Zd� Z
d� Zd
� Zd� Zd� Zd� Zd� Zd� Zd� Zy)�TestInteractiveConsoleNc �V � t j � | _ | j � y �N)r �InteractiveConsole�console�mock_sys��selfs �2/usr/local/lib/python3.12/test/test_code_module.py�setUpzTestInteractiveConsole.setUp s � ��.�.�0����
�
�� c � � t � }| j |j � |j t j
dd�� � | _ |j t j
d� � | _ |j t j
d� � | _ t j
dt j t j �� }|j |� | _ t j t j u r%| j j | j _ | j `| j `y) z.Mock system environment for InteractiveConsolez
code.inputT)�createzcode.sys.stdoutzcode.sys.stderrzcode.sys)�wraps�specN)r �
addCleanup�close�
enter_contextr �patch�infunc�stdout�stderrr �sys�sysmod�
excepthook�__excepthook__�ps1�ps2)r �stack�prepatchs r r zTestInteractiveConsole.mock_sys s� � � ���������$��)�)�$�*�*�\�15�+7� 8����)�)�$�*�*�5F�*G�H����)�)�$�*�*�5F�*G�H����:�:�j����t�x�x�H���)�)�(�3����>�>�S�/�/�/�%)�[�[�%?�%?�D�K�K�"��K�K�O��K�K�Or c �Z � t d� | j _ | j j � | j | j j d� d| j _ | j j � | j | j j d� y )N�Finishedz>>> z custom1> )�EOFErrorr �side_effectr
�interact�assertEqualr r# r s r �test_ps1zTestInteractiveConsole.test_ps1% �n � �"*�:�"6�������������������&�1�%�������������������+�6r c �Z � t d� | j _ | j j � | j | j j d� d| j _ | j j � | j | j j d� y )Nr( z... z custom2> ) r) r r* r
r+ r, r r$ r# r s r �test_ps2zTestInteractiveConsole.test_ps2- r. r c � � ddt d� g| j _ | j j � t | j j � D ] }ddj |d � v s� y t d� �)Nz 'antioch'� r( �antioch� zno console stdout)
r) r r* r
r+ �listr �method_calls�join�AssertionError)r �calls r �test_console_stderrz*TestInteractiveConsole.test_console_stderr5 si � �#.��H�Z�4H�"I���������������1�1�2�D��B�G�G�D��G�,�,�� 3� !�!4�5�5r c �< � dddt d� g| j _ | j j � dj d� | j j D � � }||j d� d }|d |j d� }| j |j � dd g d �� | j | j j t � | j t | j j � t � | j# | j j$ � | j# | j j j&