U Ä:âe½ ã@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'úG/usr/local/python38/lib/python3.8/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  rcs0eZdZdZ‡fdd„Zdd„Zdd„Z‡ZS)Ú WidgetTestz,Tests methods available in every ttk widget.cs,tƒ ¡tj|jddd|_|j ¡dS)NrZText)ÚwidthÚtext)ÚsuperÚsetUprÚButtonÚrootr&Úpack©r%©Ú __class__r'r(rD;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ÚtkinterrrHr'r'r(Ú test_identifyAs  þýzWidgetTest.test_identifycCs>| |j ¡d¡| |j dg¡d¡| |j dg¡d¡| |j dg¡d¡| |j ddg¡d¡| |j ddg¡d¡| |j ddg¡d¡dd „}| |jjdg|d fd d iŽd d d if¡|j ¡}| tj|jjd g¡| tj|jjdd g¡| ||j ¡¡|j ddg¡| |j ¡d¡dS)Nr'ú !disabledTÚdisabled)rVÚactive)z!activerWc[s||fS©Nr')Zarg1Úkwr'r'r(Útest_cb^sz-WidgetTest.test_widget_state..test_cbÚhiÚmsgZthereZbadstate)rX)r"r&ÚstateZinstaterSrTr)r%r[Z currstater'r'r(Útest_widget_stateNs8ÿÿÿ þ ÿÿzWidgetTest.test_widget_state)r=r>r?Ú__doc__rDrUr_Ú __classcell__r'r'rIr(r@8s  r@c@seZdZeZdS)ÚAbstractToplevelTestN)r=r>r?r Ú _conv_pixelsr'r'r'r(rbrsrbc@seZdZdZdd„ZdS)Ú FrameTest) Ú borderwidthrÚcursorÚheightr*Úreliefr7Ú takefocusrAcKstj|jf|ŽSrY)rÚFramerF©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*rhr7rirBÚ underlinerAcKstj|jf|ŽSrY)rZ LabelFramerFrkr'r'r(r!‹szLabelFrameTest.createcCsB| ¡}|j|ddddddddd d d d d dd| |dd¡dS)NrpÚeÚenÚesÚnÚneZnwÚsZseÚswÚwZwnZwsz!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)rBÚnamerqz.foor,)r!rÚLabelrFr4Údestroy)r%r&rLr'r'r(Útest_configure_labelwidget•sz)LabelFrameTest.test_configure_labelwidgetN)r=r>r?rnr!r}rr'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,rX)rƒrXr…zimage1 active image2Úspamzimage "spam" doesn't existr)rTZ PhotoImagerFr4r#)r%r&r~Úimager…r'r'r(ÚcheckImageParamžsÿ ÿ ÿz!AbstractLabelTest.checkImageParamc Cs(| ¡}| |ddddddddd ¡ dS) NÚcompoundÚnonerBr‡r{ÚtopZbottomÚleftÚright©r!r|r5r'r'r(Útest_configure_compound«sþz)AbstractLabelTest.test_configure_compoundcCs| ¡}| |dddd¡dS)Nr^rXrWÚnormal©r!Z checkParamsr5r'r'r(Útest_configure_state±sz&AbstractLabelTest.test_configure_statecCs| ¡}| |dddd¡dS)NrAi’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^r7rirBÚ textvariablerrrAZ wraplengthcKstj|jf|ŽSrY)rrrFrkr'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^r7rirBršrrrAcKstj|jf|ŽSrY)rrErFrkr'r'r(r!×szButtonTest.createcCs| ¡}| |dddd¡dS)NržrrXrWrŽr5r'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)rrErFÚinvokeÚ assertTrue)r%Zbtnr'r¤r(Ú test_invokeÞszButtonTest.test_invokeN)r=r>r?rnr!rŸr«r'r'r'r(rœÎsrœc@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) ÚCheckbuttonTest)rrr‰rfr‡ÚoffvalueÚonvaluer*r^r7rirBršrrÚvariablerAcKstj|jf|ŽSrY)rÚ CheckbuttonrFrkr'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®rrr¡r­)rr°rFr"r^rSrTrÚ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ÚvalidatecommandrAÚxscrollcommandcstƒ ¡| ¡|_dSrY)rCrDr!ÚentryrHrIr'r(rD s zEntryTest.setUpcKstj|jf|ŽSrY)rZEntryrFrkr'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^rWrÚreadonlyr‘r5r'r'r(r’1s ÿzEntryTest.test_configure_statec Cs$| ¡}| |ddddddd¡dS)NrÄÚallÚkeyÚfocusZfocusinZfocusoutrŠrŽr5r'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ÇÚbboxrSrTrrHr'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×rMr) rÇrGrNÚsysÚplatformZassertInrOr"rSrTrrHr'r'r(rUFs   ÿ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½rSrTr)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?rnrDr!rÉrÌr’rÑrÒrÕrUrÛrærérar'r'rIr(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ÅÚvaluesrArÆcstƒ ¡| ¡|_dSrY)rCrDr!ÚcomborHrIr'r(rD©s zComboboxTest.setUpcKstj|jf|ŽSrY)rÚComboboxrFrkr'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írQÚ assertRegexrOÚevent_generateÚupdate_idletasks)r%rAr÷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íÚbindrGrNrRrý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írGrNrýrªr"r½rHr'r¤r(Útest_configure_postcommandÎs    z'ComboboxTest.test_configure_postcommandcsè‡fdd„}ˆ ˆjdtdkr$dnd¡|ddƒˆjˆjddd d ˆ ˆjdd ¡ˆ ˆjdd ¡ˆ ˆjdd¡d d dgˆjd<ˆj d¡|ddƒˆj d¡|d dƒˆj d¡|ddƒˆj d¡dˆjd<|ddƒˆjjd ddgdˆ ˆjdˆjrdnd¡dddgˆjd<ˆ ˆjdˆjrDdnd¡dddgˆjd<ˆ ˆjdˆjrrdnd¡ˆ t j ˆjjt ˆjdƒ¡ˆ t j ˆjjd¡t j ˆjd ddgd}ˆ |dˆjrÖd nd!¡| ¡dS)"Ncs(ˆ ˆj ¡|¡ˆ ˆj ¡|¡dSrY)r"ríräÚcurrent)ZgetvalZcurrvalrHr'r(Úcheck_get_currentßsz=ComboboxTest.test_configure_values..check_get_currentrì©rr-r'rrMúmon tue wed thur©ZmonZtueZwedZthurr,©é*g…ëQ¸ @rr²rÝr¡ÚcrKrÚd)r¡rKrr©rì©Ú1rÚ2ú1 {} 2úa búa búa b©rrrú{a b} {a b} {a b}úa\tbú"a"ú} {©rrrúa\\tb {"a"} \}\ \{©rrrú1 2 {})r"rírr4ÚsetrÚ configureÚ wantobjectsrSrTrr½rrîrFr€)r%rZcombo2r'rHr(Útest_configure_valuesÞsZ  ÿ  ÿ           þ  þ  þ ÿ ÿz"ComboboxTest.test_configure_values) r=r>r?rnrDr!rórýrrr rar'r'rIr(rêžs rêcsXeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z ‡Z S)ÚPanedWindowTest)rrfrgÚorientr7rirAcstƒ ¡| ¡|_dSrY)rCrDr!ÚpanedrHrIr'r(rD#s zPanedWindowTest.setUpcKstj|jf|ŽSrY)rZ PanedWindowrFrkr'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¡rK) rrr#rSrTrÚaddr€rFr"Úpane)r%rLÚ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) rSrTrr#Úforgetr'rrrFrHr'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á) rSrTrr#rãrrrFr"Ú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+r2Z somevalue)Z badoption)rSrTrr#r(rrrFr'Ú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Ý©rBr¡r1ÚbTZboth)ÚexpandÚfilliè) rSrTrr#Zsashposrrr'rGÚassertNotEqualr3rP)r%r)r.Zcurr_posr'r'r(Ú test_sashposŽs  zPanedWindowTest.test_sashpos) r=r>r?rnrDr!r&r*r,r0r5r;rar'r'rIr(r!s   #r!c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚRadiobuttonTest)rrr‰rfr‡r*r^r7rirBršrrÚvaluer¯rAcKstj|jf|ŽSrY)rÚ RadiobuttonrFrkr'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)rr¯r=r¡cSs|SrYr'©r÷r'r'r(r¦Àr§z7RadiobuttonTest.test_configure_invoke..r¶r=r¯rr)rTZIntVarrFrr>rrPr©r"rär¸r¹rªr»r¼r½)r%r·Zmyvarr¾Zcbtn2Úconvr¿r'r¤r(Útest_configure_invoke³s<   ÿ ÿ   ÿ  ÿz%RadiobuttonTest.test_configure_invokeN)r=r>r?rnr!r?rBr'r'r'r(r<¢sr<c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚMenubuttonTest)rr‰rfÚ directionr‡Úmenur*r^r7rirBršrrrAcKstj|jf|ŽSrY)rZ MenubuttonrFrkr'r'r(r!ÞszMenubuttonTest.createc Cs"| ¡}| |dddddd¡dS)NrDZaboveZbelowrŒrÚflushrŽr5r'r'r(Útest_directionásÿzMenubuttonTest.test_directioncCs4| ¡}tj|dd}|j|d|td| ¡dS)NrE)r~©rA)r!rTZMenur4r»r€)r%r&rEr'r'r(Útest_configure_menuæsz"MenubuttonTest.test_configure_menuN)r=r>r?rnr!rGrIr'r'r'r(rCÖsrCcsheZdZdZeZdZ‡fdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dd„Z dd„Zdd„Z‡ZS)Ú ScaleTest) rrrfÚfromÚlengthr"r7riÚtor=r¯r%cs,tƒ ¡| ¡|_|j ¡|j ¡dSrY)rCrDr!ÚscalerGrNrHrIr'r(rDös   zScaleTest.setUpcKstj|jf|ŽSrY)rZScalerFrkr'r'r(r!üszScaleTest.createcCs"| ¡}|j|dddddddS)NrKrïçÍÌÌÌÌÌ-@ç333333.@FrH©r!ZcheckFloatParamr5r'r'r(Útest_configure_fromÿszScaleTest.test_configure_fromcCs | ¡}| |ddddd¡dS)NrLé‚gffffff`@g33333ó`@Z5i©r!ÚcheckPixelsParamr5r'r'r(Útest_configure_lengthszScaleTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NrMé,rOrPéöÿÿÿFrHrQr5r'r'r(Útest_configure_toszScaleTest.test_configure_toc Cs$| ¡}|j|ddddddddS)Nr=rWrOrPrXFrHrQr5r'r'r(r? szScaleTest.test_configure_valuecsŽdddg‰|j d‡fdd„¡}d|jd<d|jd<d|jd <| ˆ¡dddg‰|jjd d d |jjd dd |jjdd| ˆ¡dS)Nr¡z<>csˆ ¡SrY)Úpoprþ©Zfailurer'r(r¦r§z-ScaleTest.test_custom_event..é rKÚfrom_rrMrKr-)r]rMréþÿÿÿ)rM)rNrrºr)r%Zfuncidr'r[r(Ú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|SrYr'r@r'r'r(r¦$r§z$ScaleTest.test_get..rrMrKr=ér) rÚfloatrNrQr"rärSrTr)r%rAZ 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|SrYr'r@r'r'r(r¦6r§z$ScaleTest.test_set..rMr\rKr¡r¯r-r=r) rrarNrr"rärTZ DoubleVarrFrQrSr)r%rAÚmaxZnew_maxÚminÚvarr'r'r(Útest_set4s,      zScaleTest.test_set)r=r>r?rnr rcr8rDr!rRrVrYr?r_rbrfrar'r'rIr(rJís rJc@sHeZdZdZeZdZdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dS)ÚProgressbarTest) rrfr"rLÚmodeÚmaximumZphaser7rir=r¯r%cKstj|jf|ŽSrY)rZ ProgressbarrFrkr'r'r(r!bszProgressbarTest.createcCs| ¡}| |dddd¡dS)NrLgfffffY@gš™™™™YL@Z2irTr5r'r'r(rVesz%ProgressbarTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NriçfffffÆb@çÍÌÌÌÌlS@rrXFrHrQr5r'r'r(Útest_configure_maximumisz&ProgressbarTest.test_configure_maximumcCs| ¡}| |ddd¡dS)NrhZ determinateZ indeterminaterŽr5r'r'r(Útest_configure_modemsz#ProgressbarTest.test_configure_modecCsdSrYr'rHr'r'r(Útest_configure_phaseqsz$ProgressbarTest.test_configure_phasec Cs$| ¡}|j|ddddddddS)Nr=rjrkrrXFrHrQr5r'r'r(r?usÿz$ProgressbarTest.test_configure_valueN) r=r>r?rnr rcr8r!rVrlrmrnr?r'r'r'r(rgXsrgrÖz"ttk.Scrollbar is special on MacOSXc@seZdZdZdZdd„ZdS)Ú ScrollbarTest)rrrfr"r7rir$cKstj|jf|ŽSrY)rZ ScrollbarrFrkr'r'r(r!„szScrollbarTest.createN©r=r>r?rnr8r!r'r'r'r(ro{srocspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú NotebookTest)rrfrgr*r7rirAcs\tƒ ¡|jdd|_t |j¡|_t |j¡|_|jj |jdd|jj |jdddS)Nr©r*rÝr6r7) rCrDr!ÚnbrrrFÚchild1r.r'rHrIr'r(rDŽs  zNotebookTest.setUpcKstj|jf|ŽSrY)rZNotebookrFrkr'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]D}z&|jjd |dddkrWq8Wqètjk r*YqèXqè| d ¡dS)Nrrár¡rrÝr6rÖz@20,5z@5,5r-rïz@%d, 5zTab with text 'a' not found)rsr+Úhider.rSrTrÚtabrtr"Úindexr'ÚselectrªrGrNrØ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) NrMr\Úoption)Úunknownr r6rr¡)rSrTrrsrur'rrrFÚtabsrtr"rwr.r»)r%rr)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)NrMr\r¡)rSrTrrsr+rrwrtZ assertNotInr»r"r½r'r:)r%rZ 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)NrMrárr¡rK) rSrTrrsrwr3rPr"rtr.rHr'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árKrM)rsrrãr"rtr.rSrTrrrrFr»r+)r%rr/r'r'r(r0ï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§) rsrGrNrtrr"rxr»r.rªrHr')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)NrMZnotabr6rÝrBÚabc) rSrTrrsrvr3rtr4r"rHr'r'r(Útest_tab$szNotebookTest.test_tabcCsH| t|j ¡ƒd¡|j |j¡|j |j¡| |j ¡d¡dS)NrKr')r"r½rsrr+rtr.rHr'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Ý)rBrrrÖz z)rsrGrNrxr"rOr Z focus_forcerûr»r.rtrvZenable_traversalrØrÙrHr'r'r(Útest_traversal;s.             zNotebookTest.test_traversal)r=r>r?rnrDr!r|r€r,rr0rƒr…r†r‡rar'r'rIr(rqˆs  ! rqcspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú SpinboxTest)r–rrrfrÁr—r˜ÚformatrKÚ incrementrÂr™rÃr^r7riršrMrÄrÅrìrAÚwraprÆcs"tƒ ¡| ¡|_|j ¡dSrY)rCrDr!ÚspinrGrHrIr'r(rDbs  zSpinboxTest.setUpcKstj|jf|ŽSrY)rÚSpinboxrFrkr'r'r(r!gszSpinboxTest.createcCsp|j ¡}|j ¡}|d}|dd}| |j ||¡d¡|jjd||d|jjd||d|j ¡dS)Nr-rKz .*uparrow\Zrõrörù©rŒrQrRrúrOrûrü©r%rArgr÷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-rKé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..rrKr)rŒrNrrªr’r"r½rürHr'r¤r(Útest_configure_command~s      z"SpinboxTest.test_configure_commandcCsbd|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡dS)NrrKr-rMr‘r.)rŒrrNrr"rärHr'r'r(rY’s    zSpinboxTest.test_configure_tocCsbd|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡dS)Nr¡rKr\rMrKr)rŒrrNr’r"rärHr'r'r(rRžs    zSpinboxTest.test_configure_fromcCs€d|jd<d|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡d |jd<|j ¡| ¡| |j ¡d ¡dS) NrrKr\rMr‘rŠr¡r.rKÚ3)rŒrrNrr"rär’rHr'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|k¡| t|ƒd¡dS)Nr¡z%10.3fr‰r\Ú.rr) rŒrrNrrär"r½rwrª)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) Nr\rMr¡rKTr‹Ú10rF)rŒrrNr’r"rärrHr'r'r(Útest_configure_wrapÇs       zSpinboxTest.test_configure_wrapcCs†| |jdtdkrdnd¡|j|jdddd| |jdd¡| |jdd¡| |jdd¡d d d g|jd<|j d ¡|j ¡| ¡| |j ¡d ¡| ¡| |j ¡d ¡|jj d dd gd| |jd|j rædnd¡dddg|jd<| |jd|j rdnd¡dddg|jd<| |jd|j rBdnd¡t j |j d d dgd}| |d|j rtdnd¡| ¡dS)Nrìrr'rrrr,rrÝr¡r rrKr r rrrrrrrrrrrrr)r"rŒrr4rrNrrär’rrrrrFr€)r%Zspin2r'r'r(r ÚsH ÿ ÿ    þ  þ  þ ÿz!SpinboxTest.test_configure_values)r=r>r?rnrDr!rr’r“rYrRr•r—r™r rar'r'rIr(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)Nrrr)rCrDr!ÚtvrHrIr'r(rDs zTreeviewTest.setUpcKstj|jf|ŽSrY)rZTreeviewrFrkr'r'r(r!szTreeviewTest.createcCs:| ¡}|j|dddd| |dd¡| |dd¡dS)Nr›úa b c©rÝr7r 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)r7rÝr r,ú#all)r¢)rKr¡r)rÝr7r zInvalid column index dr)r¡rKrzColumn 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òrZ3cFrHrðrñ)r!rUr r5r'r'r(ró-sz"TreeviewTest.test_configure_heightcCs| ¡}| |dddd¡dS)NrrŠZbrowseZextendedrŽr5r'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©rAú#0) ržrGr"rÔrNrãÚ get_childrenrªrÓÚcolumnrrP)r%Úitem_idZchildrenrÔZ bbox_column0Z root_widthrtr'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ãr3ÚtupleZ set_childrenrSrTr)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 |jjdf|ŽqÖdS)Nrªr©r\rAr˜ÚX©ÚidrçZunknown_optionz some valueZstretchZwrongr•Zminwidth) r3ržr¬r4rrPr"rSrTr)r%Z invalid_kwsrZr'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á) rSrTrrž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´ÚmoverSrTr)r%r­rµÚprevr'r'r(Útest_detach_reattach¨sP   ÿÿÿÿz!TreeviewTest.test_detach_reattachcCsT| |j d¡d¡| |j d¡d¡| |j i¡d¡| tj|jjd¡dS)NZ somethingFrT)r"ržÚexistsrSrTrrHr'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èrSrTr)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\r6rB)r–r¡)r•)r3ržÚheadingr4r"rSrTrrHr'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 rNrörHr'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žrGr¿r¬rNrzr„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¡) rSrTrržrwr"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ábar rìr¡rK©Útagsrrz1 2 %s©r¡rK)rrz1 2rŸz%s %sz{a b c} {%s %s}z Label herer6rr+gz0.0)rSrTrržrãrºrèr"rÚitemrrFZ splitlistr3r4)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€) rSÚ TypeErrorržZ selectionrTrZ 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Ýr7r )rÑrÒ)rÝrÝza a)r¬)r7rÝzb aé{Z123)rÓrÝz123 aZnotme) ržrãr"rrÊrrSrTr)r%rÊr'r'r(rfÓ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ˆ||krˆ|  |¡|  |¡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)NrKr¢rþrÕr'r(r¦ûr§rrïr\rKr‘r¡rÉ) ržrãZtag_bindrGrNrryr½Z identify_rowr'r"r Úzip) r%r¶rµZpos_yÚfoundr{r­rørÿr'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˜) rSrÏržZ tag_configurerTrr"r»r3r4rHr'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)rBrÈzItem 2Ztag2z non-existingZtag3r') ržrãrSrÏZtag_hasrrªrºr")r%r¶rµr'r'r(Ú test_tag_has!szTreeviewTest.test_tag_has)r=r>r?rnrDr!r¡r£rór¤rÌrÕr¯r³r·r»r½r¾rÀrÃrrËrÐrfrÙrÚrÛrar'r'rIr(ršs0  * $MG!! ršc@seZdZdZdZdd„ZdS)Ú SeparatorTest)rrfr"r7rir%cKstj|jf|ŽSrY)rZ SeparatorrFrkr'r'r(r!9szSeparatorTest.createNrpr'r'r'r(rÜ1srÜc@seZdZdZdd„ZdS)Ú SizegripTest)rrfr7ricKstj|jf|ŽSrY)rZSizegriprFrkr'r'r(r!DszSizegripTest.createNrmr'r'r'r(rÝ=srÝc@seZdZdd„Zdd„ZdS)ÚDefaultRootTestcCs| tj¡dSrY)Ú _test_widgetrrjrHr'r'r(Ú test_frameJszDefaultRootTest.test_framecCs| tj¡dSrY)rßrrrHr'r'r(Ú test_labelMszDefaultRootTest.test_labelN)r=r>r?ràrár'r'r'r(rÞHsrÞÚ__main__)4ZunittestrTrrZ test.supportrrØZ$tkinter.test.test_ttk.test_functionsrZtkinter.test.supportrrrr r Ztkinter.test.widget_testsr r r rrrrrZTestCaser@rbrdror‚r”rœr¬rÀrêr!r<rCrJrgZskipIfrÙrorqrˆršrÜrÝrÞZ tests_guir=Úmainr'r'r'r(Ús¤  $': 0}3j" ÿ P/-   û