ํีYfiใ@sฐdZddlmZddlZddlmZddlmZmZm Z ddl m Z Gdd„dej ƒZ Gd d „d ej ƒZed krฌejd d ƒdS)z.Test idlelib.WidgetRedirector. 100% coverage ้)ฺrequiresN)ฺFunc)ฺTkฺTextฺTclError)ฺWidgetRedirectorc@sLeZdZedd„ƒZedd„ƒZdd„Zdd„Zd S) ฺ InitCloseTestcCs9tdƒtƒ|_|jjƒt|jƒ|_dS)Nฺgui)rrฺrootฺwithdrawrฺtext)ฺclsฉr๚G/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_widgetredir.pyฺ setUpClasss   zInitCloseTest.setUpClasscCs|`|jjƒ|`dS)N)r r ฺdestroy)r rrrฺ tearDownClasss zInitCloseTest.tearDownClasscCsbt|jƒ}|j|j|jƒ|j|j|jjƒ|jtt|jƒ|jƒdS)N)rr ฺ assertEqualฺwidgetฺtkZ assertRaisesrฺclose)ฺselfฺredirrrrฺ test_inits zInitCloseTest.test_initcCsYt|jƒ}|jdtƒ|jƒ|j|jiƒ|jt|jdƒƒdS)Nฺinsertr) rr ฺregisterrrrฺ _operationsฺ assertFalseฺhasattr)rrrrrฺ test_close"s  zInitCloseTest.test_closeN)ฺ__name__ฺ __module__ฺ __qualname__ฺ classmethodrrrrrrrrr s  rc@sธeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)ฺWidgetRedirectorTestcCs9tdƒtƒ|_|jjƒt|jƒ|_dS)Nr )rrr r rr )r rrrr,s   zWidgetRedirectorTest.setUpClasscCs*|`|jjƒ|jjƒ|`dS)N)r r Zupdate_idletasksr)r rrrr3s  z"WidgetRedirectorTest.tearDownClasscCsPt|jƒ|_tƒ|_|jjd|jƒ|_|jjddƒdS)Nrฺasdf)rr rrฺfuncrฺ orig_insertr)rrrrฺsetUp:s zWidgetRedirectorTest.setUpcCs$|jjddƒ|jjƒdS)Nz1.0ฺend)r ฺdeleterr)rrrrฺtearDown@szWidgetRedirectorTest.tearDowncCs6|jdt|jƒƒ|jdt|jƒƒdS)NZ RedirectorZOriginal)ฺassertInฺreprrr')rrrrฺ test_reprDszWidgetRedirectorTest.test_reprcCs~|j|jjddƒdƒ|j|jjdƒ|jd|jjƒ|jd|jjƒ|j|jj |jƒdS)Nz1.0r)ฺ rr%)rr%) rr ฺgetr&ฺargsr,rrฺ__dict__r)rrrrฺ test_registerHs z"WidgetRedirectorTest.test_registercCsh|j|jjdƒ|j|jj|jjjƒ|jddƒ|j|jjddƒdƒdS)Nrr%z1.0r)zasdf )rr'Z operationZtk_callr rฺcallr0)rrrrฺtest_original_commandOsz*WidgetRedirectorTest.test_original_commandcCsh|j|jjdƒƒ|j|jjdƒ|jƒ|jd|jjƒ|jd|jjƒdS)Nzinvalid operation namer) Z assertIsNonerฺ unregisterrr&Z assertNotInrr r2)rrrrฺtest_unregisterUsz$WidgetRedirectorTest.test_unregistercCs,|j`|j|jjdƒ|jƒdS)Nr)r rrrr6r&)rrrrฺtest_unregister_no_attribute[s z1WidgetRedirectorTest.test_unregister_no_attributecCsG|jjdƒ|j|jjddƒƒ|j|jjdƒdS)NTrFr)r&ฺ__init__Z assertTruerฺdispatchrr1)rrrrฺtest_dispatch_intercept_sz,WidgetRedirectorTest.test_dispatch_interceptcCsU|jddƒ|j|jjdddƒdƒ|j|jjddƒdƒdS)Nrr%r*z1.0r)ฺr/)r'rrr:r r0)rrrrฺtest_dispatch_bypassds"z)WidgetRedirectorTest.test_dispatch_bypasscCsR|jjtƒƒ|j|jjddƒdƒ|j|jjdƒdƒdS)NrFr<Zinvalid)r&r9rrrr:)rrrrฺtest_dispatch_errorjsz(WidgetRedirectorTest.test_dispatch_errorcCs|jj|jjddƒ|j|jjdƒ|j|jjddƒdƒ|jjt ƒƒ|j|jj|jjddƒdƒdS) Nrฺhelloz1.0r)r/Zboor<)r?) r r4r Z_wrr&r1r0r9r)rrrrฺtest_command_dispatchos z*WidgetRedirectorTest.test_command_dispatchN)r r!r"r#rrr(r+r.r3r5r7r8r;r=r>r@rrrrr$*s           r$ฺ__main__ฺ verbosity้)ฺ__doc__Z test.supportrZunittestZidlelib.idle_test.mock_idlerZtkinterrrrZidlelib.WidgetRedirectorrZTestCaserr$r ฺmainrrrrฺs R