File: //usr/local/lib/python3.7/test/__pycache__/test_unicode_file_functions.cpython-37.opt-1.pyc
B
��g\ � @ s0 d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dddddd d
ddd
g
Zej dkrve�
dddddddddg � e jjs�e�
� ZyxeD ]Ze�e� q�W 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� yt �tj� W n tk
r$ Y nX | �tjtj� t� }xb| jD ]X}t j �
tj| �|��}t|d��}|�
|d �d�� W d Q R X t �|� |�|� qDW || _d S )N�wb�
zutf-8)�os�mkdirr �TESTFN�FileExistsErrorZ
addCleanupZrmtree�set�files�path�join�norm�open�write�encode�stat�add)�selfr
�name�f� r �</usr/local/lib/python3.7/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 d Q R X |jj}|rD| �||d|j||f � d S )Nz>Function '%s(%a) failed with bad filename in the exception: %a)ZassertRaisesZ exception�filename�assertEqual�__name__)r �fnr Zexpected_exceptionZcheck_filename�cZexc_filenamer r r �_apply_failureT s
zUnicodeFileTests._apply_failurec C sn xh| j D ]^}d| }| �t|� | �tj|� | �tj|� | �tj|� | �tj|� | �tj|� qW d 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 sV xP| j D ]F}t|d�}|�|d �d�� |�� t�|� | �tj|| j � qW d S )Nr r zutf-8)
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 � }x2t ddddg�D ]� |t � fdd�|D ��O }q"W ||8 }x^|D ]V}| �t|� | �tj|� | �tj|� | �tj|� | �tj|� | �tj |� qRW d S )N�NFC�NFD�NFKC�NFKDc 3 s | ]}t � |�V qd S )N)r )�.0�file)�nfr r � <genexpr>� s z2UnicodeFileTests.test_normalize.<locals>.<genexpr>)
r r
r# r r r r% r&