íÕYf® ã@s£ddlZddlZddlmZmZGdd„deƒZGdd„dƒZGdd„dejƒZ Gd d „d ejƒZ e d krŸej ƒdS) éN)ÚPseudoInputFileÚPseudoOutputFilec@sXeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚScCsdt|ƒjS)Nz%s:str)ÚtypeÚ__name__)Úself©rú>/opt/alt/python35/lib64/python3.5/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@r%)rAr%)rAr%) 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)rFr%)rGr%)rHr%)rIr%)rJr%) rrÚ writelinesr)rrrrrCr9rD)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 )r@r%) rrr/r0rrr1r9Ú ValueErrorr)rrD)rr6r7rrr Ú test_closeus    z PseudeOutputFilesTest.test_closeN)rrrr8r?rErLrOrrrr 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)NrQzutf-8rrM) rrr9r:r;r<r=rrK)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)NrQzutf-8zone ztwo Úzone two r zthree éÚonr ze té z wo three rgø?Ú1r!)rrr#r)r>r9rD)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)NrQzutf-8zone ztwo zthree zfour r zone two ZonerGZthreerSrTÚeÚ rUrrRgø?rVr!)rrr#r)rr9rDÚ 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) NrQzutf-8zone ztwo rRr rr égø?rVr!)rrr#r)rZr9rD)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)NrQzutf-8zone ztwo rRr ) rrr#r/r0r)rrr9rD)rr6r7rrr rOÜs  zPseudeInputFilesTest.test_closeN) rrrr8r?rWr[r]rOrrrr rP‚s     rPÚ__main__) Zunittestr'Zidlelib.PyShellrrrCrrZTestCaser$rPrÚmainrrrr Ús  Zf