a
    zeR                     @   s  d dl Z d dlZd dlZd dlZd dlZd dlmZ eej	dsJe
ddd Zddd	d
e gZded Zded Zded Zded Zdd eD ZG dd dZG dd dZG dd dZG dd deZG dd deeejZG dd deeejZG dd deZG dd deeejZG d d! d!eeejZG d"d# d#eZG d$d% d%eeejZG d&d' d'eeejZG d(d) d)eZ G d*d+ d+ee ejZ!G d,d- d-ee ejZ"e#d.kre$  dS )/    N)supportnewlinesz3This Python does not have universal newline supportxi @  zline1=1zline2='this is a very long line designed to go past any default buffer limits that exist in io.py but we also want to test the uncommon case, naturally.'zdef line3():passzline4 = '%s'

c                 C   s   g | ]}|d  qS )r    ).0r   r   r   ,/usr/lib/python3.9/test/test_univnewlines.py
<listcomp>       r   c                   @   s   e Zd ZejZdS )CTestN)__name__
__module____qualname__ioopenr   r   r   r
   r   !   s   r   c                   @   s   e Zd ZeejZdS )PyTestN)r   r   r   staticmethodpyior   r   r   r   r
   r   $   s   r   c                   @   sD   e Zd ZdZdZdd Zdd Zdd Zd	d
 Zdd Z	dd Z
dS )TestGenericUnivNewlinesrwbc                 C   sX   | j }d| jv r|d}| tj| j}|| W d    n1 sJ0    Y  d S )Nbascii)DATA	WRITEMODEencoder   r   TESTFNwrite)selfdatafpr   r   r
   setUp-   s
    

zTestGenericUnivNewlines.setUpc                 C   s"   zt tj W n   Y n0 d S N)osunlinkr   r   )r    r   r   r
   tearDown4   s    z TestGenericUnivNewlines.tearDownc                 C   s`   |  tj| j}| }W d    n1 s.0    Y  | |t | t|jt| j	 d S r$   )
r   r   r   READMODEreadassertEqualDATA_LFreprr   NEWLINEr    r"   r!   r   r   r
   	test_read:   s    &z!TestGenericUnivNewlines.test_readc                 C   s`   |  tj| j}| }W d    n1 s.0    Y  | |t | t|jt| j	 d S r$   )
r   r   r   r(   	readlinesr*   
DATA_SPLITr,   r   r-   r.   r   r   r
   test_readlines@   s    &z&TestGenericUnivNewlines.test_readlinesc                 C   s|   |  tj| j4}g }| }|r6|| | }qW d    n1 sJ0    Y  | |t | t|j	t| j
 d S r$   )r   r   r   r(   readlineappendr*   r1   r,   r   r-   )r    r"   r!   dr   r   r
   test_readlineF   s    
(z%TestGenericUnivNewlines.test_readlinec                 C   s   |  tj| jN}|  | }| }| |tdd   |	| | }W d    n1 sd0    Y  | |tdd   d S )N   )
r   r   r   r(   r3   tellr0   r*   r1   seek)r    r"   posr!   r   r   r
   	test_seekP   s    
&z!TestGenericUnivNewlines.test_seekN)r   r   r   r(   r   r#   r'   r/   r2   r6   r;   r   r   r   r
   r   '   s   
r   c                   @   s   e Zd ZdZeZdS )TestCRNewlinesr   N)r   r   r   r-   DATA_CRr   r   r   r   r
   r<   [   s   r<   c                   @   s   e Zd ZdS )CTestCRNewlinesNr   r   r   r   r   r   r
   r>   ^   r   r>   c                   @   s   e Zd ZdS )PyTestCRNewlinesNr?   r   r   r   r
   r@   _   r   r@   c                   @   s   e Zd ZdZeZdS )TestLFNewlinesr   N)r   r   r   r-   r+   r   r   r   r   r
   rA   a   s   rA   c                   @   s   e Zd ZdS )CTestLFNewlinesNr?   r   r   r   r
   rB   d   r   rB   c                   @   s   e Zd ZdS )PyTestLFNewlinesNr?   r   r   r   r
   rC   e   r   rC   c                   @   s   e Zd ZdZeZdd ZdS )TestCRLFNewlinesr   c                 C   sr   |  tj| j6}| t|jtd  | }| }W d    n1 sL0    Y  | t|jt| j	 d S r$   )
r   r   r   r(   r*   r,   r   r3   r8   r-   )r    r"   r!   r:   r   r   r
   	test_tellk   s
    &zTestCRLFNewlines.test_tellN)r   r   r   r-   	DATA_CRLFr   rE   r   r   r   r
   rD   g   s   rD   c                   @   s   e Zd ZdS )CTestCRLFNewlinesNr?   r   r   r   r
   rG   q   r   rG   c                   @   s   e Zd ZdS )PyTestCRLFNewlinesNr?   r   r   r   r
   rH   r   r   rH   c                   @   s   e Zd ZdZeZdS )TestMixedNewlines)r   r   N)r   r   r   r-   
DATA_MIXEDr   r   r   r   r
   rI   t   s   rI   c                   @   s   e Zd ZdS )CTestMixedNewlinesNr?   r   r   r   r
   rK   w   r   rK   c                   @   s   e Zd ZdS )PyTestMixedNewlinesNr?   r   r   r   r
   rL   x   r   rL   __main__)%r   Z_pyior   Zunittestr%   systestr   hasattrstdinZSkipTestZFATXZDATA_TEMPLATEjoinr+   r=   rF   rJ   r1   r   r   r   r<   ZTestCaser>   r@   rA   rB   rC   rD   rG   rH   rI   rK   rL   r   mainr   r   r   r
   <module>   sJ   	4

