3  f$@sdZddlmZddlZddlmZddlmZddlZGdddejZ Gdd d e Z Gd d d Z Gd d d ejZ GdddejZedkrejdddS)zTest run, coverage 42%.)runN)mock)captured_stderrc@seZdZddZdS)RunTestcCsGdddt}|d}|d}y ||Wnp|k ry|WnR|k rt2}tjjtd}dd|_tjWdQRXWdQRXYnXYnX|jj j }|j dt ||j d |d |j d |d dS) Nc@seZdZddZdS)zDRunTest.test_print_exception_unhashable..UnhashableExceptioncSsdS)NT)selfotherrr?/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_run.py__eq__szKRunTest.test_print_exception_unhashable..UnhashableException.__eq__N)__name__ __module__ __qualname__r rrrr UnhashableException srex1ex2Zcleanup_tracebackcSs|S)Nr)terrr sz9RunTest.test_print_exception_unhashable.. zUnhashableException: ex2zUnhashableException: ex1 ) ExceptionrrZpatchobjectrZ side_effectprint_exceptiongetvaluestrip splitlines assertEquallenZassertIn)rrrroutputZcttbrrr test_print_exception_unhashable s$  (z'RunTest.test_print_exception_unhashableN)r r r r!rrrr r src@s<eZdZddZddZddZddZd d Zd d Zd S)ScCsdt|jS)Nz%s:str)typer )rrrr __str__(sz S.__str__cCsdt|jS)Nz %s:unicode)r#r )rrrr __unicode__*sz S.__unicode__cCsdS)Nrr)rrrr __len__,sz S.__len__cCstdS)Nabc)iter)rrrr __iter__.sz S.__iter__cGsdt|jS)Nz%s:item)r#r )rargsrrr __getitem__0sz S.__getitem__cGsdt|jS)Nz%s:slice)r#r )rr*rrr __getslice__2szS.__getslice__N) r r r r$r%r&r)r+r,rrrr r"'s r"c@s<eZdZddZddZddZddZd d Zd d Zd S) MockShellcCs |jdS)N)reset)rrrr __init__7szMockShell.__init__cGs|jj|dS)N)writtenappend)rr*rrr write9szMockShell.writecCs |jjS)N)linespop)rrrr readline;szMockShell.readlinecCsdS)Nr)rrrr close=szMockShell.closecCs g|_dS)N)r0)rrrr r.?szMockShell.resetcCst|ddd|_dS)N)listr3)rr3rrr pushAszMockShell.pushN) r r r r/r2r5r6r.r:rrrr r-6s r-c@s<eZdZddZddZddZddZd d Zd d Zd S)PseudeInputFilesTestcCst}tj|dd}|j|tj|j|jd|j|j |j|j |j|j d|j |j |j|j|j|j|j |j|j |jdS)Nstdinzutf-8z)r-rPseudoInputFileassertIsInstanceio TextIOBaserencoding assertIsNoneerrorsnewlinesname assertFalseclosed assertTrueisattyreadablewritableseekable)rshellfrrr test_miscGs   zPseudeInputFilesTest.test_misccCsft}tj|dd}|jt|j|jt|j|jt|jd|jt|jd|jt|j dgdS)Nr<zutf-8rx) r-rr= assertRaisesOSErrorfilenotellseekr2 writelines)rrMrNrrr test_unsupportedUsz%PseudeInputFilesTest.test_unsupportedcCst}tj|dd}|jdddg|j|jd|jdddg|j|jdd|jdddg|j|jdd|jddddg|j|jd d |j|jd d |j|jd d|jddg|j|jdd|jt|jd|jt|jd|jt|jdddS)Nr<zutf-8zone ztwo zone two r7zthree onrze trz wo three rg?1r8)r-rr=r:rreadrQ TypeError)rrMrNrrr test_read^s"zPseudeInputFilesTest.test_readcCsdt}tj|dd}|jddddg|j|jd|j|jdd|j|jdd|jdg|j|jd|j|jd|jd d d g|j|jd |j|jd |jdddg|j|jd d |j|jdd|j|jdd|j|jdd|jddg|j|jdd|jt|jd|jt|jd|jt|jdddS)Nr<zutf-8zone ztwo zthree zfour r7zone two ZonetwoZthreerYrZr rrrXg?r[r8) r-rr=r:rr5rQr] readlines)rrMrNrrr test_readliners, z"PseudeInputFilesTest.test_readlinecCs:t}tj|dd}|jdddg|j|jddg|jdddg|j|jd ddg|jdddg|j|jdddg|jdddg|j|jdddg|jdddg|j|jddg|jdddg|j|jd ddg|jdddg|jt|jd |jt|jd |jt|jdddS) Nr<zutf-8zone ztwo rXr7rrg?r[r8)r-rr=r:rrarQr])rrMrNrrr test_readliness$z#PseudeInputFilesTest.test_readlinescCsxt}tj|dd}|jdddg|j|j|j|jd|j|j|j|j|jd|j t |jddS)Nr<zutf-8zone ztwo rXr7) r-rr=r:rFrGrr5r6rQr])rrMrNrrr test_closes  zPseudeInputFilesTest.test_closeN) r r r rOrWr^rbrdrerrrr r;Es  r;c@s4eZdZddZddZddZddZd d Zd S) PseudeOutputFilesTestcCst}tj|dd}|j|tj|j|jd|j|j |j|j |j|j d|j |j |j|j|j |j|j|j|j |jdS)Nstdoutzutf-8z)r-rPseudoOutputFiler>r?r@rrArBrCrDrErFrGrHrIrJrKrL)rrMrNrrr rOs   zPseudeOutputFilesTest.test_misccCsdt}tj|dd}|jt|j|jt|j|jt|jd|jt|jd|jt|j ddS)Nrgzutf-8r) r-rrhrQrRrSrTrUr\r5)rrMrNrrr rWsz&PseudeOutputFilesTest.test_unsupportedcCst}tj|dd}|jd|j|jd g|j|jd|j|jd g|j|jtd|j|jd g|jt|jddt |j|j t |j|j|jg|j t |jd|j t |jd|j|jg|j t |jdd|j|jgdS) Nrgzutf-8testtèstrstest{Zspam)rirg)rjrg)rjrg) r-rrhr2rr0r.r"r#strrQr])rrMrNrrr test_writes&  z PseudeOutputFilesTest.test_writecCsVt}tj|dd}|jg|j|jg|j|jddg|j|jd d g|j|jddg|j|jd dg|j|jtdg|j|jdg|jt|jddt |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|jgdS)Nrgzutf-8one r_onè twòtèstrrkstest)rnrg)r_rg)rorg)rprg)rqrg) r-rrhrVrr0r.r"r#rlrQr])rrMrNrrr test_writeliness4   z%PseudeOutputFilesTest.test_writelinescCszt}tj|dd}|j|j|jd|j|j|j|jt |jd|j |j dg|j|jt |jddS)Nrgzutf-8rirPr7)rirg) r-rrhrFrGr2r6rHrQ ValueErrorrr0r])rrMrNrrr res   z PseudeOutputFilesTest.test_closeN)r r r rOrWrmrrrerrrr rfs  rf__main__rY) verbosity)__doc__ZidlelibrZunittestrZ test.supportrr?ZTestCaserrlr"r-r;rfr mainrrrr s   g[