U Ä:âeN.ã@s|ddlZddlZddlmZddlmZmZe d¡Gdd„deejƒZ Gdd„deejƒZ e e fZ e d krxej e ŽdS) éN)Úsupport)ÚAbstractTkTestÚAbstractDefaultRootTestZguic@steZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„ZdS)ÚMiscTestcCs2tj|jdd}tj|dd}| t|ƒd¡dS)NÚtop)ÚnameZchildz!)ÚtkinterÚToplevelÚrootÚFrameÚ assertEqualÚrepr)ÚselfÚtÚf©rúH/usr/local/python38/lib/python3.8/tkinter/test/test_tkinter/test_misc.pyÚ test_repr szMiscTest.test_reprcCsXt |j¡}t |¡}t |¡}t |¡}t|ƒ d¡D]}|j| ¡t |ƒdq8dS)NÚ.)Úmsg) rr r r ZButtonÚstrÚsplitÚ assertFalseÚ isidentifierr )rrrÚf2ÚbrrrrÚ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)rZblueZyellow)rÚhighlightColorZhighlightcolorz!^must specify a background color$)r)r)r Z tk_setPaletter ZassertRaisesRegexrÚTclError©rr rrrÚtest_tk_setPalettesB  þ þþþzMiscTest.test_tk_setPalettec sB|j}d ‡fdd„ }| | d¡¡d‰| d|¡}| ||j dd¡¡|j |j dd|¡¡\}}| ¡| ˆd¡|  t j ¡|j |¡W5QRXd‰| d|dd¡}| ¡| ˆd ¡| d |¡}| ||j dd¡¡|j |j dd|¡¡\}}|  |¡| ˆd ¡|  t j ¡|j |¡W5QRXdS) Nrécs ||‰dS©Nr©ÚstartÚstep©ÚcountrrÚcallback6sz%MiscTest.test_after..callbackÚafterÚinfoé*é é5iè)rr#) r Ú assertIsNoner+ÚassertInÚtkÚcallÚ splitlistÚupdater Ú assertRaisesrr Ú after_cancel)rr r*Útimer1ÚscriptÚ_rr(rÚ test_after3s,      zMiscTest.test_afterc s,|j}d ‡fdd„ }d‰| |¡}| ||j dd¡¡|j |j dd|¡¡\}}| ¡| ˆd¡| t j ¡|j |¡W5QRXd‰| |dd¡}| ¡| ˆd ¡| |¡}| ||j dd¡¡|j |j dd|¡¡\}}|  |¡| ˆd ¡| t j ¡|j |¡W5QRXdS) Nrr#cs ||‰dSr$rr%r(rrr*Ysz*MiscTest.test_after_idle..callbackr+r,r-r.r/)rr#) r Ú after_idler1r2r3r4Zupdate_idletasksr r6rr r7)rr r*Úidle1r9r:rr(rÚtest_after_idleVs*      zMiscTest.test_after_idlec sŠ|j}‡fdd„}| d|¡}| |¡}| t¡| d¡W5QRXd‰|j |j dd|¡¡\}}|j |¡|  ˆd¡| |¡| t j ¡|j |¡W5QRX|  ˆd¡| t j ¡|j dd|¡W5QRX| |¡d‰|j |j dd|¡¡\}}|j |¡|  ˆd¡| |¡| t j ¡|j |¡W5QRX|  ˆd¡| t j ¡|j dd|¡W5QRXdS)Ncs ˆd7‰dS)Nr#rrr(rrr*ysz,MiscTest.test_after_cancel..callbackiˆrr+r,r#) r r+r<r6Ú ValueErrorr7r2r4r3r rr )rr r*r8r=r9r:rr(rÚtest_after_cancelvs6             zMiscTest.test_after_cancelc Csn|j}| ¡| d¡| | ¡d¡| d¡| | ¡d¡| ¡| tj¡| ¡W5QRXdS)NuÙñîuçÅđěuÙñîçÅđě©r Zclipboard_clearZclipboard_appendr Z clipboard_getr6rr r!rrrÚtest_clipboardŸs  zMiscTest.test_clipboardc Csn|j}| ¡| d¡| | ¡d¡| d¡| | ¡d¡| ¡| tj¡| ¡W5QRXdS)Nu ð”˜ð”«ð”¦uð” ð”¬ð”¡ð”¢uð”˜ð”«ð”¦ð” ð”¬ð”¡ð”¢rAr!rrrÚtest_clipboard_astralªs  zMiscTest.test_clipboard_astralc Cs |j}|j}| |dƒd¡| |dƒd¡| |dƒd¡| |dƒd¡| |d ƒd ¡| tj¡|d ƒW5QRX| tj¡|d ƒW5QRXdS) NZred)éÿÿrrzdark slate blue)iHHi==i‹‹z#F0F)rDrrDz#4a3c8c)iJJi<<iŒŒz #dede14143939)iÞÞii99z #123456789a)éoéNé7)r Z winfo_rgbr r6rr )rr ZrgbrrrÚtest_winfo_rgbµszMiscTest.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Údeltar r ©rÚerrrÚ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)NrIéTéÈéAirJi,é éÚAzKey-Az.textiòiüéÿÿÿÿzŸ)rrLrMrNZfocusrOrPrQrRrSrTrUrVZ send_eventrWÚordrXZ EventTypeZ ConfigurerYrZr[r\r]r r r^rrrÚ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Ú1rrUr#TT)ZfalseÚnoZoffÚ0rÚnrFFÚyearKr)ÚassertIsr Ú getbooleanr6r?Ú TypeError)rÚvrrrÚtest_getbooleanúszMiscTest.test_getbooleancsfg‰‡‡fdd„}ˆj d|¡ˆj d¡ˆ ˆg¡ˆj d¡ˆ ˆdg¡ˆ ˆj ¡¡dS)Ncs ˆ d¡ˆj dˆjj¡dS)Nr#éd)Úappendr r+Úquitr©Úlogrrrr*s z(MiscTest.test_mainloop..callbackrur#r)r r+Úmainloopr Z assertTrueZ winfo_exists)rr*rrxrÚ test_mainloops   zMiscTest.test_mainloopN)Ú__name__Ú __module__Ú __qualname__rrr"r;r>r@rBrCrHr`rirtr{rrrrrs# )   rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚDefaultRootTestcCs‚| tjd¡| tj¡t ¡}t ¡}t ¡}| tj|¡| ¡| tj|¡| ¡| tj¡| ¡| tj¡dS)NT)rprÚ_support_default_rootr0Ú _default_rootÚTkÚdestroy)rr Zroot2Zroot3rrrÚtest_default_roots  z!DefaultRootTest.test_default_rootcCsÔ| tjd¡| tj¡t ¡}| tj|¡t ¡| tjd¡| ttdƒ¡t ¡| tjd¡| ttdƒ¡|  ¡| tjd¡| ttdƒ¡t ¡}| tjd¡| ttdƒ¡|  ¡dS)NTFr) rprr€r0rr‚Ú NoDefaultRootrÚhasattrrƒr!rrrÚtest_no_default_root!s" z$DefaultRootTest.test_no_default_rootcCs^| ttjd¡t ¡}| t d¡d¡| ttjd¡| ¡t ¡| ttjd¡dS)NrkTro) r6Ú RuntimeErrorrrqr‚rpr?rƒr…r!rrrrt5szDefaultRootTest.test_getbooleancCsL| ttj¡t ¡}| |j¡t ¡| ¡t ¡| ttj¡dSr$) r6rˆrrzr‚r<rwrƒr…r!rrrr{>s zDefaultRootTest.test_mainloopN)r|r}r~r„r‡rtr{rrrrrs rÚ__main__)ZunittestrÚtestrZtkinter.test.supportrrZrequiresZTestCaserrZ tests_guir|Z run_unittestrrrrÚs   7