a 4dgB@sddlZddlmZGdddZGdddeZGdddeZGd d d ejZGd d d ejZ ee fZ e d krddl m Z e e dS)N)ttkc@seZdZddZddZdS) MockTkAppcCst|tr|S|dS)N:) isinstancetuplesplit)selfargr @/usr/local/lib/python3.9/tkinter/test/test_ttk/test_functions.py splitlists zMockTkApp.splitlistcCsdS)NTr rr r r wantobjects szMockTkApp.wantobjectsN)__name__ __module__ __qualname__r rr r r r rsrc@s eZdZdZddZddZdS) MockTclObjtestcCs ||_dSNval)rrr r r __init__szMockTclObj.__init__cCs t|jSr)strrr r r r __str__szMockTclObj.__str__Nrrrtypenamerrr r r r rsrc@s eZdZdZddZddZdS) MockStateSpecZ StateSpeccGs ||_dSrr)rargsr r r rszMockStateSpec.__init__cCs d|jSN )joinrr r r r r szMockStateSpec.__str__Nrr r r r rsrc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS)InternalFunctionsTestc sfdd}ti|tdgddddd|tdd id d i|tdd d iid d d ii|tjgddddddddddddddddddddd }|}|t|ddd!|||td"d#id$d%i|td"d&id$d'i|td"d(id$d)i|td"d*id$d+i|td"d,id$d-i|td"d.id$d/ittj|d0d1d2}|t|d3ttj|d4d1d2}|t|d3tj|t|d1dS)5NcsJtdt|dD]"}|||||dq|rFd|dS)Nrzresult still got elements: %s)rangelen assertEqualpopZfail)Zfmt_optsresultir r r check_against's z@InternalFunctionsTest.test_format_optdict..check_againstZbluer#r")ZfgZpaddingz1 2 3 4)z-fgz-paddingr)r#r"r-testz1 2 {} 0leftzas is)r#r.2mrr,r.zabc defz"abc"z{}z } -spam {)rZtest2Ztest3Ztest4Ztest5Ztest6Ztest7TZscriptz{1 -1 {} 2m 0}3z {abc def}z{"abc"}z\{\}z \}\ -spam\ \{)r/z-test2z-test3z-test4z-test5z-test6z-test7Fuαβγá)u-αβγu-áoption)zone twothree-optionz{one two} three)zone twor8z{one two} three)r.Zonez{} one)z one} {twor8zone\}\ \{two three)z"one"twoz {"one"} two)z{one}r:z \{one\} twor6)ignorer"r#)r6b) assertFalserZ_format_optdictcopyr&r%listkeys)rr*optsZ orig_optsZ amount_optsr r r test_format_optdict&s     z)InternalFunctionsTest.test_format_optdictcCsrdgdi}t|}|t|tt|d||d|tj|ddd|tdgidd d gi}t|}||d |td d gidd dgi}|t|dd dgi}|ttj|d dgddfgi}|ttj|d ddggi}|t|dddddtfD]&}d |dfgi}|t|dq.ddi}|ttj|dS)Na))r<cr)dZotherval)r.Zsingler")-az{b c} val d otherval {} singleTr3)rFz {{b c} val d otherval {} single})z-2r. üñíćódèr6uvãl)u-üñíćódèuá vãlopt)value)-optz{} value)r.r.hi)rKz{ } hi)r#r" valid valr#2rMrJ)rKz1 valuerFr.) rZ_format_mapdictr&r%r?r@ assertRaises TypeErrorset)rrAr(ZvalidinvalidZstatevalr r r test_format_mapdict~s:          z)InternalFunctionsTest.test_format_mapdictc Cs|tdd|ttjd|tdddd|tddddd|tddddd |tjdddd d d d |tjddddddgdd|ttjd|tddddd|tdddddd|tjddddd d dd|tjddddddddgfd dd|ttjd|tdddd|tddddd|tddddd dS)!N)Nr imageFr)ztest r )r.rC)z test {} ar rCr<rD)z test {a b} cr rCr<x)rC)ztest a b)rFrWT)rCr<rDrEr"r,)rW)z{test {a b c} d}z-x {2 3}ZvsapirCr<)za b r )z a b {a b} cr )rI)za b a b)rKrWr#)z{a b {a b} {1 2}}z-opt xfrom)rCr )rC)r<)z{a}r<) assertTruerZ_format_elemcreaterO IndexErrorr& ValueErrorr r r r test_format_elemcreateslz,InternalFunctionsTest.test_format_elemcreatecCsddd}ddd}|tgdd|ttjdgtjd gdd }||tjd gdd ||dd |||td D]0}||||||||||||q|ttjddg|ttjdg|ttjddd diifgdS)Nrr"c SsDtjdgdddddddifgd d fgifgd fg||d d S)NrC)r#r"r,r<childrenrDrEnicerI)r#r")r] something)otherr]indent indent_sizer)r_format_layoutlistrar r r samplesz.samplecsHdfdd }d||||d||d||d||||fS)Nrcs d|Srr )amountrbr r zWInternalFunctionsTest.test_format_layoutlist..sample_expected..zi%sa -other {1 2 3} -children { %sb -children { %sc -something {1 2} -children { %sd -nice opt %s} %s} %s}r"r,)rr )rbrcspacesr rgr sample_expecteds zEInternalFunctionsTest.test_format_layoutlist..sample_expectedr.rV)rCNrg)rCr.rCr-badformat)namerlrnr])rr")rr")r&rrdrOAttributeErrorr$r[)rrerkZsmallestr)r r r test_format_layoutlists0     z,InternalFunctionsTest.test_format_layoutlistc Cs0|tdddddi|tdddiidddd}|tdd|iid d gi}|tdd |ii|ttjdd d gii|tdd d dgiidd gdii}|t|d|dd ddi|t|dtdtdg|dd dd<|t|ddS)Nrn) configuremapelement createZlayoutzttk::style layout name { null }TFr5rqrGrHrrrsrTthing)rTrn)Zstate1Zstate2rzAttk::style element create thing image {name {state1 state2} val} rIzHttk::style element create thing image {name {state1 state2} val} -opt 30r,r2r1zLttk::style element create thing image {name {state1 state2} val} -opt {3 2m}) r=rZ_script_from_settingsr&rYrOrZappendr)rZ configdictZmapdictrTr r r test_script_from_settingssJ         z/InternalFunctionsTest.test_script_from_settingscCsF|ttdddfdg|ttddtdggddS) NrCr<r)rCr<r1r"3m)r#r"ry)r&rZ _tclobj_to_pyrrr r r r test_tclobj_to_pyEsz'InternalFunctionsTest.test_tclobj_to_pycsfdd}tddtdD}t|}||dd|||tdd|tddtdD}t|}||dd||d tddd dS) Ncs"t||f||fgdSr)r&rZ_list_from_statespec)ZsspecrJZ res_valueZstatesr r r test_itOs  z?InternalFunctionsTest.test_list_from_statespec..test_itcss|]}d|VqdSzstate%dNr .0r)r r r SrizAInternalFunctionsTest.test_list_from_statespec..rcss|]}d|VqdSr|r r}r r r rXrirU)rr$rr)rr{Z states_evenZ statespecZ states_oddr r r test_list_from_statespecNs z.InternalFunctionsTest.test_list_from_statespecc Cst}|t|d|t|ddifgd}|t||dddifg|t|ddd gifgd }|t||dd d d difgdfgdfg|ttj|d|ttj|d|ttj|ddS)Nr )rnrn)rnr9rJr7rJ)r_ -childrenr r_r])rnr9niceoner)otheroner)childz -otheropt othervaluerrrr)Zotheroptr])r7r])rnno_minus)rnrrJ)r_r)rr=rZ_list_from_layouttupler&rOr[)rtkZ sample_ltupleZltupler r r test_list_from_layouttuple_s>      z0InternalFunctionsTest.test_list_from_layouttuplecCsd dd}t}||_|t|idddi|t|idddi|t|ddidd |t|ddidddidS) NcSs |dur |S|durdS||fS)Ntest valr )resrIrr r r funcs z4InternalFunctionsTest.test_val_or_dict..funcz-test:3rr4)r/r,r,zx:yr)NN)rcallr&rZ _val_or_dict)rrrr r r test_val_or_dicts z&InternalFunctionsTest.test_val_or_dictcCs8ddddgdfdf}|D]\}}|t||qdS)N)rr)Z09 )rCrC)áÚrz[])NNone)r&rZ_convert_stringval)rZtestsZorigZexpectedr r r test_convert_stringvals  z,InternalFunctionsTest.test_convert_stringvalN) rrrrBrSr\rprwrzrrrrr r r r r!$sX(;9+ .r!c@s$eZdZddZddZddZdS)TclObjsToPyTestcCsHddi}|t|ddit|d|d<|t|ddidS)NrIuvälúè)r&r tclobjs_to_pyrrZadictr r r test_unicodeszTclObjsToPyTest.test_unicodecCsdgdi}|t|dgdigd|d<|t|dgditdddf|d<|t|ddgi|tdd gidd gidS) NrIr+)r#Zxmr,rCr<válũè)rCr<rrWzy z)r&rrrrr r r test_multivaluess   z TclObjsToPyTest.test_multivaluescCs|tddiddidS)Ntextz some text)r&rrr r r r test_nosplitszTclObjsToPyTest.test_nosplitN)rrrrrrr r r r rsr__main__) run_unittest)ZunittesttkinterrrobjectrrZTestCaser!rZ tests_noguirZ test.supportrr r r r s