a zeB@sddlmZedddlZddlmZGdddZGdddeZGd d d eZ Gd d d ej Z Gd ddej Z e dkredS))supportZ_tkinterN)ttkc@seZdZddZddZdS) MockTkAppcCst|tr|S|dS)N:) isinstancetuplesplit)selfargr J/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_ttk_textonly.py splitlist s zMockTkApp.splitlistcCsdS)NTr r r r r wantobjectsszMockTkApp.wantobjectsN)__name__ __module__ __qualname__r rr r r r r src@s eZdZdZddZddZdS) MockTclObjtestcCs ||_dSNval)r rr r r __init__szMockTclObj.__init__cCs t|jSr)strrrr r r __str__szMockTclObj.__str__Nrrrtypenamerrr r r r rsrc@s eZdZdZddZddZdS) MockStateSpecZ StateSpeccGs ||_dSrr)r argsr r r r"szMockStateSpec.__init__cCs d|jSN )joinrrr 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_optsresultirr 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\ \{)r0z-test2z-test3z-test4z-test5z-test6z-test7Fuαβγá)u-αβγu-áoption)zone twothree-optionz{one two} three)zone twor9z{one two} three)r/Zonez{} one)z one} {twor9zone\}\ \{two three)z"one"twoz {"one"} two)z{one}r;z \{one\} twor7)ignorer#r$)r7b) assertFalserZ_format_optdictcopyr'r&listkeys)r r+optsZ orig_optsZ amount_optsr rr 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 {} singleTr4)rGz {{b c} val d otherval {} single})z-2r/ üñíćódèr7uvãl)u-üñíćódèuá vãlopt)value)-optz{} value)r/r/hi)rLz{ } hi)r$r# valid valr$2rNrK)rLz1 valuerFr/) rZ_format_mapdictr'r&r@rA assertRaises TypeErrorset)r rBr)ZvalidinvalidZstatevalr r r test_format_mapdicts:          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/rD)z test {} ar rDr=rE)z test {a b} cr rDr=x)rD)ztest a b)rGrXT)rDr=rErFr#r-)rX)z{test {a b c} d}z-x {2 3}ZvsapirDr=)za b r )z a b {a b} cr )rJ)za b a b)rLrXr$)z{a b {a b} {1 2}}z-opt xfrom)rDr )rD)r=)z{a}r=) assertTruerZ_format_elemcreaterP IndexErrorr' ValueErrorrr 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)NrD)r$r#r-r=childrenrErFnicerJ)r$r#)r^ something)otherr^indent indent_sizer)r_format_layoutlistrbr r r samplesz.samplecsHdfdd }d||||d||d||d||||fS)Nrcs d|Srr )amountrcr 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 )rcrdspacesr rhr sample_expecteds zEInternalFunctionsTest.test_format_layoutlist..sample_expectedr/rW)rDNrh)rDr/rDr.badformat)namermror^)rr#)rr#)r'rrerPAttributeErrorr%r\)r rfrlZsmallestr*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)Nro) configuremapelement createZlayoutzttk::style layout name { null }TFr6rrrHrIrsrtrUthing)rUro)Zstate1Zstate2rzAttk::style element create thing image {name {state1 state2} val} rJzHttk::style element create thing image {name {state1 state2} val} -opt 30r-r3r2zLttk::style element create thing image {name {state1 state2} val} -opt {3 2m}) r>rZ_script_from_settingsr'rZrPr[appendr)r Z configdictZmapdictrUr r r test_script_from_settingssJ         z/InternalFunctionsTest.test_script_from_settingscCsF|ttdddfdg|ttddtdggddS) NrDr=r)rDr=r1r#3m)r$r#rz)r'rZ _tclobj_to_pyrrrr r r test_tclobj_to_pyJsz'InternalFunctionsTest.test_tclobj_to_pycsfdd}tddtdD}t|}||dd|||tdd|tddtdD}t|}||dd||d tddd dS) Ncs"t||f||fgdSr)r'rZ_list_from_statespec)ZsspecrKZ res_valueZstatesrr r test_itTs  z?InternalFunctionsTest.test_list_from_statespec..test_itcss|]}d|VqdSzstate%dNr .0r*r r r XrjzAInternalFunctionsTest.test_list_from_statespec..rcss|]}d|VqdSr}r r~r r r r]rjrV)rr%rr)r r|Z states_evenZ statespecZ states_oddr rr test_list_from_statespecSs 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 )roro)ror:rKr8rK)r` -childrenr r`r^)ror:niceoner)otheroner)childz -otheropt othervaluerrrr)Zotheroptr^)r8r^)rono_minus)rorrK)r`r)rr>rZ_list_from_layouttupler'rPr\)r tkZ sample_ltupleZltupler r r test_list_from_layouttupleds>      z0InternalFunctionsTest.test_list_from_layouttuplecCsd dd}t}||_|t|idddi|t|idddi|t|ddidd |t|ddidddidS) NcSs |dur |S|durdS||fS)Ntest valr )resrJrr r r funcs z4InternalFunctionsTest.test_val_or_dict..funcz-test:3rr5)r0r-r-zx:yr)NN)rcallr'rZ _val_or_dict)r rrr r r test_val_or_dicts z&InternalFunctionsTest.test_val_or_dictcCs8ddddgdfdf}|D]\}}|t||qdS)N)rr)Z09 )rDrD)áÚrz[])NNone)r'rZ_convert_stringval)r ZtestsZorigZexpectedr r r test_convert_stringvals  z,InternalFunctionsTest.test_convert_stringvalN) rrrrCrTr]rqrxr{rrrrr r r r r")sX(;9+ .r"c@s$eZdZddZddZddZdS)TclObjsToPyTestcCsHddi}|t|ddit|d|d<|t|ddidS)NrJuvälúè)r'r tclobjs_to_pyrr Zadictr r r test_unicodeszTclObjsToPyTest.test_unicodecCsdgdi}|t|dgdigd|d<|t|dgditdddf|d<|t|ddgi|tdd gidd gidS) NrJr,)r$Zxmr-rDr=válũè)rDr=rrXzy z)r'rrrrr r r test_multivaluess   z TclObjsToPyTest.test_multivaluescCs|tddiddidS)Ntextz some text)r'rrrr r r test_nosplitszTclObjsToPyTest.test_nosplitN)rrrrrrr r r r rsr__main__)rr import_moduleZunittesttkinterrrobjectrrZTestCaser"rrmainr r r r s