a zeR@sddlZddlZddlZddlZddlZddlmZeej dsJe dddZ ddd d e gZ d e d Zd e d Zd e d Zd e d Zdde DZGdddZGdddZGdddZGdddeZGdddeeejZGdddeeejZGdddeZGdddeeejZGd d!d!eeejZGd"d#d#eZGd$d%d%eeejZGd&d'd'eeejZGd(d)d)eZ Gd*d+d+ee ejZ!Gd,d-d-ee ejZ"e#d.kre$dS)/N)supportnewlinesz3This Python does not have universal newline supportxi@zline1=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.'zdef line3():passz line4 = '%s'   cCsg|] }|dqS)r).0rrrJ/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_univnewlines.py r c@seZdZejZdS)CTestN)__name__ __module__ __qualname__ioopenrrrr r !sr c@seZdZeejZdS)PyTestN)rrr staticmethodpyiorrrrr r$src@sDeZdZdZdZddZddZddZd d Zd d Z d dZ dS)TestGenericUnivNewlinesrwbcCsX|j}d|jvr|d}|tj|j}||Wdn1sJ0YdS)Nbascii)DATA WRITEMODEencoderrTESTFNwrite)selfdatafprrr setUp-s   zTestGenericUnivNewlines.setUpcCs"zttjWn Yn0dSN)osunlinkrr)r rrr tearDown4sz TestGenericUnivNewlines.tearDowncCs`|tj|j}|}Wdn1s.0Y||t|t|jt|j dSr$) rrrREADMODEread assertEqualDATA_LFreprrNEWLINEr r"r!rrr test_read:s& z!TestGenericUnivNewlines.test_readcCs`|tj|j}|}Wdn1s.0Y||t|t|jt|j dSr$) rrrr( readlinesr* DATA_SPLITr,rr-r.rrr test_readlines@s& z&TestGenericUnivNewlines.test_readlinescCs||tj|j4}g}|}|r6|||}qWdn1sJ0Y||t|t|j t|j dSr$) rrrr(readlineappendr*r1r,rr-)r r"r!drrr test_readlineFs ( z%TestGenericUnivNewlines.test_readlinecCs|tj|jN}||}|}||tdd| ||}Wdn1sd0Y||tdddS)N) rrrr(r3tellr0r*r1seek)r r"posr!rrr test_seekPs &z!TestGenericUnivNewlines.test_seekN) rrrr(rr#r'r/r2r6r;rrrr r's rc@seZdZdZeZdS)TestCRNewlinesrN)rrrr-DATA_CRrrrrr r<[sr<c@s eZdZdS)CTestCRNewlinesNrrrrrrr r>^r r>c@s eZdZdS)PyTestCRNewlinesNr?rrrr r@_r r@c@seZdZdZeZdS)TestLFNewlinesrN)rrrr-r+rrrrr rAasrAc@s eZdZdS)CTestLFNewlinesNr?rrrr rBdr rBc@s eZdZdS)PyTestLFNewlinesNr?rrrr rCer rCc@seZdZdZeZddZdS)TestCRLFNewlinesrcCsr|tj|j6}|t|jtd|}|}Wdn1sL0Y|t|jt|j dSr$) rrrr(r*r,rr3r8r-)r r"r!r:rrr test_tellks &zTestCRLFNewlines.test_tellN)rrrr- DATA_CRLFrrErrrr rDgsrDc@s eZdZdS)CTestCRLFNewlinesNr?rrrr rGqr rGc@s eZdZdS)PyTestCRLFNewlinesNr?rrrr rHrr rHc@seZdZdZeZdS)TestMixedNewlines)rrN)rrrr- DATA_MIXEDrrrrr rItsrIc@s eZdZdS)CTestMixedNewlinesNr?rrrr rKwr rKc@s eZdZdS)PyTestMixedNewlinesNr?rrrr rLxr rL__main__)%rZ_pyiorZunittestr%systestrhasattrstdinZSkipTestZFATXZ DATA_TEMPLATEjoinr+r=rFrJr1r rrr<ZTestCaser>r@rArBrCrDrGrHrIrKrLrmainrrrr sJ   4