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  rcs0eZdZdZ‡fdd„Zdd„Zdd„Z‡ZS)Ú WidgetTestz,Tests methods available in every ttk widget.cs,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?Ú__doc__rErVr`Ú __classcell__r'r'rJr(r@8s  r@c@seZdZeZdS)ÚAbstractToplevelTestN)r=r>r?r Ú _conv_pixelsr'r'r'r(rcrsrcc@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(revsrec@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚLabelFrameTest) rfrrgrhÚ labelanchorÚ labelwidgetr*rir7rjrCÚ underlinerBcKstj|jfi|¤ŽSrZ)rZ LabelFramerGrlr'r'r(r!‹szLabelFrameTest.createcCsB| ¡}|j|ddddddddd d d d d dd| |dd¡dS)NrqÚ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Únamerrz.foor,)r!rÚLabelrGr4Údestroy)r%r&rMr'r'r(Útest_configure_labelwidget•sz)LabelFrameTest.test_configure_labelwidgetN)r=r>r?ror!rrƒr'r'r'r(rp‚srpc@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Šr‘r”r•r'r'r'r(r„œs r„c@s$eZdZdZeZdd„Zdd„ZdS)Ú LabelTest)ÚanchorÚ backgroundrfrr‹rgÚfontÚ foregroundr‰Újustifyr*rir_r7rjrCÚ textvariablersrBZ wraplengthcKstj|jfi|¤ŽSrZ)rrrGrlr'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?ror rdr!rr'r'r'r(r–ºsr–c@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú ButtonTest)rÚcommandr‹rgÚdefaultr‰r*r_r7rjrCrœrsrBcKstj|jfi|¤ŽSrZ)rrFrGrlr'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?ror!r¡r­r'r'r'r(ržÎsržc@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) ÚCheckbuttonTest)rrŸr‹rgr‰ÚoffvalueÚonvaluer*r_r7rjrCrœrsÚvariablerBcKstj|jfi|¤ŽSrZ)rÚ CheckbuttonrGrlr'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?ror!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˜rrgÚexportselectionr™ršÚinvalidcommandr›Úshowr_r7rjrœÚvalidateÚvalidatecommandrBÚxscrollcommandcstƒ ¡| ¡|_dSrZ)rDrEr!ÚentryrIrJr'r(rE s zEntryTest.setUpcKstj|jfi|¤ŽSrZ)rZEntryrGrlr'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?rorEr!rËrÎr”rÓrÔr×rVrÝrèrërbr'r'rJr(rÂs rÂcsPeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z ‡Z S)Ú ComboboxTest)r˜rrgrÃr™ršrhrÄr›Ú postcommandrÅr_r7rjrœrÆrÇÚvaluesrBrÈcstƒ ¡| ¡|_dSrZ)rDrEr!ÚcomborIrJr'r(rE©s zComboboxTest.setUpcKstj|jfi|¤ŽSrZ)rÚComboboxrGrlr'r'r(r!­szComboboxTest.createc Cs$| ¡}| |ddddddd¡dS)Nrhé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%rhr'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?rorEr!rõrÿrrrrbr'r'rJr(rìžs rìcsXeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z ‡Z S)ÚPanedWindowTest)rrgrhÚorientr7rjrBcstƒ ¡| ¡|_dSrZ)rDrEr!ÚpanedrIrJr'r(rE#s zPanedWindowTest.setUpcKstj|jfi|¤ŽSrZ)rZ PanedWindowrGrlr'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) rrr"rTrUrÚaddr‚rGr"Ú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&rrrGrIr'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årrrGr"Ú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+r1Z somevalue)Z badoption)rTrUrr"r'rrrGr&Ú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£r0ÚbTZboth)ÚexpandÚfilliè) rTrUrr"Zsashposrrr&rHÚassertNotEqualr2rQ)r%r(r-Zcurr_posr'r'r(Ú test_sashposŽs  zPanedWindowTest.test_sashpos) r=r>r?rorEr!r%r)r+r/r4r:rbr'r'rJr(r s   #r c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚRadiobuttonTest)rrŸr‹rgr‰r*r_r7rjrCrœrsÚvaluer±rBcKstj|jfi|¤ŽSrZ)rÚ RadiobuttonrGrlr'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?ror!r>rAr'r'r'r(r;¢sr;c@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚMenubuttonTest)rr‹rgÚ directionr‰Úmenur*r_r7rjrCrœrsrBcKstj|jfi|¤ŽSrZ)rZ MenubuttonrGrlr'r'r(r!ÞszMenubuttonTest.createc Cs"| ¡}| |dddddd¡dS)NrCZaboveZbelowrŽrÚflushrr5r'r'r(Útest_directionás ÿzMenubuttonTest.test_directioncCs4| ¡}tj|dd}|j|d|td| ¡dS)NrD)r€©r@)r!rUZMenur4r½r‚)r%r&rDr'r'r(Útest_configure_menuæsz"MenubuttonTest.test_configure_menuN)r=r>r?ror!rFrHr'r'r'r(rBÖsrBcsheZdZdZeZdZ‡fdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dd„Z dd„Zdd„Z‡ZS)Ú ScaleTest) rrŸrgÚfromÚlengthr!r7rjÚtor<r±r$cs,tƒ ¡| ¡|_|j ¡|j ¡dSrZ)rDrEr!ÚscalerHrOrIrJr'r(rEös   zScaleTest.setUpcKstj|jfi|¤ŽSrZ)rZScalerGrlr'r'r(r!üszScaleTest.createcCs"| ¡}|j|dddddddS)NrJrñçÍÌÌÌÌÌ-@ç333333.@FrG©r!ZcheckFloatParamr5r'r'r(Útest_configure_fromÿszScaleTest.test_configure_fromcCs | ¡}| |ddddd¡dS)NrKé‚gffffff`@g33333ó`@Z5i©r!ÚcheckPixelsParamr5r'r'r(Útest_configure_lengthszScaleTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NrLé,rNrOéöÿÿÿFrGrPr5r'r'r(Útest_configure_toszScaleTest.test_configure_toc Cs$| ¡}|j|ddddddddS)Nr<rVrNrOrWFrGrPr5r'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..é rJÚfrom_rrLrLr-)r\rLréþÿÿÿ)rL)rMrr¼r)r%Zfuncidr'rZr(Ú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..rrLrJr<ér) rÚfloatrMrRr"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..rLr[rJr£r±r-r<r) rr`rMrr"rærUZ DoubleVarrGrRrTr)r%r@ÚmaxZnew_maxÚminÚvarr'r'r(Útest_set4s,      zScaleTest.test_set)r=r>r?ror rdr8rEr!rQrUrXr>r^rarerbr'r'rJr(rIís rIc@sHeZdZdZeZdZdd„Zdd„Zdd„Z d d „Z d d „Z d d„Z dS)ÚProgressbarTest) rrgr!rKÚmodeÚmaximumZphaser7rjr<r±r$cKstj|jfi|¤ŽSrZ)rZ ProgressbarrGrlr'r'r(r!bszProgressbarTest.createcCs| ¡}| |dddd¡dS)NrKgfffffY@gš™™™™YL@Z2irSr5r'r'r(rUesz%ProgressbarTest.test_configure_lengthc Cs$| ¡}|j|ddddddddS)NrhçfffffÆb@çÍÌÌÌÌlS@rrWFrGrPr5r'r'r(Útest_configure_maximumisz&ProgressbarTest.test_configure_maximumcCs| ¡}| |ddd¡dS)NrgZ 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<rirjrrWFrGrPr5r'r'r(r>usÿz$ProgressbarTest.test_configure_valueN) r=r>r?ror rdr8r!rUrkrlrmr>r'r'r'r(rfXsrfrØz"ttk.Scrollbar is special on MacOSXc@seZdZdZdZdd„ZdS)Ú ScrollbarTest)rrŸrgr!r7rjr#cKstj|jfi|¤ŽSrZ)rZ ScrollbarrGrlr'r'r(r!„szScrollbarTest.createN©r=r>r?ror8r!r'r'r'r(rn{srncspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú NotebookTest)rrgrhr*r7rjrBcs\tƒ ¡|jdd|_t |j¡|_t |j¡|_|jj |jdd|jj |jdddS)Nr©r*rßr5r6) rDrEr!ÚnbrrrGÚchild1r-r&rIrJr'r(rEŽs  zNotebookTest.setUpcKstj|jfi|¤ŽSrZ)rZNotebookrGrlr'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ßr5rØz@20,5z@5,5r-rñz@%d, 5zTab with text 'a' not found)rrr*Úhider-rTrUrÚtabrsr"Ú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 r5rr£)rTrUrrrrtr&rrrGÚtabsrsr"rvr-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£)rTrUrrrr*r~rvrsZ assertNotInr½r"r¿r&r9)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) rTrUrrrrvr2rQr"rsr-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)rrr~rår"rsr-rTrUrrrrGr½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¤rr¦r'r(r¨r©z*NotebookTest.test_select..z<>cs ˆ d¡SrÜr¤r)Ú tab_changedr'r(r¨r©) rrrHrOrsrr"rwr½r-r¬rIr')r§rr(Ú 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)NrNZnotabr5rßrCÚabc) rTrUrrrrur2rsr3r"rIr'r'r(Útest_tab$szNotebookTest.test_tabcCsH| t|j ¡ƒd¡|j |j¡|j |j¡| |j ¡d¡dS)NrLr')r"r¿rrr~r*rsr-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ß)rCrsrØz z)rrrHrOrwr"rPr Z focus_forcerýr½r-rsruZenable_traversalrÚrÛrIr'r'r(Útest_traversal;s.             zNotebookTest.test_traversal)r=r>r?rorEr!r{rr+r€r/r‚r„r…r†rbr'r'rJr(rpˆs  ! rpcspeZdZdZ‡fdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Z‡ZS)Ú SpinboxTest)r˜rrŸrgrÃr™ršÚformatrJÚ incrementrÄr›rÅr_r7rjrœrLrÆrÇrîrBÚwraprÈcs"tƒ ¡| ¡|_|j ¡dSrZ)rDrEr!ÚspinrHrIrJr'r(rEbs  zSpinboxTest.setUpcKstj|jfi|¤ŽSrZ)rÚSpinboxrGrlr'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%rBrhrù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ûrrŽr'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‹rOrr¬r‘r"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)NrrJr-rLrr.)r‹rrOrr"rærIr'r'r(rX’s    zSpinboxTest.test_configure_tocCsbd|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡| ¡| |j ¡d¡dS)Nr£rJr[rLrLr)r‹rrOr‘r"rærIr'r'r(rQžs    zSpinboxTest.test_configure_fromcCs€d|jd<d|jd<d|jd<|j d¡|j ¡| ¡| |j ¡d¡d |jd<|j ¡| ¡| |j ¡d ¡dS) NrrJr[rLrr‰r£r.rLÚ3)r‹rrOrr"rær‘rIr'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ˆr[Ú.rr) r‹rrOrrær"r¿rvr¬)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[rLr£rJTrŠÚ10rF)r‹rrOr‘r"rærrIr'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'rrr r,r r rßrrrrrrrrrrrr)r"r‹rr4rrOrrær‘rrrrŒrGr‚)r%Zspin2r'r'r(rÚsH ÿ ÿ    þ  þ  þ ÿz!SpinboxTest.test_configure_values)r=r>r?rorEr!rr‘r’rXrQr”r–r˜rrbr'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ÚcolumnsrgÚdisplaycolumnsrhr*Ú selectmoderÅr7rjrÈZyscrollcommandcstƒ ¡|jdd|_dS)Nrrq)rDrEr!ÚtvrIrJr'r(rEs zTreeviewTest.setUpcKstj|jfi|¤ŽSrZ)rZTreeviewrGrlr'r'r(r!szTreeviewTest.createcCs:| ¡}|j|dddd| |dd¡| |dd¡dS)Nršúa b c©rßr6r 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)r6rßr r,ú#all)r¡)rLr£r)rßr6rzInvalid 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) NrhrñrôrZ3cFrGròró)r!rTr 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) rrHr"rÖrOråÚ get_childrenr¬rÕÚcolumnrrQ)r%Úitem_idZchildrenrÖZ bbox_column0Z root_widthrsr'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"rrªrår2Ú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¨r[rBr—ÚX©ÚidréZunknown_optionz some valueZstretchZwrongr—Zminwidth) r2rr«r3rrQr"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ã) rTrUrrrê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é) rrå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"rrÒ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]r5rC)r˜r£)r—)r2rÚheadingr3r"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"rZidentify_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.) rrHr¾r«rOryr†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£) rTrUrrrvr"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 2ržz%s %sz{a b c} {%s %s}z Label herer5rr+gz0.0)rTrUrrrår¼rêr"rÚitemrrGZ splitlistr2r3)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Ú TypeErrorrZ 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ßr6r)rÐrÑ)rßrßza a)r«)r6rßzb aé{Z123)rÒrßz123 aZnotme) rrår"rrÉrrTrUr)r%rÉr'r'r(reÓ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¤rrÔr'r(r¨ûr©rrñr[rLrr£rÈ) rråZtag_bindrHrOrrxr¿Z identify_rowr&r"r Úzip) r%rµr´Zpos_yÚfoundrzr¬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ÎrZ tag_configurerUrr"r½r2r3rIr'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') rrårTrÎZtag_hasrr¬r¼r")r%rµr´r'r'r(Ú test_tag_has!szTreeviewTest.test_tag_has)r=r>r?rorEr!r r¢rõr£rÎr×r®r²r¶rºr¼r½r¿rÂr€rÊrÏrerØrÙrÚrbr'r'rJr(r™s0  * $MG!! r™c@seZdZdZdZdd„ZdS)Ú SeparatorTest)rrgr!r7rjr$cKstj|jfi|¤ŽSrZ)rZ SeparatorrGrlr'r'r(r!9szSeparatorTest.createNror'r'r'r(rÛ1srÛc@seZdZdZdd„ZdS)Ú SizegripTest)rrgr7rjcKstj|jfi|¤ŽSrZ)rZSizegriprGrlr'r'r(r!DszSizegripTest.createNrnr'r'r'r(rÜ=srÜc@seZdZdd„Zdd„ZdS)ÚDefaultRootTestcCs| tj¡dSrZ)Ú _test_widgetrrkrIr'r'r(Ú test_frameJszDefaultRootTest.test_framecCs| tj¡dSrZ)rÞrrrIr'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@rcrerpr„r–ržr®rÂrìr r;rBrIrfZskipIfrÛrnrpr‡r™rÛrÜrÝZ tests_guir=Úmainr'r'r'r(Ús†  $': 0}3j" ÿ P/-    û