Sindbad~EG File Manager
a
��g� � @ s8 d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm Z m
Z
mZ ed� e d�Ze d� e d� zd dl
ZW n ey� Y n0 dd� Zdd � Zd
d� Zej�d�Zd
Ze�e p�edkde �e�ejdkd�G dd� dej���ZG dd� dej�ZG dd� dej�Zdd� Zedk�r4e�� dS )� N)�requires�
import_module�verbose�SaveSignals�curseszcurses.asciizcurses.textpadc C s t �tt| �d| �S )Nzrequires curses.%s)�unittestZ
skipUnless�hasattrr ��name� r �,/usr/local/lib/python3.9/test/test_curses.py�requires_curses_func s �r
c s � fdd�}|S )Nc s t �� ��� fdd��}|S )Nc s4 t | j� �st�d� ���| g|�R i |�� d S )Nzrequires curses.window.%s)r �stdscrr ZSkipTest��self�args�kwargs)r
�testr r �wrapped s z:requires_curses_window_meth.<locals>.deco.<locals>.wrapped�� functools�wraps�r r r �r r �deco s z)requires_curses_window_meth.<locals>.decor )r
r r r r �requires_curses_window_meth s r c s t �� �� fdd��}|S )Nc s4 t �� s| �d� t �� � | g|�R i |�� d S )N�requires colors support)r �
has_colors�skipTest�start_colorr r r r r ) s
z requires_colors.<locals>.wrappedr r r r r �requires_colors( s r ZTERMi� �unknownz*$TERM=%r, calling initscr() may cause exit�cygwinz!cygwin's curses mostly just hangsc @ s e Zd Zedd� �Zdd� Zed�dd� �Zed�d d
� �Zdd� Z d
d� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zed%�d&d'� �Zd(d)� Zd*d+� Zd,d-� Zed.�d/d0� �Zed1�d2d3� �Zd4d5� Zd6d7� Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDdE� Z%edF�dGdH� �Z&dIdJ� Z'dKdL� Z(dMdN� Z)dOdP� Z*edQ�dRdS� �Z+edT�dUdV� �Z,edW�dXdY� �Z-dZd[� Z.d\d]� Z/d^d_� Z0d`da� Z1e2dbdc� �Z3e2ddde� �Z4dfdg� Z5e2dhdi� �Z6e2djdk� �Z7e2dldm� �Z8edn�e2dodp� ��Z9dqdr� Z:eds�dtdu� �Z;edv�dwdx� �Z<edy�dzd{� �Z=edy�d|d}� �Z>edy�d~d� �Z?edy�d�d�� �Z@ed��d�d�� �ZAed��d�d�� �ZBed��d�d�� �ZCd�d�� ZDd�d�� ZEed��eF�GeHeId�d��d�k d��d�d�� ��ZJd�d�� ZKd�d�� ZLed.�d�d�� �ZMd�S )��
TestCursesc C s4 t rtdt� �tjdd� tj�� }tj|d� d S )NzTERM=T��file�flush)�fd) r �print�term�sys�stderr�
__stdout__�filenor Z setupterm)�cls� stdout_fdr r r �
setUpClass; s
zTestCurses.setUpClassc C sT d| _ tj| _tj�� }tj� � s�t�|�}| �tj|� | �tj ||� tj
� � rdtj
}tj
| _nLztdddd�}W n& ty� t
jddd�}d| _ Y n0 | �|j� d | _t� |�� |� t� | _| j�� | �| jj� t�r| jd u�rtj�� tj�� t| jdd� t�� | _| j �rFt�� | �tj� | �tj� | j�� d S ) NTz/dev/tty�wbr )� buffering)�moder2 Fr$ )�isattyr* r, �outputr- �os�dup�
addCleanup�close�dup2�
__stderr__�open�OSError�tempfile�
TemporaryFiler Zsave_signals�saveZrestorer r+ r&