iddlZddlZddlZddlZGddZGddZGddeZGdd ejj j Z e d krej dSdS) NcPeZdZgdZejgZdZdZdZ dZ dZ dZ dZ d S) Persists) GetClassIDIsDirtyLoadSave GetSizeMaxInitNewc"d|_d|_dS)Nsabcdefg)datadirtyselfs GC:\PYTHON\_runtimes\venv\Lib\site-packages\win32com/test/testStreams.py__init__zPersists.__init__s  ctjSN) pythoncomIID_NULLrs rrzPersists.GetClassIDs !!rc|jSr)rrs rrzPersists.IsDirtys zrc:|d|_dS)N)Readr )rstreams rrz Persists.LoadsKKOO rcP||j|r d|_dSdSNr)Writer r)rr clearDirtys rrz Persists.Save s3 TY  DJJJ  rcdS)Nirs rr zPersists.GetSizeMax%strcdSrr"rs rr zPersists.InitNew(s rN)__name__ __module__ __qualname___public_methods_rIID_IPersistStreamInit_com_interfaces_rrrrrr r r"rrrrs"89"""$$$      rrc>eZdZgdZejgZdZdZdZ dZ dS)Stream)rrSeekc"||_d|_dSrr indexrr s rrzStream.__init__0s  rc^|j|j|j|z}|xj|z c_|Srr.)ramountresults rrz Stream.Read4s14: V(;;< f  rc<||_d|_t|Sr)r r/lenr0s rrz Stream.Write9s  4yyrc|tjkr||_nm|tjkr|xj|z c_nL|tjkrt |j|z|_ntdt|z|jdkrd|_n,t|jt |j|_|jS)NzUnknown Seek type: r) rSTREAM_SEEK_SETr/STREAM_SEEK_CURSTREAM_SEEK_ENDr5r ValueErrorstrmin)rdistorigins rr,z Stream.Seek>s Y. . .DJJ y0 0 0 JJ$ JJJ y0 0 0TY$.DJJ2S[[@AA A :>>DJJTZTY88DJzrN) r$r%r&r'r IID_IStreamr)rrrr,r"rrr+r+,sh000!-.      rr+ceZdZdZdZdS) BadStreamzwPyGStream::Read could formerly overflow buffer if the python implementation returned more data than requested. cd|dzzS)Nxr r")rr2s rrzBadStream.ReadSsvz""rN)r$r%r&__doc__rr"rrrArANs-#####rrAc(eZdZddZdZdZdZdS) StreamTestNc||}|||dtj|t |}||||dtj|t |dz }||dd|dS)Nrr )rr,rr7rr5 assertEqual)rr write_stream read_streamgots r _readWritezStreamTest._readWriteXs  &K4   I5666s4yy)) s###I5666s4yy1}-- adS)))))rc(d}t|}t}||||d||j|t jj |tj }t jj |tj }| |||| |||| |||| |||| d||||||||d||j|dS)Nsabcdefghijklmnopqrstuvwxyzrsstring witha NULL)r+rrrrJr win32comserverutilwraprr?r(rNr)rmydatasps2p2s rtestitzStreamTest.testitcsM. 6NN JJ q  q!  (((_ ! & &q)*? @ @ _ ! & &q)*J K K 1%%% 2&&& A&&& B''' .B777    A (((((rctd}tjj|t j}|dt jdS)Nsyol) r+rPrQrRrSrr?r,r7)rrUs rtestseekzStreamTest.testseeksG 5MM O % %a)> ? ? {I566666rctjj\}}t d}tjj|tj}| tj |j dtjj || t|d||djddS)NzCheck for buffer overflow r rzpythoncom error)rPtestrRsetup_test_loggerrArQrSrr? assertRaises com_errorrrestore_test_loggerrJr5 assertTruemsg startswith)rrecordsold_log badstream badstream2s r testerrorszStreamTest.testerrorss#=-??AA9:: _)..y):OPP  )-zCCC ..w777 Wq)))  112CDDEEEEErr)r$r%r&rNrYr[rjr"rrrFrFWsZ * * * *)))8777 F F F F FrrF__main__)unittestrwin32com.server.utilrPwin32com.test.utilrr+rAr^rRTestCaserFr$mainr"rrrqs! ! ! ! ! ! ! ! HD########8F8F8F8F8F#,8F8F8Fv zHMOOOOOr