o
    HXh                     @   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 d dlm	Z	 e
ejds+e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 dS )0    N)support)	os_helper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	   @/opt/python-3.10.19/usr/lib/python3.10/test/test_univnewlines.py
<listcomp>!   s    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   sZ   | j }d| jv r|d}| tj| j}|| W d    d S 1 s&w   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 d S    Y d S N)osunlinkr   r   )r    r	   r	   r   tearDown6   s   z TestGenericUnivNewlines.tearDownc                 C   `   |  tj| j}| }W d    n1 sw   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<   
   
z!TestGenericUnivNewlines.test_readc                 C   r(   r$   )
r   r   r   r)   	readlinesr+   
DATA_SPLITr-   r   r.   r/   r	   r	   r   test_readlinesB   r1   z&TestGenericUnivNewlines.test_readlinesc                 C   s~   |  tj| j}g }| }|r|| | }|sW d    n1 s&w   Y  | |t | t|j	t| j
 d S r$   )r   r   r   r)   readlineappendr+   r3   r-   r   r.   )r    r"   r!   dr	   r	   r   test_readlineH   s   
z%TestGenericUnivNewlines.test_readlinec                 C   s   |  tj| j'}|  | }| }| |tdd   |	| | }W d    n1 s2w   Y  | |tdd   d S )N   )
r   r   r   r)   r5   tellr2   r+   r3   seek)r    r"   posr!   r	   r	   r   	test_seekR   s   

z!TestGenericUnivNewlines.test_seekN)r   r   r   r)   r   r#   r'   r0   r4   r8   r=   r	   r	   r	   r   r   )   s    
r   c                   @      e Zd ZdZeZdS )TestCRNewlinesr   N)r   r   r   r.   DATA_CRr   r	   r	   r	   r   r?   ]       r?   c                   @      e Zd ZdS )CTestCRNewlinesNr   r   r   r	   r	   r	   r   rC   `       rC   c                   @   rB   )PyTestCRNewlinesNrD   r	   r	   r	   r   rF   a   rE   rF   c                   @   r>   )TestLFNewlinesr   N)r   r   r   r.   r,   r   r	   r	   r	   r   rG   c   rA   rG   c                   @   rB   )CTestLFNewlinesNrD   r	   r	   r	   r   rH   f   rE   rH   c                   @   rB   )PyTestLFNewlinesNrD   r	   r	   r	   r   rI   g   rE   rI   c                   @   s   e Zd ZdZeZdd ZdS )TestCRLFNewlinesr   c                 C   sr   |  tj| j}| t|jtd  | }| }W d    n1 s&w   Y  | t|jt| j	 d S r$   )
r   r   r   r)   r+   r-   r   r5   r:   r.   )r    r"   r!   r<   r	   r	   r   	test_tellm   s   
zTestCRLFNewlines.test_tellN)r   r   r   r.   	DATA_CRLFr   rK   r	   r	   r	   r   rJ   i   s    rJ   c                   @   rB   )CTestCRLFNewlinesNrD   r	   r	   r	   r   rM   s   rE   rM   c                   @   rB   )PyTestCRLFNewlinesNrD   r	   r	   r	   r   rN   t   rE   rN   c                   @   r>   )TestMixedNewlines)r   r   N)r   r   r   r.   
DATA_MIXEDr   r	   r	   r	   r   rO   v   rA   rO   c                   @   rB   )CTestMixedNewlinesNrD   r	   r	   r	   r   rQ   y   rE   rQ   c                   @   rB   )PyTestMixedNewlinesNrD   r	   r	   r	   r   rR   z   rE   rR   __main__)'r   Z_pyior   Zunittestr%   systestr   Ztest.supportr   hasattrstdinZSkipTestZFATXZDATA_TEMPLATEjoinr,   r@   rL   rP   r3   r   r   r   r?   ZTestCaserC   rF   rG   rH   rI   rJ   rM   rN   rO   rQ   rR   r   mainr	   r	   r	   r   <module>   sP   	4
