î e f® ã@s¦ddlZddlZddlmZmZGdd„deƒZGdd„dƒZGdd„dejƒZ Gd d „d ejƒZ e d kr¢ej ƒndS) éN)ÚPseudoInputFileÚPseudoOutputFilec@sXeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚScCsdt|ƒjS)Nz%s:str)ÚtypeÚ__name__)Úself©rú>/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_io.pyÚ__str__sz S.__str__cCsdt|ƒjS)Nz %s:unicode)rr)rrrr Ú __unicode__ sz S.__unicode__cCsdS)Nér)rrrr Ú__len__ sz S.__len__cCs tdƒS)NÚabc)Úiter)rrrr Ú__iter__ sz S.__iter__cGsdt|ƒjS)Nz%s:item)rr)rÚargsrrr Ú __getitem__sz S.__getitem__cGsdt|ƒjS)Nz%s:slice)rr)rrrrr Ú __getslice__szS.__getslice__N) rÚ __module__Ú __qualname__r r r rrrrrrr rs      rc@sXeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)Ú MockShellcCs|jƒdS)N)Úreset)rrrr Ú__init__szMockShell.__init__cGs|jj|ƒdS)N)ÚwrittenÚappend)rrrrr ÚwriteszMockShell.writecCs |jjƒS)N)ÚlinesÚpop)rrrr ÚreadlineszMockShell.readlinecCsdS)Nr)rrrr ÚcloseszMockShell.closecCs g|_dS)N)r)rrrr r!szMockShell.resetcCs t|ƒddd…|_dS)Nééÿÿÿÿ)Úlistr)rrrrr Úpush$szMockShell.pushN) rrrrrrrrr#rrrr rs      rc@sLeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ÚPseudeOutputFilesTestcCsÔtƒ}t|ddƒ}|j|tjƒ|j|jdƒ|j|jƒ|j|j ƒ|j|j dƒ|j |j ƒ|j |jƒƒ|j |jƒƒ|j |jƒƒ|j |jƒƒdS)NÚstdoutzutf-8z)rrÚassertIsInstanceÚioÚ TextIOBaseÚ assertEqualÚencodingÚ assertIsNoneÚerrorsÚnewlinesÚnameÚ assertFalseÚclosedÚ assertTrueÚisattyÚreadableÚwritableÚseekable)rÚshellÚfrrr Ú test_misc)s zPseudeOutputFilesTest.test_misccCs‡tƒ}t|ddƒ}|jt|jƒ|jt|jƒ|jt|jdƒ|jt|jdƒ|jt|jdƒdS)Nr%zutf-8r) rrÚ assertRaisesÚOSErrorÚfilenoÚtellÚseekÚreadr)rr6r7rrr Útest_unsupported7s z&PseudeOutputFilesTest.test_unsupportedcCs^tƒ}t|ddƒ}|jdƒ|j|jd gƒ|jƒ|jdƒ|j|jd gƒ|jƒ|jtdƒƒ|j|jd gƒ|jt|jddƒtƒ|jƒ|j t |jƒ|j|jgƒ|j t |jdƒ|j t |jdƒ|j|jgƒ|j t |jddƒ|j|jgƒdS) Nr%zutf-8Útestõtèstrstesté{Zspam)r@ústdout)rArC)rArC) rrrr)rrrrÚstrr9Ú TypeError)rr6r7rrr Ú test_write@s&     ! z PseudeOutputFilesTest.test_writecCsÌtƒ}t|ddƒ}|jgƒ|j|jgƒ|jƒ|jddgƒ|j|jd d gƒ|jƒ|jddgƒ|j|jd dgƒ|jƒ|jtdƒgƒ|j|jdgƒ|jt|jddƒtƒ|jƒ|j t |jƒ|j|jgƒ|j t |jd ƒ|j|jgƒ|j t |jd gƒ|j t |jd gƒ|j|jgƒ|j t |jggƒ|j|jgƒdS)Nr%zutf-8úone Útwoõonè õtwòõtèstrrBstest)rGústdout)rHrL)rIrL)rJrL)rKrL) rrÚ writelinesr)rrrrrDr9rE)rr6r7rrr Útest_writelinesWs4         ! z%PseudeOutputFilesTest.test_writelinescCs¢tƒ}t|ddƒ}|j|jƒ|jdƒ|jƒ|j|jƒ|jt|jdƒ|j |j dgƒ|jƒ|jt |jdƒdS)Nr%zutf-8r@Úxr )ztestzstdout) rrr/r0rrr1r9Ú ValueErrorr)rrE)rr6r7rrr Ú test_closeus    z PseudeOutputFilesTest.test_closeN)rrrr8r?rFrNrQrrrr r$(s    r$c@sXeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚPseudeInputFilesTestcCsÔtƒ}t|ddƒ}|j|tjƒ|j|jdƒ|j|jƒ|j|j ƒ|j|j dƒ|j |j ƒ|j |jƒƒ|j |jƒƒ|j |jƒƒ|j |jƒƒdS)NÚstdinzutf-8z)rrr&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5)rr6r7rrr r8ƒs zPseudeInputFilesTest.test_misccCsŠtƒ}t|ddƒ}|jt|jƒ|jt|jƒ|jt|jdƒ|jt|jdƒ|jt|jdgƒdS)NrSzutf-8rrO) rrr9r:r;r<r=rrM)rr6r7rrr r?‘s z%PseudeInputFilesTest.test_unsupportedcCs~tƒ}t|ddƒ}|jdddgƒ|j|jƒdƒ|jdddgƒ|j|jdƒdƒ|jdddgƒ|j|jdƒdƒ|jddddgƒ|j|jd ƒd ƒ|j|jd ƒd ƒ|j|jd ƒdƒ|jddgƒ|j|jdƒdƒ|jt|jdƒ|jt|jdƒ|jt|jddƒdS)NrSzutf-8zone ztwo Úzone two r zthree éÚonr ze té z wo three rgø?Ú1r!)rrr#r)r>r9rE)rr6r7rrr Ú test_readšs" zPseudeInputFilesTest.test_readcCsétƒ}t|ddƒ}|jddddgƒ|j|jƒdƒ|j|jdƒdƒ|j|jdƒdƒ|jdgƒ|j|jƒdƒ|j|jƒdƒ|jd d d gƒ|j|jƒd ƒ|j|jƒd ƒ|jdddgƒ|j|jd ƒd ƒ|j|jdƒdƒ|j|jdƒdƒ|j|jdƒdƒ|jddgƒ|j|jdƒdƒ|jt|jdƒ|jt|jdƒ|jt|jddƒdS)NrSzutf-8zone ztwo zthree zfour r zone two ZonerHZthreerUrVÚeÚ rWrrTgø?rXr!)rrr#r)rr9rEÚ readlines)rr6r7rrr Ú test_readline®s, z"PseudeInputFilesTest.test_readlinecCs²tƒ}t|ddƒ}|jdddgƒ|j|jƒddgƒ|jdddgƒ|j|jd ƒddgƒ|jdddgƒ|j|jdƒddgƒ|jdddgƒ|j|jdƒddgƒ|jdddgƒ|j|jdƒdgƒ|jdddgƒ|j|jd ƒddgƒ|jdddgƒ|jt|jd ƒ|jt|jd ƒ|jt|jddƒdS) NrSzutf-8zone ztwo rTr rr égø?rXr!)rrr#r)r\r9rE)rr6r7rrr Útest_readlinesÇs$ z#PseudeInputFilesTest.test_readlinescCs¡tƒ}t|ddƒ}|jdddgƒ|j|jƒ|j|jƒdƒ|jƒ|j|jƒ|j|jƒdƒ|jt |jdƒdS)NrSzutf-8zone ztwo rTr ) rrr#r/r0r)rrr9rE)rr6r7rrr rQÜs  zPseudeInputFilesTest.test_closeN) rrrr8r?rYr]r_rQrrrr rR‚s     rRÚ__main__) Zunittestr'Zidlelib.PyShellrrrDrrZTestCaser$rRrÚmainrrrr Ús  Zf