a 4êdg½ ã@s0ddlZddlZddlmZmZddlmZddlZddlmZddl m Z m Z m Z m Z mZddlmZmZmZmZmZmZmZedƒGdd „d eƒZGd d „d e ejƒZGd d „d eeƒZeeƒGdd„deejƒƒZeeƒGdd„deejƒƒZGdd„deƒZeeƒGdd„deejƒƒZeeƒGdd„deejƒƒZeeƒGdd„deejƒƒZ eeeƒGdd„deejƒƒZ!eeeƒGdd„de!ejƒƒZ"eeeƒGdd„deejƒƒZ#eeƒGd d!„d!eejƒƒZ$Gd"d#„d#eejƒZ%eeƒGd$d%„d%eejƒƒZ&eeƒGd&d'„d'eejƒƒZ'e (ej)d(kd)¡eeƒGd*d+„d+eejƒƒƒZ*eeeƒGd,d-„d-eejƒƒZ+eeeƒGd.d/„d/e!ejƒƒZ,eeƒGd0d1„d1eejƒƒZ-eeƒGd2d3„d3eejƒƒZ.eeƒGd4d5„d5eejƒƒZ/Gd6d7„d7eejƒZ0ee e"e!eeee%e+e#e'e$e&e*e.e/e,e-ee0fZ1e2d8kr,e 3¡dS)9éN)ÚttkÚTclError)Úrequires)Ú MockTclObj)ÚAbstractTkTestÚ tcl_versionÚget_tk_patchlevelÚsimulate_mouse_clickÚAbstractDefaultRootTest)Úadd_standard_optionsÚnoconvÚAbstractWidgetTestÚStandardOptionsTestsÚIntegerSizeTestsÚPixelSizeTestsÚ setUpModuleZguic@s$eZdZdd„Zdd„Zdd„ZdS)ÚStandardTtkOptionsTestscCs\| ¡}| |dd¡d}tƒdkr*d}|j|dd|d|jdd}| |dd¡dS) NÚclassÚú"attempt to change read-only option©éérÚbetaéú"Attempt to change read-only optionÚFoo©Úerrmsg©Úclass_)ÚcreateÚ assertEqualrÚcheckInvalidParam©ÚselfÚwidgetrZwidget2©r'ú>/usr/local/lib/python3.9/tkinter/test/test_ttk/test_widgets.pyÚtest_configure_classs  z,StandardTtkOptionsTests.test_configure_classcCs†| ¡}|j|dddd|j|dddd|j|dddd|j|dd d d|j|dd d d| |dd ¡|j|dddddS)NÚpaddingr)Ú0©Zexpectedé)Ú5)r-r)r.Ú6)r-ré)r.r/Ú7)r-rr0r)r.r/r1Ú8)Z5pZ6pZ7pZ8pr'r©r!Ú checkParam©r%r&r'r'r(Útest_configure_paddings ÿ ÿz.StandardTtkOptionsTests.test_configure_paddingcCsj| ¡}| |dd¡d}t|dƒr8dt|dƒ ¡}|j|dd|d|jdd}| |d d¡dS) NÚstylerzLayout Foo not foundÚdefault_orientzLayout %s.Foo not foundrrrr)r!r"ÚhasattrÚgetattrÚtitler#r$r'r'r(Útest_configure_style)s  ÿ ÿ z,StandardTtkOptionsTests.test_configure_styleN)Ú__name__Ú __module__Ú __qualname__r)r6r<r'r'r'r(rs  rcs,eZdZ‡fdd„Zdd„Zdd„Z‡ZS)Ú WidgetTestcs,tƒ ¡tj|jddd|_|j ¡dS)NrÚText)ÚwidthÚtext)ÚsuperÚsetUprÚButtonÚrootr&Úpack©r%©Ú __class__r'r(rE;s zWidgetTest.setUpcCs˜|j ¡| |j t|j ¡dƒt|j ¡dƒ¡d¡| |j dd¡d¡| tj |jjdd¡| tj |jjdd¡| tj |jjdd¡dS)NéÚlabeléÿÿÿÿrr-) r&Úupdater"ÚidentifyÚintÚ winfo_widthÚ winfo_heightÚ assertRaisesÚtkinterrrIr'r'r(Ú test_identifyAs  þýzWidgetTest.test_identifycCsB| |j ¡d¡| |j dg¡d¡| |j dg¡d¡| |j dg¡d¡| |j ddg¡d¡| |j ddg¡d¡| |j ddg¡d¡dd „}| |jjdg|d fid d i¤Žd d d if¡|j ¡}| tj|jjd g¡| tj|jjdd g¡| ||j ¡¡|j ddg¡| |j ¡d¡dS)Nr'ú !disabledTÚdisabled)rWÚactive)z!activerXc[s||fS©Nr')Zarg1Úkwr'r'r(Útest_cb^sz-WidgetTest.test_widget_state..test_cbÚhiÚmsgZthereZbadstate)rY)r"r&ÚstateZinstaterTrUr)r%r\Z currstater'r'r(Útest_widget_stateNs6ÿÿÿ þ ÿÿzWidgetTest.test_widget_state)r=r>r?rErVr`Ú __classcell__r'r'rJr(r@8s  r@c@seZdZeZdS)ÚAbstractToplevelTestN)r=r>r?r Ú _conv_pixelsr'r'r'r(rbrsrbc@seZdZdZdd„ZdS)Ú FrameTest) Ú borderwidthrÚcursorÚheightr*Úreliefr7Ú takefocusrBcKstj|jfi|¤ŽSrZ)rÚFramerG©r%Úkwargsr'r'r(r!~szFrameTest.createN©r=r>r?ÚOPTIONSr!r'r'r'r(rdvsrdc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚLabelFrameTest) rerrfrgÚ labelanchorÚ labelwidgetr*rhr7rirCÚ underlinerBcKstj|jfi|¤ŽSrZ)rZ LabelFramerGrkr'r'r(r!‹szLabelFrameTest.createcCsB| ¡}|j|ddddddddd d d d d dd| |dd¡dS)NrpÚeÚenÚesÚnÚneZnwÚsZseÚswÚwZwnÚwsz!Bad label anchor specification {}rÚcenter)r!ÚcheckEnumParamr#r5r'r'r(Útest_configure_labelanchorŽs þz)LabelFrameTest.test_configure_labelanchorcCs8| ¡}tj|jddd}|j|d|dd| ¡dS)NZMuppZfoo)rCÚnamerqz.foor,)r!rÚLabelrGr4Údestroy)r%r&rMr'r'r(Útest_configure_labelwidget•sz)LabelFrameTest.test_configure_labelwidgetN)r=r>r?rnr!r~r‚r'r'r'r(ro‚sroc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚAbstractLabelTestcCs˜tj|jdd}tj|jdd}|j|||dd|j||ddd|j|||fdd|j|||d|fdd|j||ddd|j||d d d dS) NÚimage1)ÚmasterrÚimage2)r„r,rY)r„rYr†zimage1 active image2Úspamzimage "spam" doesn't existr)rUZ PhotoImagerGr4r#)r%r&rÚimager†r'r'r(ÚcheckImageParamžsÿ ÿ ÿz!AbstractLabelTest.checkImageParamc Cs(| ¡}| |ddddddddd ¡ dS) NÚcompoundÚnonerCrˆr|ÚtopZbottomÚleftÚright©r!r}r5r'r'r(Útest_configure_compound«s þz)AbstractLabelTest.test_configure_compoundcCs| ¡}| |dddd¡dS)Nr_rYrXÚnormal©r!Z checkParamsr5r'r'r(Útest_configure_state±sz&AbstractLabelTest.test_configure_statecCs| ¡}| |dddd¡dS)NrBi’inþÿÿrr’r5r'r'r(Útest_configure_widthµsz&AbstractLabelTest.test_configure_widthN)r=r>r?r‰rr“r”r'r'r'r(rƒœs rƒc@s$eZdZdZeZdd„Zdd„ZdS)Ú LabelTest)ÚanchorÚ backgroundrerrŠrfÚfontÚ foregroundrˆÚjustifyr*rhr_r7rirCÚ textvariablerrrBZ wraplengthcKstj|jfi|¤ŽSrZ)rr€rGrkr'r'r(r!ÅszLabelTest.createcCs| ¡}| |dd¡dS)Nr˜z3-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*r3r5r'r'r(Útest_configure_fontÈsÿzLabelTest.test_configure_fontN)r=r>r?rnr rcr!rœr'r'r'r(r•ºsr•c@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú ButtonTest)rÚcommandrŠrfÚdefaultrˆr*r_r7rirCr›rrrBcKstj|jfi|¤ŽSrZ)rrFrGrkr'r'r(r!×szButtonTest.createcCs| ¡}| |dddd¡dS)NrŸr‘rYrXrr5r'r'r(Útest_configure_defaultÚsz!ButtonTest.test_configure_defaultcs2g‰tj|j‡fdd„d}| ¡| ˆ¡dS)Ncs ˆ d¡S©Né©Úappendr'©Úsuccessr'r(Úàóz(ButtonTest.test_invoke..©rž)rrFrGÚinvokeÚ assertTrue)r%Zbtnr'r¥r(Ú test_invokeÞszButtonTest.test_invokeN)r=r>r?rnr!r r¬r'r'r'r(rÎsrc@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) ÚCheckbuttonTest)rržrŠrfrˆÚoffvalueÚonvaluer*r_r7rirCr›rrÚvariablerBcKstj|jfi|¤ŽSrZ)rÚ CheckbuttonrGrkr'r'r(r!ðszCheckbuttonTest.createcCs | ¡}| |ddddd¡dS)Nr®r¢çffffff@rú any stringr’r5r'r'r(Útest_configure_offvalueósz'CheckbuttonTest.test_configure_offvaluecCs | ¡}| |ddddd¡dS)Nr¯r¢r²rr³r’r5r'r'r(Útest_configure_onvalue÷sz&CheckbuttonTest.test_configure_onvaluecsÐg‰‡fdd„}tj|j|d}| | ¡d¡| tj|jj |d¡|  ¡}| |d¡| |d|j  |d¡¡|  ˆ¡d|d <|  ¡}|  t |ƒ¡| tˆƒd ¡| |d |j  |d¡¡dS) Ncsˆ d¡dS©Nr¢úcb test calledr£r'r¥r'r(Úcb_testýs z,CheckbuttonTest.test_invoke..cb_testr©)Z alternater°r·r¯rržr¢r®)rr±rGr"r_rTrUrÚtkÚ globalgetvarrªr«Ú assertFalseÚstrÚassertLessEqualÚlen)r%r¸ÚcbtnÚresr'r¥r(r¬ûs( ÿ  ÿ  ÿzCheckbuttonTest.test_invokeN)r=r>r?rnr!r´rµr¬r'r'r'r(r­ås  r­csxeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Z‡ZS)Ú EntryTest)r—rrfÚexportselectionr˜r™ÚinvalidcommandršÚshowr_r7rir›ÚvalidateÚvalidatecommandrBÚxscrollcommandcstƒ ¡| ¡|_dSrZ)rDrEr!ÚentryrIrJr'r(rE s zEntryTest.setUpcKstj|jfi|¤ŽSrZ)rZEntryrGrkr'r'r(r!$szEntryTest.createcCs| ¡}| |d¡dS)Nrér!ZcheckCommandParamr5r'r'r(Útest_configure_invalidcommand'sz'EntryTest.test_configure_invalidcommandcCs6| ¡}| |dd¡| |dd¡| |dd¡dS)NrÄÚ*rú r3r5r'r'r(Útest_configure_show+szEntryTest.test_configure_showcCs| ¡}| |dddd¡dS)Nr_rXr‘Úreadonlyr’r5r'r'r(r“1sÿzEntryTest.test_configure_statec Cs$| ¡}| |ddddddd¡dS)NrÅÚallÚkeyÚfocusZfocusinZfocusoutr‹rr5r'r'r(Útest_configure_validate6s ÿz!EntryTest.test_configure_validatecCs| ¡}| |d¡dS)NrÆrÉr5r'r'r(Útest_configure_validatecommand;sz(EntryTest.test_configure_validatecommandcCs>| |j d¡¡| tj|jjd¡| tj|jjd¡dS)NrZnoindex)ÚassertIsBoundingBoxrÈÚbboxrTrUrrIr'r'r(Ú test_bbox@szEntryTest.test_bboxcCs¨|j ¡|j ¡tjdkr6| |j dd¡d¡n| |j dd¡d¡| |j dd¡d¡| t j |jjdd¡| t j |jjdd¡| t j |jjdd¡dS)NÚdarwinr-)ÚtextareazCombobox.buttonrØrNr) rÈrHrOÚsysÚplatformZassertInrPr"rTrUrrIr'r'r(rVFs   ÿzEntryTest.test_identifycsàg‰‡fdd„}d|jd<dd„|jd<||jd<|j ¡| ˆ¡d|jd<|j ¡| tˆƒd ¡||jd<d d„|jd<|j ¡| tˆƒd ¡d|jd<|j ¡| tˆƒd ¡d |jd<| tj|jj¡dS) Ncs ˆ d¡S©NTr£r'r¥r'r(r§Yr¨z3EntryTest.test_validation_options..r‹rÅcSsdS)NFr'r'r'r'r(r§\r¨rÆrÃrr¢cSsdSrÛr'r'r'r'r(r§gr¨T)rÈrÅr«r"r¾rTrUr)r%Z test_invalidr'r¥r(Útest_validation_optionsWs&            z!EntryTest.test_validation_optionscsrg‰‡fdd„}d|jd<|j |¡df|jd<|j dd¡|j dd ¡| ˆd d g¡| |j ¡d ¡dS) Ncs6d| ¡krdks(nˆ d¡dSˆ d¡dS©NÚaÚzFT)Úlowerr¤)Z to_insert©Z validationr'r(rÅus   z+EntryTest.test_validation..validaterÐrÅz%SrÆÚendr¢rÞFT)rÈÚregisterÚinsertr"Úget©r%rÅr'rár(Útest_validationss  zEntryTest.test_validationcCsÖdd„}|j |¡df|jd<|j dd¡| |j ¡d¡| |j ¡d¡|j d d¡| |j ¡d ¡|j dd ¡| |j ¡d ¡| |j ¡d ¡|j d¡| |j ¡d¡| |j ¡d¡dS)NcSs.|D]$}d| ¡kr dksndSqdSrÝ)rà)ZcontentZletterr'r'r(rņsz-EntryTest.test_revalidation..validatez%PrÆrâZavocadoTr'rrZa1bF)Úinvalidr¢)rÈrãrär"rÅr_Údeleterårær'r'r(Útest_revalidation…s zEntryTest.test_revalidation)r=r>r?rnrEr!rÊrÍr“rÒrÓrÖrVrÜrçrêrar'r'rJr(rÁs rÁcsPeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z ‡Z S)Ú ComboboxTest)r—rrfrÂr˜r™rgrÃršÚ postcommandrÄr_r7rir›rÅrÆÚvaluesrBrÇcstƒ ¡| ¡|_dSrZ)rDrEr!ÚcomborIrJr'r(rE©s zComboboxTest.setUpcKstj|jfi|¤ŽSrZ)rÚComboboxrGrkr'r'r(r!­szComboboxTest.createc Cs$| ¡}| |ddddddd¡dS)NrgédçÍÌÌÌÌLY@çfffff¦Y@éœÿÿÿrZ1ir’r5r'r'r(Útest_configure_height°sz"ComboboxTest.test_configure_heightcCs`|j ¡}|dd}}| |j ||¡d¡|jjd||d|jjd||d|j ¡dS)Nr-ú .*downarrow\Zú©ÚxÚyú)rîrRÚ assertRegexrPÚevent_generateÚupdate_idletasks)r%rBrørùr'r'r(Ú_show_drop_down_listbox´s  z$ComboboxTest._show_drop_down_listboxcszg‰dg|jd<|j d‡fdd„¡|j ¡|j ¡|j ¡}| ¡|j ¡|j d¡|j ¡| ˆ¡dS)Nr¢ríz<>cs ˆ d¡SrÛr£©Úevtr¥r'r(r§Ár¨z1ComboboxTest.test_virtual_event..z)rîÚbindrHrOrSrþrür«)r%rgr'r¥r(Útest_virtual_event¼s  ÿ      zComboboxTest.test_virtual_eventcsbg‰‡fdd„|jd<|j ¡|j ¡| ¡| ˆ¡d|jd<| ¡| tˆƒd¡dS)Ncs ˆ d¡SrÛr£r'r¥r'r(r§Ñr¨z9ComboboxTest.test_configure_postcommand..rìrr¢)rîrHrOrþr«r"r¾rIr'r¥r(Útest_configure_postcommandÎs    z'ComboboxTest.test_configure_postcommandcsÞ‡fdd„}ˆ ˆjdtdkr$dnd¡|ddƒˆjˆjddd d ˆ ˆjdd ¡ˆ ˆjdd ¡ˆ ˆjdd¡gd ¢ˆjd<ˆj d ¡|d dƒˆj d¡|ddƒˆj d¡|ddƒˆj d¡dˆjd<|ddƒˆjjgd¢dˆ ˆjdˆjrdnd¡gd¢ˆjd<ˆ ˆjdˆjr>dnd¡gd¢ˆjd<ˆ ˆjdˆjrjdnd¡ˆ t j ˆjjt ˆjdƒ¡ˆ t j ˆjjd¡t j ˆjgd¢d}ˆ |dˆjrÌdnd¡| ¡dS)Ncs(ˆ ˆj ¡|¡ˆ ˆj ¡|¡dSrZ)r"rîråÚcurrent)ZgetvalZcurrvalrIr'r(Úcheck_get_currentßsz=ComboboxTest.test_configure_values..check_get_currentrí©rr-r'rrNúmon tue wed thur©ZmonZtueZwedZthurr,©é*g…ëQ¸ @rr³©rÞr¢Úcr rLrrÞÚd)r¢rLrr©r¢rrL©rí©Ú1rÚ2ú1 {} 2©za bza bza bú{a b} {a b} {a b}©za\tbz"a"z} {úa\\tb {"a"} \}\ \{©r¢rLr©rrrú1 2 {})r"rîrr4ÚsetrÚ configureÚ wantobjectsrTrUrr¾rrïrGr)r%rZcombo2r'rIr(Útest_configure_valuesÞsZ  ÿ  ÿ           þ  þ  þ ÿ ÿz"ComboboxTest.test_configure_values) r=r>r?rnrEr!rôrþrrrrar'r'rJr(rëžs rëcsXeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z ‡Z S)ÚPanedWindowTest)rrfrgÚorientr7rirBcstƒ ¡| ¡|_dSrZ)rDrEr!ÚpanedrIrJr'r(rE#s zPanedWindowTest.setUpcKstj|jfi|¤ŽSrZ)rZ PanedWindowrGrkr'r'r(r!'szPanedWindowTest.createcCsd| ¡}| t|dƒd¡d}tƒdkr.d}|j|dd|d|jdd}| t|dƒd¡dS) Nr ÚverticalrrrÚ horizontalr)r )r!r"r¼rr#r$r'r'r(Útest_configure_orient*s  ÿ z%PanedWindowTest.test_configure_orientcCst |j¡}t |¡}| tj|jj|¡| ¡| ¡t |j¡}t |¡}| tj|jj|¡| ¡| ¡t |j¡}|j |¡| tj|jj|¡t |j¡}|j |¡|  |j  d¡|j  d¡¡| tj|jj d¡| ¡| ¡| tj|jj d¡dS)Nrr¢rL) rr€r!rTrUrÚaddrrGr"Úpane)r%rMÚchildZ good_childZ other_childr'r'r(Útest_add5s(        zPanedWindowTest.test_addcCs`| tj|jjd¡| tj|jjd¡|j t |j¡¡|j d¡| tj|jjd¡dS)Nr) rTrUrr!Úforgetr%rr€rGrIr'r'r(Ú test_forgetQs  zPanedWindowTest.test_forgetcCst| tj|jjdd¡| tj|jjdd¡| tj|jjdd¡t |j¡}t |j¡}t |j¡}| tj|jjd|¡|j d|¡|j d|¡| |j  ¡t |ƒt |ƒf¡|j d|¡| |j  ¡t |ƒt |ƒf¡|j d|¡| |j  ¡t |ƒt |ƒt |ƒf¡|j  ¡}|j d|¡| ||j  ¡¡|j ||¡| |j  ¡t |ƒt |ƒt |ƒf¡dS)Nrrâ) rTrUrr!rärr€rGr"Úpanesr¼)r%r'Úchild2Úchild3r+r'r'r(Ú test_insertZs.    ÿ  ÿzPanedWindowTest.test_insertcCs¾| tj|jjd¡t |j¡}|j |¡|  |j d¡t ¡|  |jjddd|j r\dnd¡|  |j dd¡|j r|dnd¡|  |j d¡|j t |ƒ¡¡|jtj|jjddddS)Nr©Úweightr+r0Z somevalue)Z badoption)rTrUrr!r&rr€rGr%ÚassertIsInstanceÚdictr"rr¼)r%r'r'r'r(Ú test_pane}s   ÿ ÿ ÿzPanedWindowTest.test_panecCsö| tj|jjd¡| tj|jjd¡| tj|jjd¡tj|jdd}|jj|dd| tj|jjd¡tj|jdd}|j |¡| tj|jjd¡|jjdd d |j d¡}|j dd ¡|  ||j d¡¡|  |j d¡t ¡dS) NrrrÞ©rCr¢r/ÚbTZboth)ÚexpandÚfilliè) rTrUrr!Zsashposrr€r%rHÚassertNotEqualr1rQ)r%r'r,Zcurr_posr'r'r(Ú test_sashposŽs  zPanedWindowTest.test_sashpos) r=r>r?rnrEr!r$r(r*r.r3r9rar'r'rJr(rs   #rc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚRadiobuttonTest)rržrŠrfrˆr*r_r7rirCr›rrÚvaluer°rBcKstj|jfi|¤ŽSrZ)rÚ RadiobuttonrGrkr'r'r(r!¬szRadiobuttonTest.createcCs | ¡}| |ddddd¡dS)Nr;r¢r²rr³r’r5r'r'r(Útest_configure_value¯sz$RadiobuttonTest.test_configure_valuecs6g‰‡fdd„}t |j¡}tj|j||dd}tj|j||dd}|jrTdd„}nt}| ¡}| |d¡| ||d ƒ|  ¡¡| |  ¡||j   |d ¡ƒ¡|  ˆ¡d |d <| ¡}| t |ƒd ¡| tˆƒd¡| ||d ƒ|  ¡¡| |  ¡||j   |d ¡ƒ¡| t |d ƒt |d ƒ¡dS) Ncsˆ d¡dSr¶r£r'r¥r'r(r¸µs z6RadiobuttonTest.test_configure_invoke..cb_testr)ržr°r;r¢cSs|SrZr'©rør'r'r(r§Àr¨z7RadiobuttonTest.test_configure_invoke..r·r;r°rrž)rUZIntVarrGrr<rrQrªr"rår¹rºr«r¼r½r¾)r%r¸Zmyvarr¿Zcbtn2ÚconvrÀr'r¥r(Útest_configure_invoke³s8   ÿ ÿ   ÿ  ÿz%RadiobuttonTest.test_configure_invokeN)r=r>r?rnr!r=r@r'r'r'r(r:¢sr:c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚMenubuttonTest)rrŠrfÚ directionrˆÚmenur*r_r7rirCr›rrrBcKstj|jfi|¤ŽSrZ)rZ MenubuttonrGrkr'r'r(r!ÞszMenubuttonTest.createc Cs"| ¡}| |dddddd¡dS)NrBZaboveZbelowrrŽÚflushrr5r'r'r(Útest_directionás ÿzMenubuttonTest.test_directioncCs4| ¡}tj|dd}|j|d|td| ¡dS)NrC)r©r?)r!rUZMenur4r¼r)r%r&rCr'r'r(Útest_configure_menuæsz"MenubuttonTest.test_configure_menuN)r=r>r?rnr!rErGr'r'r'r(rAÖsrAcsheZdZdZeZdZ‡fdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dd„Z dd„Zdd„Z‡ZS)Ú ScaleTest) rržrfÚfromÚlengthr r7riÚtor;r°r#cs,tƒ ¡| ¡|_|j ¡|j ¡dSrZ)rDrEr!ÚscalerHrOrIrJr'r(rEös   zScaleTest.setUpcKstj|jfi|¤ŽSrZ)rZScalerGrkr'r'r(r!üszScaleTest.createcCs"| ¡}|j|dddddddS)NrIrðçÍÌÌÌÌÌ-@ç333333.@FrF©r!ZcheckFloatParamr5r'r'r(Útest_configure_fromÿszScaleTest.test_configure_fromcCs | ¡}| |ddddd¡dS)NrJé‚gffffff`@g33333ó`@Z5i©r!ÚcheckPixelsParamr5r'r'r(Útest_configure_lengthszScaleTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NrKé,rMrNéöÿÿÿFrFrOr5r'r'r(Útest_configure_toszScaleTest.test_configure_toc Cs$| ¡}|j|ddddddddS)Nr;rUrMrNrVFrFrOr5r'r'r(r= szScaleTest.test_configure_valuecsŠgd¢‰|j d‡fdd„¡}d|jd<d|jd<d|jd <| ˆ¡gd¢‰|jjd d d |jjd dd |jjdd| ˆ¡dS)N)r¢r¢r¢z<>csˆ ¡SrZ)Úpoprÿ©Zfailurer'r(r§r¨z-ScaleTest.test_custom_event..é rIÚfrom_rrKrLr-)r[rKréþÿÿÿ)rK)rLrr»r)r%Zfuncidr'rYr(Útest_custom_events    zScaleTest.test_custom_eventcCsÈ|jrdd„}nt}|j ¡}| |j |d¡|jd¡| ||j dd¡ƒ||jdƒ¡| |j ¡|jd¡d|jd<| |j ¡|jd¡| tj|jjdd¡| tj|jjdd¡dS) NcSs|SrZr'r>r'r'r(r§$r¨z$ScaleTest.test_get..rrKrIr;ér) rÚfloatrLrRr"rårTrUr)r%r?Z scale_widthr'r'r(Útest_get"s  $ zScaleTest.test_getcCst|jrdd„}nt}||jdƒ}|d}|j |¡| ||j ¡ƒ|¡||jdƒ}|j |d¡| ||j ¡ƒ|¡t |j¡}||jd<| |d¡| ||j ¡ƒ| ¡¡| ||j ¡ƒ|d¡~|d|jd <| ||j ¡ƒ|d¡| ||j ¡ƒ||jd ƒ¡| ||j d d ¡ƒ|¡| ||j |j  ¡d ¡ƒ|¡|  tj |jjd¡dS) NcSs|SrZr'r>r'r'r(r§6r¨z$ScaleTest.test_set..rKrZrIr¢r°r-r;r) rr_rLrr"rårUZ DoubleVarrGrRrTr)r%r?ÚmaxZnew_maxÚminÚvarr'r'r(Útest_set4s,      zScaleTest.test_set)r=r>r?rnr rcr8rEr!rPrTrWr=r]r`rdrar'r'rJr(rHís rHc@sHeZdZdZeZdZdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dS)ÚProgressbarTest) rrfr rJÚmodeÚmaximumZphaser7rir;r°r#cKstj|jfi|¤ŽSrZ)rZ ProgressbarrGrkr'r'r(r!bszProgressbarTest.createcCs| ¡}| |dddd¡dS)NrJgfffffY@gš™™™™YL@Z2irRr5r'r'r(rTesz%ProgressbarTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NrgçfffffÆb@çÍÌÌÌÌlS@rrVFrFrOr5r'r'r(Útest_configure_maximumisz&ProgressbarTest.test_configure_maximumcCs| ¡}| |ddd¡dS)NrfZ determinateZ indeterminaterr5r'r'r(Útest_configure_modemsz#ProgressbarTest.test_configure_modecCsdSrZr'rIr'r'r(Útest_configure_phaseqsz$ProgressbarTest.test_configure_phasec Cs$| ¡}|j|ddddddddS)Nr;rhrirrVFrFrOr5r'r'r(r=usÿz$ProgressbarTest.test_configure_valueN) r=r>r?rnr rcr8r!rTrjrkrlr=r'r'r'r(reXsrer×z"ttk.Scrollbar is special on MacOSXc@seZdZdZdZdd„ZdS)Ú ScrollbarTest)rržrfr r7rir"cKstj|jfi|¤ŽSrZ)rZ ScrollbarrGrkr'r'r(r!„szScrollbarTest.createN©r=r>r?rnr8r!r'r'r'r(rm{srmcspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú NotebookTest)rrfrgr*r7rirBcs\tƒ ¡|jdd|_t |j¡|_t |j¡|_|jj |jdd|jj |jdddS)Nr©r*rÞr4r5) rDrEr!Únbrr€rGÚchild1r,r%rIrJr'r(rEŽs  zNotebookTest.setUpcKstj|jfi|¤ŽSrZ)rZNotebookrGrkr'r'r(r!–szNotebookTest.createc Cs:|j d¡|j |j¡| tj|jj|j¡|  |j  d¡d¡|j  |j¡|  |j  d¡d¡|j  |j¡|  |j d¡¡|jj |jdd|j ¡|j ¡tjdkr¼d}nd }|  |j |¡|j d¡¡td d d ƒD]B}z&|jjd |dddkrWq6Wqètjy(Yqè0qè| d ¡dS)Nrrâr¢rrÞr4r×z@20,5z@5,5r-rðz@%d, 5zTab with text 'a' not found)rqr)Úhider,rTrUrÚtabrrr"Úindexr%Úselectr«rHrOrÙrÚÚrangeÚfail)r%Ztb_idxÚir'r'r(Útest_tab_identifiers™s,     z!NotebookTest.test_tab_identifierscCsd| tj|jjd¡| tj|jjd¡| tj|jjd¡| tj|jjd¡|jtj|jjt |j¡dd|j  ¡}|j |j ¡|j |j ¡|  |j  ¡|¡t |j¡}|jj|dd|j  ¡}|j  d¡}|j  |j ¡}|j |j ¡|j |j ¡|  |j  ¡|¡|  |j  |j ¡|¡|  t|j ƒ|j  ¡|¡|  |j  d¡|d¡dS) NrNr]Úoption)Úunknownr r4rr¢)rTrUrrqrsr%rr€rGÚtabsrrr"rur,r¼)r%r}r'ZcurrZ child2_indexr'r'r(Útest_add_and_hidden¸s,ÿ    z NotebookTest.test_add_and_hiddencCsÖ| tj|jjd¡| tj|jjd¡| tj|jjd¡|j ¡}|j |j¡}|j |j¡| t |jƒ|j ¡¡|  t |ƒdt |j ¡ƒ¡|j  |j¡|  |j |j¡d¡|  ||j |j¡¡dS)NrNr]r¢)rTrUrrqr)r}rurrZ assertNotInr¼r"r¾r%r8)r%r}Z child1_indexr'r'r(r*Õs zNotebookTest.test_forgetcCs€| tj|jjd¡| tj|jjd¡| |j d¡t¡| |j |j¡d¡| |j |j ¡d¡| |j d¡d¡dS)NrNrârr¢rL) rTrUrrqrur1rQr"rrr,rIr'r'r(Ú test_indexås zNotebookTest.test_indexcCsæ|j ¡}|j d|d¡| |j ¡|d|df¡|j |j|j¡| |j ¡|¡|j d|j¡| |j ¡|d|df¡|j dd¡| |j ¡|¡| tj|jjd|d¡| tj|jjd|d¡t   |j ¡}|j d|¡| |j ¡|dt |ƒ|df¡|j  |¡| |j ¡|¡|j |j|¡| |j ¡t |ƒf|¡|j  |¡| tj|jjd|¡| tj|jjd|¡| tj|jjdd¡| tj|jjdd¡| tj|jjdd¡dS)Nr¢rrârLrN)rqr}rär"rrr,rTrUrrr€rGr¼r))r%r}r-r'r'r(r.ïs0  $  zNotebookTest.test_insertcs¨|j ¡|j ¡g‰g‰|j d‡fdd„¡|j d‡fdd„¡| |j ¡t|jƒ¡|j |j¡|  ˆ¡| |j ¡t|jƒ¡|j ¡|  ˆ¡dS)Nzcs ˆ d¡SrÛr£rÿr¥r'r(r§r¨z*NotebookTest.test_select..z<>cs ˆ d¡SrÛr£rÿ)Ú tab_changedr'r(r§r¨) rqrHrOrrrr"rvr¼r,r«rIr')r¦r€r(Ú test_selects   ÿ  zNotebookTest.test_selectcCsÌ| tj|jjd¡| tj|jjd¡| tj|jjd¡| |j |j¡t¡| |jj|jddd¡| |j |jd¡d¡|jj|jdd| |jj|jddd¡| |j |jd¡d¡dS)NrNZnotabr4rÞrCÚabc) rTrUrrqrtr1rrr2r"rIr'r'r(Útest_tab$szNotebookTest.test_tabcCsH| t|j ¡ƒd¡|j |j¡|j |j¡| |j ¡d¡dS)NrLr')r"r¾rqr}r)rrr,rIr'r'r(Útest_configure_tabs2sz NotebookTest.test_configure_tabscCs\|j ¡|j ¡|j d¡| |j dd¡d¡t|jddƒ|j ¡|j d¡| |j ¡t |j ƒ¡|j ¡|j d¡| |j ¡t |j ƒ¡|j ¡|j d¡| |j ¡t |j ƒ¡|jj |j ddd|j  ¡|j ¡| |j dd¡d¡t|jddƒtjdkr4|j d ¡n |j d ¡| |j ¡t |j ƒ¡dS) Nrr-rÑz zrÞ)rCrrr×z z)rqrHrOrvr"rPr Z focus_forcerür¼r,rrrtZenable_traversalrÙrÚrIr'r'r(Útest_traversal;s.             zNotebookTest.test_traversal)r=r>r?rnrEr!rzr~r*rr.rrƒr„r…rar'r'rJr(roˆs  ! rocspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú SpinboxTest)r—rržrfrÂr˜r™ÚformatrIÚ incrementrÃršrÄr_r7rir›rKrÅrÆrírBÚwraprÇcs"tƒ ¡| ¡|_|j ¡dSrZ)rDrEr!ÚspinrHrIrJr'r(rEbs  zSpinboxTest.setUpcKstj|jfi|¤ŽSrZ)rÚSpinboxrGrkr'r'r(r!gszSpinboxTest.createcCsp|j ¡}|j ¡}|d}|dd}| |j ||¡d¡|jjd||d|jjd||d|j ¡dS)Nr-rLz .*uparrow\Zrör÷rú©rŠrRrSrûrPrürý©r%rBrgrørùr'r'r(Ú_click_increment_arrowjs   z"SpinboxTest._click_increment_arrowcCsp|j ¡}|j ¡}|d}|dd}| |j ||¡d¡|jjd||d|jjd||d|j ¡dS)Nr-rLérõrör÷rúrŒrr'r'r(Ú_click_decrement_arrowts   z"SpinboxTest._click_decrement_arrowcs–g‰‡fdd„|jd<|j ¡| ¡|j ¡| ˆ¡| ¡| tˆƒd¡d|jd<|j ¡| ¡| ¡|j ¡| tˆƒd¡dS)Ncs ˆ d¡SrÛr£r'r¥r'r(r§r¨z4SpinboxTest.test_configure_command..ržrLr)rŠrOrŽr«rr"r¾rýrIr'r¥r(Útest_configure_command~s      z"SpinboxTest.test_configure_commandcCsbd|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡dS)NrrIr-rKrr.)rŠrrOrŽr"rårIr'r'r(rW’s    zSpinboxTest.test_configure_tocCsbd|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡dS)Nr¢rIrZrKrLr)rŠrrOrr"rårIr'r'r(rPžs    zSpinboxTest.test_configure_fromcCs€d|jd<d|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡d |jd<|j ¡| ¡| |j ¡d ¡dS) NrrIrZrKrrˆr¢r.rLÚ3)rŠrrOrŽr"rårrIr'r'r(Útest_configure_increment¨s       z$SpinboxTest.test_configure_incrementcCsœ|j d¡d|jd<|j ¡| ¡|j ¡}| t|ƒd¡| | d¡d¡d|jd<|j ¡| ¡|j ¡}| d|v¡| t|ƒd¡dS)Nr¢z%10.3fr‡rZÚ.rr) rŠrrOrŽrår"r¾rur«)r%r;r'r'r(Útest_configure_format¶s       z!SpinboxTest.test_configure_formatcCsšd|jd<d|jd<|j d¡d|jd<|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡d |jd<|j ¡| ¡| |j ¡d¡dS) NrZrKr¢rITr‰Ú10rF)rŠrrOrr"rårŽrIr'r'r(Útest_configure_wrapÇs       zSpinboxTest.test_configure_wrapcCs|| |jdtdkrdnd¡|j|jdddd| |jdd¡| |jdd¡| |jdd¡gd ¢|jd<|j d ¡|j ¡| ¡| |j ¡d ¡| ¡| |j ¡d ¡|jj gd ¢d | |jd|j râdnd¡gd¢|jd<| |jd|j rdnd¡gd¢|jd<| |jd|j r:dnd¡t j |j gd¢d }| |d|j rjdnd¡| ¡dS)Nrírr'rrrr,r r rÞrrrrrrrrrrrr)r"rŠrr4rrOrŽrårrrrr‹rGr)r%Zspin2r'r'r(rÚsH ÿ ÿ    þ  þ  þ ÿz!SpinboxTest.test_configure_values)r=r>r?rnrEr!rŽrr‘rWrPr“r•r—rrar'r'rJr(r†Xs     r†csÐeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Z‡ZS)0Ú TreeviewTest) rÚcolumnsrfÚdisplaycolumnsrgr*Ú selectmoderÄr7rirÇZyscrollcommandcstƒ ¡|jdd|_dS)Nrrp)rDrEr!ÚtvrIrJr'r(rEs zTreeviewTest.setUpcKstj|jfi|¤ŽSrZ)rZTreeviewrGrkr'r'r(r!szTreeviewTest.createcCs:| ¡}|j|dddd| |dd¡| |dd¡dS)Nr™úa b c©rÞr5r r,rr3r5r'r'r(Útest_configure_columnss  ÿz#TreeviewTest.test_configure_columnscCsŠ| ¡}d|d<|j|dddd| |dd¡|j|dddd| |dd ¡|j|dd d d |j|dd dd |j|dddd dS)Nržr™ršzb a c)r5rÞr r,ú#all)r )rLr¢r)rÞr5r zInvalid column index dr)r¢rLrzColumn index 3 out of bounds)r¢r\zColumn index -2 out of bounds)r!r4r#r5r'r'r(Útest_configure_displaycolumnss& ÿ ÿ ÿ ÿ ÿz*TreeviewTest.test_configure_displaycolumnsc Cs8| ¡}|j|ddddddd|j|ddd tddS) NrgrðrórZ3cFrFrñrò)r!rSr r5r'r'r(rô-sz"TreeviewTest.test_configure_heightcCs| ¡}| |dddd¡dS)Nr›r‹ZbrowseZextendedrr5r'r'r(Útest_configure_selectmode2sÿz&TreeviewTest.test_configure_selectmodecCs^| ¡}|j|dddd| |dd¡| |dd¡|j|dddd|j|ddd ddS) NrÄz tree headings)ÚtreeÚheadingsr,)r¤r£r£)r£r¤)r¤r3r5r'r'r(rÍ7s ÿz TreeviewTest.test_configure_showcCsî|j ¡| |j d¡d¡|j ¡|j dd¡}|j ¡}| |¡|j |d¡}| |¡dg|jd<|jj ddd|j |dd¡}|jj ddd}|j s°t |ƒ}| |d|d|¡|j |d¡}| |j |¡d¡dS) NrrârÚtestr™é2©rBú#0) rœrHr"rÕrOräÚ get_childrenr«rÔÚcolumnrrQ)r%Úitem_idZchildrenrÕZ bbox_column0Z root_widthrrr'r'r(rÖ@s"      zTreeviewTest.test_bboxcCsä| |j ¡d¡|j dd¡}| |j ¡t¡| |j ¡d|¡|j dd¡}|j dd¡}|j |||¡| |j |¡||f¡| tj |jj||¡|j |¡| |j |¡d¡|j d¡| |j ¡d¡dS)Nr'rrâr) r"rœr©rär1ÚtupleZ set_childrenrTrUr)r%r«r,r-r'r'r(Ú test_childrenZs ÿ  zTreeviewTest.test_childrencCsü| |j d¡t¡|jr2| |jjdddt¡|jjddd| |j dd¡|jr\dnd¡| |jjddd|jr~dnd¡|jtj |jjddd| tj |jjd¡d d id d id d idd idd ig}|D] }|jtj |jjdfi|¤ŽqÖdS)Nr¨r§rZrBr–ÚX©ÚidrèZunknown_optionz some valueZstretchZwrongr–Zminwidth) r1rœrªr2rrQr"rTrUr)r%Z invalid_kwsr[r'r'r(Ú test_columnvs& ÿ ÿ þÿzTreeviewTest.test_columncCsâ| tj|jjd¡|j dd¡}|j |d¡}| |j ¡|f¡| |j |¡|f¡|j |¡| |j ¡¡| tj|jj |dd¡|j dd¡}|j dd¡}| |j ¡||f¡|j ||¡| |j ¡¡dS)Nr¨rrâ) rTrUrrœrérär"r©r»Úreattach)r%r«Úitem2Úitem1r'r'r(Ú test_deletes  ÿzTreeviewTest.test_deletecCs|j dd¡}|j |d¡}|j ¡}|j ¡| ||j ¡¡| |j ¡|f¡| |j |¡|f¡|j |¡| |j ¡¡|j |dd¡| |j ¡|f¡| |j |¡|f¡|j |dd¡| |j ¡||f¡| |j |¡d¡| t j |jjddd¡| t j |jjd¡| t j |jj|dd¡| t j |jj|dd¡|j ||¡| |j ¡d¡| |j |¡d¡dS)Nrrâr'Z nonexistentZ otherparentrè) rœrär©Údetachr"r»r²ÚmoverTrUr)r%r«r³Úprevr'r'r(Útest_detach_reattach¨s<    ÿÿ ÿ ÿz!TreeviewTest.test_detach_reattachcCsT| |j d¡d¡| |j d¡d¡| |j i¡d¡| tj|jjd¡dS)NZ somethingFrT)r"rœÚexistsrTrUrrIr'r'r(Ú test_existsÒszTreeviewTest.test_existscCst| |j ¡d¡|j dd¡}|j |¡| |j ¡|¡|j |¡| |j ¡d¡| tj|jjd¡dS)Nrrâr])r"rœrÑrärérTrUr)r%r´r'r'r(Ú test_focusÝs  zTreeviewTest.test_focuscCs†| |j d¡t¡|jjddd| |j dd¡d¡| |jjdddd¡|jtj|jjddd|jtj|jjddddS)Nr¨r]r4rC)r—r¢)r–)r1rœÚheadingr2r"rTrUrrIr'r'r(Ú test_headingìsÿÿzTreeviewTest.test_headingcsÀ‡fdd„}g‰ˆj ¡ˆjjd‡fdd„dˆjjdddˆj ¡|d d ƒˆsdˆ d ¡g‰ˆjjj}ˆjjdtˆjjdddƒdˆ  |ˆjjj¡|d d ƒˆs¼ˆ d ¡dS) NcsNtdkr2ˆ ˆj |¡d¡ˆ ˆj ||¡d¡tˆj||ƒˆj ¡dS)N)rrr¨r½)rr"rœZidentify_columnZidentify_regionr rOr÷rIr'r(Úsimulate_heading_clickýs zBTreeviewTest.test_heading_callback..simulate_heading_clickr¨cs ˆ d¡SrÛr£r'r¥r'r(r§r¨z4TreeviewTest.test_heading_callback..r©rðr§r-z>The command associated to the treeview heading wasn't invoked.) rœrHr½rªrOrxr…Z _tclCommandsr¼r")r%r¿Úcommandsr')r%r¦r(Útest_heading_callbacküs         z"TreeviewTest.test_heading_callbackcCsL| tj|jjd¡| |j d¡d¡|j dd¡}|j dd¡}|j |d¡}|j |d¡}| |j |¡d¡| |j |¡d¡| |j |¡d¡| |j |¡d¡|j |dd¡| |j |¡d¡| |j |¡d¡|j |¡| |j |¡d¡|j |¡| |j |¡d¡|j  |¡| tj|jj|¡dS)NZwhatrrrâr¢) rTrUrrœrur"rär·r¶ré)r%r´r³Úc1Úc2r'r'r(r s&   zTreeviewTest.test_indexc Cs„| tj|jjdd¡|jtj|jjdddd|jtj|jjdddd| |j |jjdddd¡¡| |j |jjdddd¡¡| tj|jjdd¡|j ddd ¡}| |d ¡| tj|jjddd ¡| tj|jjddtd ƒ¡d }|jjdd|fd }| |j  |d ¡|j r&|fn|¡| |jj |dd |j rL|fn|¡|jj ||j   |jj |dd ¡d | |jj |dd |j r–|fn|¡|  |j  |¡t¡|jj |dd | |jj |dd ¡|jjddd d|gd}| |jj |dd|j rdd|fnd|¡|jj |gd| |jj |dd¡|jj |dd| |jj |dd|j rpdnd¡|jjdddd||ffd }| |jj |dd |j r¾dd||ffn d||f¡| |jj |jjddddddd¡| |jj |jjdd|ddd|¡|j ddd¡}| |d¡|j ddd¡}| |d¡| tj|jjddd¡| tj|jjddd¡dS)Nr‹râr)ÚopenZpleaseTFZmiddlez first-itemuábarrír¢rL©Útagsrrz1 2 %s©r¢rL)rrz1 2rz%s %sz{a b c} {%s %s}z Label herer4rr+gz0.0)rTrUrrœrär»rér"rÚitemrrGZ splitlistr1r2)r%Zitemidr;rÈr'r'r(Útest_insert_item?s†ÿÿ   ÿÿÿÿ$ÿþÿ  ÿ þ ÿþ ÿþ  zTreeviewTest.test_insert_itemcCs²| t|jjd¡| tj|jjd¡| tj|jjd¡| tj|jjd¡| tj|jj d¡|j  dd¡}|j  dd¡}|j  |d¡}|j  |d¡}|j  |d¡}|  |j ¡d¡|j ||¡|  |j ¡||f¡|j |¡|  |j ¡|f¡|j ||¡|  |j ¡|||f¡|j |¡|  |j ¡||||f¡|j ¡|  |j ¡||||f¡|j ||¡|  |j ¡|||f¡|j |¡|  |j ¡||f¡|j ¡|  |j ¡||f¡|j  ||¡|  |j ¡||f¡|j  |¡|  |j ¡|f¡|j  ¡|  |j ¡|f¡|jj dddd|j d¡|  |j ¡d¡|jj ddd d|j d ¡|  |j ¡d ¡|jj ddd d|j d ¡|  |j ¡d ¡|jj ddd d|j d ¡|  |j ¡d¡|j ¡|  |j ¡d¡|j ||f¡|  |j ¡||f¡|j ||f¡|  |j ¡|||f¡|j ||f¡|  |j ¡||f¡|j  ||f¡|  |j ¡||f¡dS)Nr‡r‹rrâr'ú with spacesr¯)rÊú{brace)rËõ unicode€)rÌsbytes€)u bytes€) rTÚ TypeErrorrœZ selectionrUrZ selection_setZ selection_addZselection_removeZselection_togglerär")r%r´r³rÂrÃZc3r'r'r(Útest_selectionŒsn            zTreeviewTest.test_selectioncCs¢ddg|jd<|jjddddgd}| |j |¡ddd œ¡|j |dd¡| |jj|dd|jrjd nd ¡dg|jd<| |j |¡ddi¡|j |dd¡| |jj|dd d¡| |jj|dd|jrØd nd¡|j |dd¡| |j |d¡|jr dnd¡| |jj|dd|jr.dnd¡| |j |¡|jrRddinddi¡| tj|jj|d¡| tj|jj|dd¡| tj|jjd¡dS)NÚAÚBr™rrârÞr5r)rÏrÐ)rÞrÞza a)rª)r5rÞzb aé{Z123)rÑrÞz123 aZnotme) rœrär"rrÈrrTrUr)r%rÈr'r'r(rdÓs6 ÿ  ÿÿÿÿzTreeviewTest.test_setc s8g‰|jjdddgd}|jjdddgd}|j dd‡fdd„¡|j dd‡fd d„¡|j ¡|j ¡tƒ}tƒ}td d d ƒD]@}t|ƒd krœqÊ|j |¡}|rˆ||vrˆ|  |¡|  |¡qˆ|  t|ƒd ¡|D]}t |jd |ƒqÞ|  tˆƒd¡t ˆddd …ˆddd …ƒD]}|  |d¡q dS)NrrâÚcallrÅröcs ˆ d¡Sr¡r£rÿ©Úeventsr'r(r§ùr¨z,TreeviewTest.test_tag_bind..rúcs ˆ d¡S)NrLr£rÿrÓr'r(r§ûr¨rrðrZrLrr¢rÇ) rœräZtag_bindrHrOrrwr¾Z identify_rowr%r"r Úzip) r%r´r³Zpos_yÚfoundryr«rùrr'rÓr(Ú test_tag_bindôs4  ÿ  ÿ       "zTreeviewTest.test_tag_bindcCs†| t|jj¡|jtj|jjddd|jjddd| t|j dd¡ƒd¡| t|jjdddƒd¡| |j d¡t ¡dS)Nr¥Zblue)Zsky)r™r™) rTrÍrœZ tag_configurerUrr"r¼r1r2rIr'r'r(Útest_tag_configuresÿÿÿzTreeviewTest.test_tag_configurecCs |jjddddgd}|jjddddgd}| t|jj¡| t|jjdd¡| |j d|¡¡| |j d|¡¡| |j d|¡¡| |j d|¡¡| |j d |¡¡| |j d |¡¡| |j d¡|f¡| |j d¡|f¡| |j d ¡d ¡dS) NrrâzItem 1Ztag1)rCrÆzItem 2Ztag2z non-existingZtag3r') rœrärTrÍZtag_hasrr«r»r")r%r´r³r'r'r(Ú test_tag_has!szTreeviewTest.test_tag_has)r=r>r?rnrEr!rŸr¡rôr¢rÍrÖr­r±rµr¹r»r¼r¾rÁrrÉrÎrdr×rØrÙrar'r'rJr(r˜s0  * $MG!! r˜c@seZdZdZdZdd„ZdS)Ú SeparatorTest)rrfr r7rir#cKstj|jfi|¤ŽSrZ)rZ SeparatorrGrkr'r'r(r!9szSeparatorTest.createNrnr'r'r'r(rÚ1srÚc@seZdZdZdd„ZdS)Ú SizegripTest)rrfr7ricKstj|jfi|¤ŽSrZ)rZSizegriprGrkr'r'r(r!DszSizegripTest.createNrmr'r'r'r(rÛ=srÛc@seZdZdd„Zdd„ZdS)ÚDefaultRootTestcCs| tj¡dSrZ)Ú _test_widgetrrjrIr'r'r(Ú test_frameJszDefaultRootTest.test_framecCs| tj¡dSrZ)rÝrr€rIr'r'r(Ú test_labelMszDefaultRootTest.test_labelN)r=r>r?rÞrßr'r'r'r(rÜHsrÜÚ__main__)4ZunittestrUrrZ test.supportrrÙZ$tkinter.test.test_ttk.test_functionsrZtkinter.test.supportrrrr r Ztkinter.test.widget_testsr r r rrrrrZTestCaser@rbrdrorƒr•rr­rÁrërr:rArHreZskipIfrÚrmror†r˜rÚrÛrÜZ tests_guir=Úmainr'r'r'r(Ús†  $': 0}3j" ÿ P/-    û