File: //lib/python3/dist-packages/twisted/test/__pycache__/test_paths.cpython-38.pyc
U
W[u" � @ sj d Z ddlmZmZ ddlZddlZddlZddlZddlZddl m
Z
ddlmZm
Z
mZ ddlmZmZ ddlmZ ddlmZ dd lmZmZ dd
lmZ e�� s�dZndZG dd
� d
e�ZG dd� de�ZG dd� dej �Z!G dd� de�Z"G dd� d�Z#G dd� dej �Z$G dd� dej �Z%G dd� de�Z&G dd� de�Z'G dd� de�Z(G d d!� d!e�Z)dS )"z1
Test cases covering L{twisted.python.filepath}.
� )�division�absolute_importN)�pformat)�_PY3�long�unicode)�WindowsError�ERROR_DIRECTORY)�filepath)�platform)�SkipTest�SynchronousTestCase)�verifyObjectz"Platform does not support symlinksc @ s e Zd ZdZdd� ZdS )�
BytesTestCasezH
Override default method implementations to support byte paths.
c C s t �| ��d�S )z<
Return a temporary path, encoded as bytes.
�utf-8)�TestCase�mktemp�encode��self� r �9/usr/lib/python3/dist-packages/twisted/test/test_paths.pyr ! s zBytesTestCase.mktempN)�__name__�
__module__�__qualname__�__doc__r r r r r r s r c @ s� e Zd ZdZdZdZdd� Zdd� Zdd � Zd
d� Z dd
� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*S )+�AbstractFilePathTestsz1
Tests for L{IFilePath} implementations.
� file 1s file 2c G s, t j�t jj| jf|�� �}| j�|� |S �N)�os�path�abspath�join�cmn�all�append)r �p�xr r r �_mkpath1 s zAbstractFilePathTests._mkpathc G s t �| j|� � d S r )r �mkdirr( �r �dirnamer r r �subdir7 s zAbstractFilePathTests.subdirc G s t | j|� d�S )N�wb)�openr( r* r r r �subfile; s zAbstractFilePathTests.subfilec C s� t � � | _tj�| �� � }| _|g| _t�|� | � d� | �
d��}|�| j� W 5 Q R X | �
dd��}|�| j
� W 5 Q R X | � d� | �
dd��� | �
dd��� | �
dd��� t�|�| _t�d�| _d S ) N� sub1� file1� file2� sub3�
file3.ext1s
file3.ext2s
file3.ext3� /)�timeZnowr r r! r r# r$ r) r, r/ �write� f1content� f2content�closer
�FilePath�root)r r# �fr r r �setUp? s
zAbstractFilePathTests.setUpc C s | � ttj| j�� dS )zO
Instances of the path type being tested provide L{IFilePath}.
N)�
assertTruer r
Z IFilePathr r r r r �test_verifyObjectQ s z'AbstractFilePathTests.test_verifyObjectc C s2 | � | j�d��d��d��| j�dddg� dS )zV
Verify that the segments between two paths are correctly identified.
� a� b� cN)�assertEqualr �child�segmentsFromr r r r �test_segmentsFromPositiveX s �z/AbstractFilePathTests.test_segmentsFromPositivec C s<