a 4êdg1ã@s|ddlZddlZddlmZddlmZmZe d¡Gdd„deejƒZ Gdd„deejƒZ e e fZ e d krxej e ŽdS) éN)Úsupport)ÚAbstractTkTestÚAbstractDefaultRootTestZguic@s|eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)ÚMiscTestcCsr| dtj¡| dtj¡| tj¡| dtj¡| dtj¡| dtj¡| dtj¡| dtj¡dS)NZWidgetÚCASCADEÚreÚsysZ constantsZ_tkerrorZ wantobjects)ÚassertInÚtkinterÚ__all__ZassertIsNotNonerZ assertNotIn)Úself©r ú?/usr/local/lib/python3.9/tkinter/test/test_tkinter/test_misc.pyÚtest_all s zMiscTest.test_allcCs2tj|jdd}tj|dd}| t|ƒd¡dS)NÚtop)ÚnameÚchildz!)r ÚToplevelÚrootÚFrameÚ assertEqualÚrepr)r ÚtÚfr r rÚ test_reprszMiscTest.test_reprcCsXt |j¡}t |¡}t |¡}t |¡}t|ƒ d¡D]}|j| ¡t |ƒdq8dS)NÚ.)Úmsg) r rrrZButtonÚstrÚsplitÚ assertFalseÚ isidentifierr)r rrÚf2Úbrr r rÚtest_generated_namess     zMiscTest.test_generated_namescCs |j}| d¡| |dd¡| d¡| |dd¡| tjd|jd¡|jdd| |dd¡|jddd | |dd¡| |d d¡|jddd | |dd¡| |d d¡|jtjd|jdd|jtjd |jdd |jtjd |jdd dS)NZblackÚ backgroundZwhitez^unknown color name "spam"$Úspam)r$ZblueZyellow)r$ÚhighlightColorZhighlightcolorz!^must specify a background color$)r%)r&)rZ tk_setPaletterZassertRaisesRegexr ÚTclError©r rr r rÚtest_tk_setPalette%s:  þ þþþzMiscTest.test_tk_setPalettecsl|j}d ‡fdd„ }| | d¡¡d‰| d|¡}| ||j dd¡¡|j |j dd|¡¡\}}| ¡| ˆd¡|  t j ¡|j |¡Wdƒn1s¨0Yd‰| d|dd¡}| ¡| ˆd ¡| d |¡}| ||j dd¡¡|j |j dd|¡¡\}}|  |¡| ˆd ¡|  t j ¡|j |¡Wdƒn1s^0YdS) Nrécs ||‰dS©Nr ©ÚstartÚstep©Úcountr rÚcallbackDsz%MiscTest.test_after..callbackÚafterÚinfoé*é é5iè)rr*) rÚ assertIsNoner2r ÚtkÚcallÚ splitlistÚupdaterÚ assertRaisesr r'Ú after_cancel)r rr1Útimer1ÚscriptÚ_r r/rÚ test_afterAs,  *    zMiscTest.test_aftercsV|j}d ‡fdd„ }d‰| |¡}| ||j dd¡¡|j |j dd|¡¡\}}| ¡| ˆd¡| t j ¡|j |¡Wdƒn1s–0Yd‰| |dd¡}| ¡| ˆd ¡| |¡}| ||j dd¡¡|j |j dd|¡¡\}}|  |¡| ˆd ¡| t j ¡|j |¡Wdƒn1sH0YdS) Nrr*cs ||‰dSr+r r,r/r rr1gsz*MiscTest.test_after_idle..callbackr2r3r4r5r6)rr*) rÚ after_idler r8r9r:Zupdate_idletasksrr<r r'r=)r rr1Úidle1r?r@r r/rÚtest_after_idleds*  *    zMiscTest.test_after_idlecsô|j}‡fdd„}| d|¡}| |¡}| t¡| d¡Wdƒn1sR0Yd‰|j |j dd|¡¡\}}|j |¡|  ˆd¡| |¡| t j ¡|j |¡Wdƒn1sÌ0Y|  ˆd¡| t j ¡ |j dd|¡Wdƒn1s0Y| |¡d‰|j |j dd|¡¡\}}|j |¡|  ˆd¡| |¡| t j ¡|j |¡Wdƒn1sœ0Y|  ˆd¡| t j ¡ |j dd|¡Wdƒn1sæ0YdS)Ncs ˆd7‰dS)Nr*r r r/r rr1‡sz,MiscTest.test_after_cancel..callbackiˆrr2r3r*) rr2rBr<Ú ValueErrorr=r8r:r9rr r')r rr1r>rCr?r@r r/rÚtest_after_cancel„s6    (   * 0    , zMiscTest.test_after_cancelcCs‚|j}| ¡| d¡| | ¡d¡| d¡| | ¡d¡| ¡| tj¡| ¡Wdƒn1st0YdS)NuÙñîuçÅđěuÙñîçÅđě©rZclipboard_clearZclipboard_appendrZ clipboard_getr<r r'r(r r rÚtest_clipboard­s  zMiscTest.test_clipboardcCs‚|j}| ¡| d¡| | ¡d¡| d¡| | ¡d¡| ¡| tj¡| ¡Wdƒn1st0YdS)Nu ð”˜ð”«ð”¦uð” ð”¬ð”¡ð”¢uð”˜ð”«ð”¦ð” ð”¬ð”¡ð”¢rGr(r r rÚtest_clipboard_astral¸s  zMiscTest.test_clipboard_astralcCsÈ|j}|j}| |dƒd¡| |dƒd¡| |dƒd¡| |dƒd¡| |d ƒd ¡| tj¡|d ƒWdƒn1s†0Y| tj¡|d ƒWdƒn1sº0YdS) NZred)éÿÿrrzdark slate blue)iHHi==i‹‹z#F0F)rJrrJz#4a3c8c)iJJi<<iŒŒz #dede14143939)iÞÞii99z #123456789a)éoéNé7)rZ winfo_rgbrr<r r')r rZrgbr r rÚtest_winfo_rgbÃs&zMiscTest.test_winfo_rgbcCs‚t ¡}d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_| t|ƒd¡dS)Né90z??réÍ[ÚZ100z <100 event>)r ÚEventÚserialÚnumÚheightÚkeycodeÚstateÚtimeÚwidthÚxÚyÚcharÚkeysymÚ keysym_numÚtypeÚwidgetÚx_rootÚy_rootÚdeltarr©r Úer r rÚtest_event_repr_defaults×s&z!MiscTest.test_event_repr_defaultscCs–t ¡}d|_d|_d|_d|_d|_d|_d|_d|_ d |_ d |_ d |_ d|_ d |_td ƒ|_tjj|_d |_d|_d|_d|_| t|ƒd¡dS)NrOéTéÈéAirPi,é éÚAzKey-Az.textiòiüéÿÿÿÿzŸ)r rRrSrTZfocusrUrVrWrXrYrZr[r\Z send_eventr]Úordr^Z EventTypeZ Configurer_r`rarbrcrrrdr r rÚtest_event_reprìs.   ÿzMiscTest.test_event_reprcCsˆdD]}| |j |¡d¡qdD]}| |j |¡d¡q"| t|jjd¡| t|jjd¡| t|jjd¡| t|jjd¡dS)N)ÚtrueZyesZonÚ1rr[r*TT)ZfalseÚnoZoffÚ0rÚnrFFÚyearQr )ÚassertIsrÚ getbooleanr<rEÚ TypeError)r Úvr r rÚtest_getbooleanszMiscTest.test_getbooleancsfg‰‡‡fdd„}ˆj d|¡ˆj d¡ˆ ˆg¡ˆj d¡ˆ ˆdg¡ˆ ˆj ¡¡dS)Ncs ˆ d¡ˆj dˆjj¡dS)Nr*éd)Úappendrr2Úquitr ©Úlogr r rr1s z(MiscTest.test_mainloop..callbackr{r*r)rr2ÚmainlooprZ assertTrueZ winfo_exists)r r1r r~rÚ test_mainloops   zMiscTest.test_mainloopN)Ú__name__Ú __module__Ú __qualname__rrr#r)rArDrFrHrIrNrfrorzrr r r rrs# )   rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚDefaultRootTestcCs‚| tjd¡| tj¡t ¡}t ¡}t ¡}| tj|¡| ¡| tj|¡| ¡| tj¡| ¡| tj¡dS)NT)rvr Ú_support_default_rootr7Ú _default_rootÚTkÚdestroy)r rÚroot2Zroot3r r rÚtest_default_root!s  z!DefaultRootTest.test_default_rootcCsÔ| tjd¡| tj¡t ¡}| tj|¡t ¡| tjd¡| ttdƒ¡t ¡| tjd¡| ttdƒ¡|  ¡| tjd¡| ttdƒ¡t ¡}| tjd¡| ttdƒ¡|  ¡dS)NTFr‡) rvr r†r7r‡rˆÚ NoDefaultRootrÚhasattrr‰r(r r rÚtest_no_default_root/s" z$DefaultRootTest.test_no_default_rootcCs^| ttjd¡t ¡}| t d¡d¡| ttjd¡| ¡t ¡| ttjd¡dS)NrqTru) r<Ú RuntimeErrorr rwrˆrvrEr‰rŒr(r r rrzCszDefaultRootTest.test_getbooleancCsL| ttj¡t ¡}| |j¡t ¡| ¡t ¡| ttj¡dSr+) r<rr r€rˆrBr}r‰rŒr(r r rrLs zDefaultRootTest.test_mainloopN)r‚rƒr„r‹rŽrzrr r r rr…s r…Ú__main__)Zunittestr ÚtestrZtkinter.test.supportrrZrequiresZTestCaserr…Z tests_guir‚Z run_unittestr r r rÚs  7