Sindbad~EG File Manager
a
��gK� � @ s< d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlm Z m
Z
d dlmZ zd dl
Z
W n eyv dZ
Y n0 z
e j W n ey� dZY n0 dZzd dlZW n ey� dZY n0 dZdd� Zd d
� Zdd� ZG d
d� dej�ZG dd� de�ZG dd� de
jej�ZG dd� de�Zedk�r8e�� dS )� N)�
TestFailed�FakePath)�support�test_genericpath)�
TemporaryFileFTc C sn t jddd�j}t jt jt jg|_t j|_|| d d�}|sLtd�t � � ���t �
|�}|| ||�}|d |� S )NZkernel32T)Zuse_last_errorr z&failed to get short path name 0x{:08X})�ctypesZWinDLLZGetShortPathNameWZ c_wchar_pZc_uint32�argtypesZrestype�OSError�formatZget_last_errorZcreate_unicode_buffer)�pathZGSPNZ
result_len�result� r
�,/usr/local/lib/python3.9/test/test_ntpath.py�_getshortpathname s �
r c C sB t | tttjf�r"t�t�| ��S t| d�r>t dd� | D ��S | S )N�__iter__c s s | ]}t �t�|��V qd S �N)�ntpath�normcase�os�fsdecode��.0�pr
r
r � <genexpr>/ � z_norm.<locals>.<genexpr>)
�
isinstance�bytes�strr �PathLiker r r �hasattr�tuple)r r
r
r �_norm+ s
r! c C s$ | � dd�} t| �}||krJt|�t|�krJtdt| �t|�t|�f ��| � dd�} | � dd�} | � dd �} | � d
d�} | � dd
�} | � dd�} t�| ��d�} | �dd��d�} t �
� �$ t �dt� t| �}W d � n1 s�0 Y t|�t|�k�r tdt| �t|�t
|�f ��d S )N�\�\\z%%s should return: %s but returned: %sz('z(b'z("z(b"z['z[b'z["z[b"z, 'z, b'z, "z, b"�latin1�ascii�backslashreplace�ignore)�replace�evalr! r r r �fsencode�decode�encode�warnings�catch_warnings�simplefilter�DeprecationWarning�repr)�fnZ
wantResultZ gotResultr
r
r �tester3 s* �
&�r3 c @ s e Zd Zdd� Zdd� ZdS )�NtpathTestCasec C s, ||kst |�t |�krd S | �||� d S r )r! �assertEqual)�selfZpath1Zpath2r
r
r �assertPathEqualL s zNtpathTestCase.assertPathEqualc C s | � t|�t|�� d S r )ZassertInr! )r6 r Zpathsetr
r
r �assertPathInQ s zNtpathTestCase.assertPathInN)�__name__�
__module__�__qualname__r7 r8 r
r
r
r r4 K s r4 c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zej
e�ed�dd� ��Zej
e�ed�dd� ��Zej
e�ed�dd� ��Zej
e�ed�dd� ��Zej
e�ed�dd� ��Ze�ed�dd� �Ze�ed�e�ed �d!d"� ��Zd#d$� Ze�ejd%�d&d'� �Zd(d)� Ze�ed*�d+d,� �Zd-d.� Zd/d0� Z d1d2� Z!d3d4� Z"d5d6� Z#e�ed7�d8d9� �Z$d:S );�
TestNtpathc C sh t dd� t dd� t dd� t dd� t d d
� t dd� t d
d� t dd� t dd� t dd� d S )Nzntpath.splitext("foo.ext"))�foo�.extzntpath.splitext("/foo/foo.ext"))z/foo/foor>