
    dafk                        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      s ej                  d      ddz  Zddd	d
ez  gZdj                  e      dz   Zdj                  e      dz   Zdj                  e      dz   Zdj                  e      dz   ZeD  cg c]  } | dz   	 c} Z G d d      Z G d d      Z G d d      Z G d de      Z G d deeej.                        Z G d deeej.                        Z G d de      Z G d deeej.                        Z G d deeej.                        Z G d  d!e      Z G d" d#eeej.                        Z G d$ d%eeej.                        Z G d& d'e      Z  G d( d)ee ej.                        Z! G d* d+ee ej.                        Z"e#d,k(  r ejH                          yyc c} w )-    N)	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                   $    e Zd Zej                  Zy)CTestN)__name__
__module____qualname__ioopen     1/root/Python-3.12.4/Lib/test/test_univnewlines.pyr
   r
   "   s    77Dr   r
   c                   0    e Zd Z eej
                        Zy)PyTestN)r   r   r   staticmethodpyior   r   r   r   r   r   %   s    		"Dr   r   c                   8    e Zd ZdZdZd Zd Zd Zd Zd Z	d Z
y	)
TestGenericUnivNewlinesrwbc                     | j                   }d| j                  v r|j                  d      }| j                  t        j
                  | j                        5 }|j                  |       d d d        y # 1 sw Y   y xY w)Nbascii)DATA	WRITEMODEencoder   r   TESTFNwrite)selfdatafps      r   setUpzTestGenericUnivNewlines.setUp.   s_    yy$.. ;;w'DYYy''8 	BHHTN	 	 	s   A11A:c                 Z    	 t        j                  t        j                         y #  Y y xY wN)osunlinkr   r!   )r#   s    r   tearDownz TestGenericUnivNewlines.tearDown5   s#    	IIi&&'	s   #& *c                 >   | j                  t        j                  | j                        5 }|j	                         }d d d        | j                  t               | j                  t        j                        t        | j                               y # 1 sw Y   XxY wr(   )
r   r   r!   READMODEreadassertEqualDATA_LFreprr   NEWLINEr#   r%   r$   s      r   	test_readz!TestGenericUnivNewlines.test_read;   sn    YYy''7 	2779D	w'bkk*D,>?	 	   BBc                 >   | j                  t        j                  | j                        5 }|j	                         }d d d        | j                  t               | j                  t        j                        t        | j                               y # 1 sw Y   XxY wr(   )
r   r   r!   r-   	readlinesr/   
DATA_SPLITr1   r   r2   r3   s      r   test_readlinesz&TestGenericUnivNewlines.test_readlinesA   sn    YYy''7 	"2<<>D	"z*bkk*D,>?	" 	"r5   c                    | j                  t        j                  | j                        5 }g }|j	                         }|r$|j                  |       |j	                         }|r$d d d        | j                  t               | j                  t        j                        t        | j                               y # 1 sw Y   XxY wr(   )r   r   r!   r-   readlineappendr/   r8   r1   r   r2   )r#   r%   r$   ds       r   test_readlinez%TestGenericUnivNewlines.test_readlineG   s    YYy''7 	"2DAAKKM 	" 	z*bkk*D,>?	" 	"s   8B;;Cc                    | j                  t        j                  | j                        5 }|j	                          |j                         }|j                         }| j                  |t        dd         |j                  |       |j                         }d d d        | j                  t        dd         y # 1 sw Y   #xY w)N   )
r   r   r!   r-   r;   tellr7   r/   r8   seek)r#   r%   posr$   s       r   	test_seekz!TestGenericUnivNewlines.test_seekQ   s    YYy''7 	"2KKM'')C<<>DT:ab>2GGCL<<>D	" 	z!"~.	" 	"s   A+B88CN)r   r   r   r-   r   r&   r+   r4   r9   r>   rD   r   r   r   r   r   (   s/     HI@@@/r   r   c                       e Zd ZdZeZy)TestCRNewlinesr   N)r   r   r   r2   DATA_CRr   r   r   r   rF   rF   \       GDr   rF   c                       e Zd Zy)CTestCRNewlinesNr   r   r   r   r   r   rJ   rJ   _       r   rJ   c                       e Zd Zy)PyTestCRNewlinesNrK   r   r   r   rN   rN   `   rL   r   rN   c                       e Zd ZdZeZy)TestLFNewlinesr   N)r   r   r   r2   r0   r   r   r   r   rP   rP   b   rH   r   rP   c                       e Zd Zy)CTestLFNewlinesNrK   r   r   r   rR   rR   e   rL   r   rR   c                       e Zd Zy)PyTestLFNewlinesNrK   r   r   r   rT   rT   f   rL   r   rT   c                       e Zd ZdZeZd Zy)TestCRLFNewlinesr   c                    | j                  t        j                  | j                        5 }| j	                  t        |j                        t        d              |j                         }|j                         }d d d        | j	                  t        j                        t        | j                               y # 1 sw Y   BxY wr(   )
r   r   r!   r-   r/   r1   r   r;   rA   r2   )r#   r%   r$   rC   s       r   	test_tellzTestCRLFNewlines.test_telll   s    YYy''7 	2T"++.T
;;;=D'')C	 	bkk*D,>?		 	s   AB;;CN)r   r   r   r2   	DATA_CRLFr   rX   r   r   r   rV   rV   h   s    GD@r   rV   c                       e Zd Zy)CTestCRLFNewlinesNrK   r   r   r   r[   r[   r   rL   r   r[   c                       e Zd Zy)PyTestCRLFNewlinesNrK   r   r   r   r]   r]   s   rL   r   r]   c                       e Zd ZdZeZy)TestMixedNewlines)r   r   N)r   r   r   r2   
DATA_MIXEDr   r   r   r   r_   r_   u   s    GDr   r_   c                       e Zd Zy)CTestMixedNewlinesNrK   r   r   r   rb   rb   x   rL   r   rb   c                       e Zd Zy)PyTestMixedNewlinesNrK   r   r   r   rd   rd   y   rL   r   rd   __main__)%r   _pyior   unittestr)   systest.supportr   hasattrstdinSkipTestFATXDATA_TEMPLATEjoinr0   rG   rY   r`   r8   r
   r   r   rF   TestCaserJ   rN   rP   rR   rT   rV   r[   r]   r_   rb   rd   r   main)r   s   0r   <module>rr      s   	   	 
 " syy*%
(

=? ? e} ) T ))M
"T
)
))M
"T
)KK&/	 YY}%,
 -.1a$h.
 # #1/ 1/h,  Fe^X->-> E Gv~x/@/@ G,  Fe^X->-> E Gv~x/@/@ G	@. 	@ J/1B1B I K!183D3D K/  L 183D3D K M&"3X5F5F MzHMMO w /s   "G