B
    H/\                 @   sl   d dl mZmZmZ d dlZd dlZG dd dejZee	eddG dd deZ
ed	krhe  dS )
    )absolute_importprint_functiondivisionNc               @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )
TestFSPathc             C   s
   d | _ d S )N)_TestFSPath__path)self r   8lib/python3.7/site-packages/gevent/tests/test__compat.pysetUp   s    zTestFSPath.setUpc             C   s   | j d k	r| j S tdd S )NzAccessing path data)r   AttributeError)r   r   r   r	   
__fspath__   s    
zTestFSPath.__fspath__c             C   s   ddl m} ||S )Nr   )_fspath)Zgevent._compatr   )r   argr   r   r   r	   _callFUT   s    zTestFSPath._callFUTc             C   s   d}|  || | d S )Npath)assertIsr   )r   sr   r   r	   	test_text   s    zTestFSPath.test_textc             C   s   d}|  || | d S )Ns   path)r   r   )r   r   r   r   r	   
test_bytes   s    zTestFSPath.test_bytesc          	   C   s$   |  t | d  W d Q R X d S )N)assertRaises	TypeErrorr   )r   r   r   r	   	test_None   s    zTestFSPath.test_Nonec             C   s8   d| _ | | j | |  d| _ | | j | |  d S )Ntexts   bytes)r   r   r   )r   r   r   r	   test_working_path    s    zTestFSPath.test_working_pathc          	   C   s0   |  | j | t | |  W d Q R X d S )N)ZassertIsNoner   r   r   r   )r   r   r   r	    test_failing_path_AttributeError'   s    z+TestFSPath.test_failing_path_AttributeErrorc          	   C   s,   t  | _| t | |  W d Q R X d S )N)objectr   r   r   r   )r   r   r   r	   test_fspath_non_str,   s    zTestFSPath.test_fspath_non_strN)__name__
__module____qualname__r
   r   r   r   r   r   r   r   r   r   r   r   r	   r      s   r   fspathzTests native os.fspathc               @   s   e Zd Zdd ZdS )TestNativeFSPathc             C   s
   t |S )N)osr    )r   r   r   r   r	   r   4   s    zTestNativeFSPath._callFUTN)r   r   r   r   r   r   r   r	   r!   1   s   r!   __main__)Z
__future__r   r   r   r"   ZunittestZTestCaser   Z
skipUnlesshasattrr!   r   mainr   r   r   r	   <module>   s   +