a  ze@sddlmZddlZddlmZmZddlmZmZddl m Z ddl m Z ddlm Z ddlZddlmZejZGd d d ejZGd d d ejZGd ddejZGdddZGdddejZedkrejdddS)) help_aboutN)requiresfindfile)TkTclError)Func) Mbox_func)textview)python_versionc@sLeZdZeddZeddZddZddZd d Zd d Z d dZ dS)LiveDialogTestcCs0tdt|_|jt|jddd|_dSNgui About IDLET_utestrrrootZwithdrawAboutdialogclsrU/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_help_about.py setUpClasss zLiveDialogTest.setUpClasscCs |`|j|j|`dSNrrZupdate_idletasksdestroyrrrr tearDownClasss  zLiveDialogTest.tearDownClasscCs|tddS)N)Z32Z64)ZassertInr build_bitsselfrrrtest_build_bits&szLiveDialogTest.test_build_bitscCs||jddS)Nr) assertEqualrtitlerrrrtest_dialog_title)sz LiveDialogTest.test_dialog_titlecCs8tj|jjd\}}tj|\}}||ddS)NfileZidle_48)ospathsplitrZ icon_imagesplitextr")r r'r%fnextrrrtest_dialog_logo-szLiveDialogTest.test_dialog_logoc Cs|j}|jtdf|jtdf|jtdfg}|D]\}}}|j|d|| |j j j j j}|j}t|dkr||d||d|dd ||d |d d |j Wdq,1s0Yq,dS) Nlicense copyrightcreditsnamez full text was not foundr1.01.endz2.0z2.end)rZ py_licenser-Z py_copyrightr.Z py_creditsr/subTest_Printer__setupinvoke_current_textview viewframe textframetextget_Printer__lineslenZfailr"r)r rbutton_sourcesbuttonZprinterr1r=linesrrrtest_printer_buttons3s     z#LiveDialogTest.test_printer_buttonsc Cs|j}|jjddf|jjddf|jjddfg}|D]\}}}|j|d|t|dd }|jjj j j }t |d d L}| ||d d || ||ddWdn1s0Y|jWdq21s0Yq2dS)Nz README.txtreadmezNEWS.txtnewsz CREDITS.txtr/r0idlelib)Zsubdirzutf-8)encodingr3r4z3.0z3.end)rrD idle_news idle_creditsr6r8rr9r:r;r<r=openr"readlinestripr) r rr@rAfilenamer1r*r=frrrtest_file_buttonsFs    8z LiveDialogTest.test_file_buttonsN) __name__ __module__ __qualname__ classmethodrrr!r$r,rCrOrrrrr s  r c@s,eZdZeddZeddZddZdS)DefaultTitleTestcCs.tdt|_|jt|jdd|_dS)Nr Trrrrrrr\s zDefaultTitleTest.setUpClasscCs |`|j|j|`dSrrrrrrrcs  zDefaultTitleTest.tearDownClasscCs*||jdtdtddS)Nz About IDLE z (z bit))r"rr#r rrrrrrr$js   z"DefaultTitleTest.test_dialog_titleN)rPrQrRrSrrr$rrrrrTYs   rTc@s,eZdZeddZeddZddZdS) CloseTestcCs0tdt|_|jt|jddd|_dSr rrrrrrts zCloseTest.setUpClasscCs |`|j|j|`dSrrrrrrr{s  zCloseTest.tearDownClasscCsV||jd|jj|t|jWdn1sH0YdS)NZToplevel)r"rZ winfo_classZ button_okr8Z assertRaisesrrrrr test_closes  zCloseTest.test_closeN)rPrQrRrSrrrVrrrrrUqs   rUc@s(eZdZejZejZejZ ej Z dZ dS)Dummy_about_dialogTN) rPrQrRrZshow_idle_creditsrIZ show_readme idle_readmeZshow_idle_newsrHZdisplay_file_textrrrrrrWs rWc@s2eZdZeZeddZeddZddZdS)DisplayFileTestcCs4tj|_tj|_t|_t|_|jt_|jt_dSr) r showerror orig_error view_text orig_viewrerrorrviewrrrrrs zDisplayFileTest.setUpClasscCs|jt_|jt_dSr)r[r rZr]r\rrrrrszDisplayFileTest.tearDownClassc Cs|jj|jj|jjfD]f}d|j_d|j_|j|d6|| |jjd| |jjdWdq1sr0YqdS)NF)handlerT) rrIrXrHr^messager_Zcalledr6r")r rarrrtest_file_displaysz!DisplayFileTest.test_file_displayN) rPrQrRrWrrSrrrcrrrrrYs   rY__main__r2) verbosity)rFrZunittestZ test.supportrrtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrr Zos.pathr&platformr Z AboutDialogrZTestCaser rTrUrWrYrPmainrrrrs     F "