File: //opt/cppython/lib/python3.8/test/__pycache__/test_unicode_file_functions.cpython-38.opt-2.pyc
U
.D�g\ � @ s, d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dddddd d
ddd
g
Zej dkrve�
dddddddddg � e jjs�e�
� ZzeD ]Ze�e� q�W n ek
r� e�d��Y nX G dd� dej�ZG dd� de�ZG dd� de�ZG dd � d e�ZG d!d"� d"e�Zd#d$� Zed%k�r(e� dS )&� N�� normalize)�supportZ1_abcZ2_asciiu
3_Grüß-Gottu 4_Γειά-σαςu 5_Здравствуйтеu 6_にぽんu 7_השקצץסu 8_曨曩曫u 9_曨שんдΓßu 10_΅´�darwinu 11_΅ϓϔu 12_΅ϓϔu 13_ ̈́ΎΫu 14_ẛ῁῍῎῏῝῞῟῭u 15_΅´𣏕u
16_ Au
17_ Au
18_ Az19_ Az>only NT+ and systems with Unicode-friendly filesystem encodingc @ s� e Zd Zee�ZdZdd� Zdd� Ze dfdd�Z
d d
� Zej
dkrNee fZneZdd
� Ze�ej
dkd�dd� �Ze�ej
dkd�dd� �Zdd� Zdd� ZdS )�UnicodeFileTestsNc
C s� zt �tj� W n tk
r$ Y nX | �tjtj� t� }| jD ]X}t j �
tj| �|��}t|d��}|�
|d �d�� W 5 Q R X t �|� |�|� qB|| _d S �N�wb�
�utf-8)�os�mkdirr �TESTFN�FileExistsErrorZ
addCleanup�rmtree�set�files�path�join�norm�open�write�encode�stat�add)�selfr �name�f� r �?/opt/cppython/lib/python3.8/test/test_unicode_file_functions.py�setUp? s
zUnicodeFileTests.setUpc C s | j rt| j |�S |S �N)�normal_formr )r �sr r r r O s zUnicodeFileTests.normTc C sH | � |��}||� W 5 Q R X |jj}|rD| �||d|j||f � d S )Nz>Function '%s(%a) failed with bad filename in the exception: %a)ZassertRaises� exception�filename�assertEqual�__name__)r �fnr$ Zexpected_exceptionZcheck_filename�cZexc_filenamer r r �_apply_failureT s
�zUnicodeFileTests._apply_failurec C sj | j D ]^}d| }| �t|� | �tj|� | �tj|� | �tj|� | �tj|� | �tj|� qd S )N�not_) r r) r r r �chdir�rmdir�remove�listdir�r r r r r �
test_failures_ s
zUnicodeFileTests.test_failures�win32c C sR | j D ]F}t|d�}|�|d �d�� |�� t�|� | �tj|| j � qd S r )
r r r r �closer r r) r. �_listdir_failure)r r r r r r � test_openp s
zUnicodeFileTests.test_openr zirrelevant test on Mac OS Xc s� t | j�}t � }t ddddg�D ]� |t � fdd�|D ��O }q ||8 }|D ]V}| �t|� | �tj|� | �tj|� | �tj|� | �tj|� | �tj |� qLd S )N�NFC�NFD�NFKC�NFKDc 3 s | ]}t � |�V qd S r r )�.0�file�Znfr r � <genexpr>� s z2UnicodeFileTests.test_normalize.<locals>.<genexpr>)
r r r) r r r r+ r, r- r. )r r Zothersr r r; r �test_normalize| s
zUnicodeFileTests.test_normalizec C s� t | j�}t�� �( t�dt� t�tj �
t�� ��}W 5 Q R X t�tj �}t dd� |D ��}| �
||d||f � | �
t|�t|�� d S )N�ignorec s s | ]}t j�tj|�V qd S r )r r r r r
)r9 r r r r r<