3 Õì2a½ã@sàddlmZddlZddlmZmZddlmZmZddl m Z ddl m Z ddlm Z ddlZddlmZejZGd d „d ejƒZGd d „d ejƒZGd d„dejƒZGdd„dƒZGdd„dejƒZedkrÜejdd�dS)é)Ú help_aboutN)ÚrequiresÚfindfile)ÚTkÚTclError)ÚFunc)Ú Mbox_func)Útextview)Úpython_versionc@sLeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dS)ÚLiveDialogTestcCs0tdƒtƒ|_|jjƒt|jddd�|_dS)NÚguiz About IDLET)Ú_utest)rrÚrootÚwithdrawÚAboutÚdialog)Úcls©rú4/opt/alt/python36/lib64/python3.6/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)Nz About IDLE)Ú assertEqualrÚtitle)rrrrÚtest_dialog_title)sz LiveDialogTest.test_dialog_titlecCs8tjj|jjdƒ\}}tjj|ƒ\}}|j|dƒdS)NÚfileZidle_48)Ú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ƒWdQRXq.WdS) NÚlicenseÚ copyrightÚcredits)Únamerz1.0z1.endéz2.0z2.end)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)Nz README.txtÚreadmezNEWS.txtZnewsz CREDITS.txtr*)r+Úidlelib)Zsubdirzutf-8)Úencodingz1.0z1.endz3.0z3.end)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__Ú classmethodrrrr r'r9rDrrrrr s  r c@s,eZdZedd„ƒZedd„ƒZdd„ZdS)ÚDefaultTitleTestcCs.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)Nz About IDLE z (z bit))rrrr rr)rrrrr hs z"DefaultTitleTest.test_dialog_titleN)rErFrGrHrrr rrrrrIWs  rIc@s,eZdZedd„ƒZedd„ƒZdd„ZdS)Ú CloseTestcCs0tdƒ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)rErFrGrHrrrKrrrrrJos  rJc@s(eZdZejZejZejZ ej Z dZ dS)ÚDummy_about_dialogTN) rErFrGrZshow_idle_creditsr>Z show_readmeÚ idle_readmeZshow_idle_newsr=Zdisplay_file_textr rrrrrL‡s rLc@s2eZdZeƒZedd„ƒZedd„ƒZdd„ZdS)ÚDisplayFileTestcCs4tj|_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)rPr rOrRrQ)rrrrr¢szDisplayFileTest.tearDownClassc Csrxl|jj|jj|jjfD]R}d|j_d|j_|j|d��,|ƒ|j |jjdƒ|j |jjdƒWdQRXqWdS)NÚF)ÚhandlerT) rr>rMr=rSÚmessagerTZcalledr-r)rrVrrrÚtest_file_display§sz!DisplayFileTest.test_file_displayN) rErFrGrLrrHrrrXrrrrrN‘s rNÚ__main__é)Ú verbosity)r;rZunittestZ test.supportrrZtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrr Zos.pathr"Úplatformr Z AboutDialogrZTestCaser rIrJrLrNrEÚmainrrrrÚs     D "