3 § f½ã@sädZddlmZddlZddlmZmZddlmZm Z ddl m Z ddl m Z ddlmZddlZdd lmZejZGd d „d ejƒZGd d „d ejƒZGdd„dejƒZGdd„dƒZGdd„dejƒZedkràejdd�dS)z„Test help_about, coverage 100%. help_about.build_bits branches on sys.platform='darwin'. '100% combines coverage on Mac and others. é)Ú help_aboutN)ÚrequiresÚfindfile)ÚTkÚTclError)ÚFunc)Ú Mbox_func)Útextview)Úpython_versionc@sPeZdZdZedd„ƒZedd„ƒZdd„Zdd „Zd d „Z d d „Z dd„Z dS)ÚLiveDialogTestzmSimulate user clicking buttons other than [Close]. Test that invoked textview has text from source. cCs0tdƒtƒ|_|jjƒt|jddd�|_dS)NÚguiz About IDLET)Ú_utest)rrÚrootÚwithdrawÚAboutÚdialog)Úcls©rúF/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_help_about.pyÚ setUpClasss zLiveDialogTest.setUpClasscCs |`|jjƒ|jjƒ|`dS)N)rrÚupdate_idletasksÚdestroy)rrrrÚ tearDownClasss  zLiveDialogTest.tearDownClasscCs|jtjƒdƒdS)NÚ32Ú64)rr)ZassertInrÚ build_bits)ÚselfrrrÚtest_build_bits&szLiveDialogTest.test_build_bitscCs|j|jjƒdƒdS)zTest about dialog titlez About IDLEN)Ú assertEqualrÚtitle)rrrrÚtest_dialog_title)sz LiveDialogTest.test_dialog_titlecCs8tjj|jjdƒ\}}tjj|ƒ\}}|j|dƒdS)zTest about dialog logo.ÚfileZidle_48N)ÚosÚpathÚsplitrZ icon_imageÚsplitextr)rr#r!ÚfnZextrrrÚtest_dialog_logo-szLiveDialogTest.test_dialog_logoc Cs²|j}|jtdf|jtdf|jtdfg}x„|D]|\}}}|j|d��`|jƒ|j ƒ|j j j j j}|j}|j|d|ddƒƒ|j|d|d d ƒƒ|j jƒWd QRXq.Wd S) z1Test buttons whose commands use printer function.ÚlicenseÚ copyrightÚcredits)Únamerz1.0z1.endéz2.0z2.endN)rZ py_licenser(Z py_copyrightr)Z py_creditsr*ÚsubTestÚ_Printer__setupÚinvokeÚ_current_textviewÚ viewframeÚ textframeÚtextÚgetÚ_Printer__linesrr)rrÚbutton_sourcesÚbuttonZprinterr+r4ÚlinesrrrÚtest_printer_buttons3s  z#LiveDialogTest.test_printer_buttonsc CsÞ|j}|jjddf|jjddf|jjddfg}xª|D]¢\}}}|j|d��†|jƒt|dd �}|jjj j j }t |d d ��B}|j |jƒjƒ|d d ƒƒ|jƒ|j |jƒjƒ|ddƒƒWdQRX|jjƒWdQRXq4WdS)z Test buttons that display files.z README.txtÚreadmezNEWS.txtZnewsz CREDITS.txtr*)r+Úidlelib)Zsubdirzutf-8)Úencodingz1.0z1.endz3.0z3.endN)rr:Ú idle_newsÚ idle_creditsr-r/rr0r1r2r3r4ÚopenrÚreadlineÚstripr) rrr6r7Úfilenamer+r&r4ÚfrrrÚtest_file_buttonsDs   $z LiveDialogTest.test_file_buttonsN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodrrrr r'r9rDrrrrr s  r c@s0eZdZdZedd„ƒZedd„ƒZdd„ZdS) ÚDefaultTitleTestzTest default title.cCs.tdƒtƒ|_|jjƒt|jdd�|_dS)Nr T)r )rrrrrr)rrrrrZs zDefaultTitleTest.setUpClasscCs |`|jjƒ|jjƒ|`dS)N)rrrr)rrrrras  zDefaultTitleTest.tearDownClasscCs*|j|jjƒdtƒ›dtjƒ›d�ƒdS)zTest about dialog titlez About IDLE z (z bit)N)rrrr rr)rrrrr hs z"DefaultTitleTest.test_dialog_titleN)rErFrGrHrIrrr rrrrrJWs  rJc@s0eZdZdZedd„ƒZedd„ƒZdd„ZdS) Ú CloseTestz%Simulate user clicking [Close] buttoncCs0tdƒtƒ|_|jjƒt|jddd�|_dS)Nr z About IDLET)r )rrrrrr)rrrrrrs zCloseTest.setUpClasscCs |`|jjƒ|jjƒ|`dS)N)rrrr)rrrrrys  zCloseTest.tearDownClassc CsB|j|jjƒdƒ|jjjƒ|jtƒ�|jjƒWdQRXdS)NZToplevel)rrZ winfo_classZ button_okr/Z assertRaisesr)rrrrÚ test_close€s  zCloseTest.test_closeN)rErFrGrHrIrrrLrrrrrKos  rKc@s(eZdZejZejZejZ ej Z dZ dS)ÚDummy_about_dialogTN) rErFrGrZshow_idle_creditsr>Z show_readmeÚ idle_readmeZshow_idle_newsr=Zdisplay_file_textr rrrrrM‡s rMc@s6eZdZdZeƒZedd„ƒZedd„ƒZdd„Z dS) ÚDisplayFileTestz¡Test functions that display files. While somewhat redundant with gui-based test_file_dialog, these unit tests run on all buildbots, not just a few. cCs4tj|_tj|_tƒ|_tƒ|_|jt_|jt_dS)N) r Ú showerrorÚ orig_errorÚ view_textÚ orig_viewrÚerrorrÚview)rrrrr™s zDisplayFileTest.setUpClasscCs|jt_|jt_dS)N)rQr rPrSrR)rrrrr¢szDisplayFileTest.tearDownClassc Csrxl|jj|jj|jjfD]R}d|j_d|j_|j|d��,|ƒ|j |jjdƒ|j |jjdƒWdQRXqWdS)NÚF)ÚhandlerT) rr>rNr=rTÚmessagerUZcalledr-r)rrWrrrÚtest_file_display§sz!DisplayFileTest.test_file_displayN) rErFrGrHrMrrIrrrYrrrrrO‘s  rOÚ__main__é)Ú verbosity)rHr;rZunittestZ test.supportrrZtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrr Zos.pathr"Úplatformr Z AboutDialogrZTestCaser rJrKrMrOrEÚmainrrrrÚs"     D "