a  ze%@sddlmZddlmZddlZddlmZddlmZmZddl m Z ddl m Z ej ZGdd d ejZGd d d ejZGd d d ejZGdddejZGdddejZedkrejdddS)) config_key)requiresN)mock)TkTclError)Func) Mbox_funcc@seZdZGdddeZeddZeddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZddZdS)ValidationTestc@s eZdZddZeZeZdS)zValidationTest.ValidatorcOs2tjj|g|Ri|Gddd}||_dS)Nc@seZdZeZdS)z:ValidationTest.Validator.__init__..list_keys_finalN)__name__ __module__ __qualname__rgetrrU/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_config_key.pylist_keys_finalsr)r GetKeysDialog__init__rselfargskwargsrrrrrsz!ValidationTest.Validator.__init__N)r r r rr get_modifiersr showerrorrrrr ValidatorsrcCsDtdt|_|jdgddgg}|j|jdd|dd|_dS) Ngui Title<>TZ_utest)rrrootwithdrawrdialog)clsZkeylistrrr setUpClasss  zValidationTest.setUpClasscCs*|j|j|j|`|`dSNr#cancelr!Zupdate_idletasksZdestroyr$rrr tearDownClass(s   zValidationTest.tearDownClasscCsd|jj_dS)N)r#rmessagerrrrsetUp/szValidationTest.setUpcCs>|jjd|j||jjd||jjjddS)N r+zNo key specified.)r# key_stringsetok assertEqualresultrr,r-rrr test_ok_empty4s zValidationTest.test_ok_emptycCsJ|jjdd|jjj_|j||jjd||jjj ddS)N F11r+) r#r0r1rr r4r2r3rr,r-rrr test_ok_good:s   zValidationTest.test_ok_goodcCs(||jd|d|jjjdS)Nzz No modifier) r#rr r4r9r:r;rr,r-rrrtest_keys_no_modifier_badEs z(ValidationTest.test_keys_no_modifier_badcCs4d|jjj_||jd||jjjddS)Nr7r6r+) r#rr r4 assertTruer:r3rr,r-rrrtest_keys_no_modifier_okJs z'ValidationTest.test_keys_no_modifier_okcCsJd|jjj_dg|jj_||jd|d|jjj g|jj_dS)NaShiftzzshift modifier) r#rr r4rr9r:r;rr,r-rrrtest_keys_shift_badOs   z"ValidationTest.test_keys_shift_badc CsgddfdgddfdgddffD]t\}}}|j|||dJ||jjj_||jj_||j||d |jj j Wdq 1s0Yq g|jj_dS) NZF12rControlxrXr)mfszalready in use) ZsubTestr#rr r4rr9r:r;rr,)rZmodsfinalseqrrr test_keys_dupVs    2zValidationTest.test_keys_dupcCs(||jd||jjjddS)Nzr+)r?r#bind_okr3rr,r-rrr test_bind_okaszValidationTest.test_bind_okcCs(||jd|d|jjjdS)Nzz not accepted)r9r#rMr;rr,r-rrrtest_bind_not_okeszValidationTest.test_bind_not_okN)r r r gkdr classmethodr%r*r.r5r8r<r>r@rCrLrNrOrrrrr s    r c@s,eZdZeddZeddZddZdS)ToggleLevelTestcCs4tdt|_|jt|jddgdd|_dSNrrrTr rrr!r"rPr#r)rrrr%ms zToggleLevelTest.setUpClasscCs*|j|j|j|`|`dSr&r'r)rrrr*ts   zToggleLevelTest.tearDownClasscs|jfdd}|j|djd|\}}||||j|djd|\}}|||j|j|djd|\}}|||dS)Ncs<tjD]$\}}|jdkr$|}|jdkr|}q||fS)NZ keyseq_basicZkeyseq_advanced) enumerateframeZwinfo_children_name)indexchildbasicadvancedr#rr stackorder~s   z5ToggleLevelTest.test_toggle_level..stackorderZAdvancedtextBasic) r#r9r[r;Z button_levelZ assertGreaterZ toggle_levelr?invoke)rr]rZr[rr\rtest_toggle_level{s           z!ToggleLevelTest.test_toggle_levelN)r r r rQr%r*rarrrrrRjs   rRc@speZdZGdddeZeddZeddZddZd d Z e j ed d d Z e j ed ddZdS)KeySelectionTestcs*eZdZfddZddZeZZS)zKeySelectionTest.Basiccs*tj|i|Gddd}||_dS)Nc@seZdZeZeZeZdS)z8KeySelectionTest.Basic.__init__..list_keys_finalN)r r r rr Z select_clearZyviewrrrrrsr)superrrr __class__rrrszKeySelectionTest.Basic.__init__cCsgd|_ddi|_dS)N)fooZbarBAZrgZZZZ) modifiersZmodifier_labelr-rrrset_modifiers_for_platforms z1KeySelectionTest.Basic.set_modifiers_for_platform)r r r rrirr __classcell__rrrdrr_s r_cCs6tdt|_|j|j|jddgdd|_dSrS)rrr!r"r_r#r)rrrr%s zKeySelectionTest.setUpClasscCs*|j|j|j|`|`dSr&r'r)rrrr*s   zKeySelectionTest.tearDownClasscCs|jdSr&)r#Z clear_key_seqr-rrrr.szKeySelectionTest.setUpcCsl|j}|j}|j}|jd||dg|jd||ddg|jd||dgdS)Nrfrg)r#rr3Zmodifier_checkbuttonsr`)rr#Zgmeqrrrtest_get_modifierssz#KeySelectionTest.test_get_modifiersrcCs|j}|j}|jj}|j}d|j_g|_|||ddg|_|||dd|j_ddg|_|||ddS)NrAzZmymodz r+testz )r#rr0r r3r4 return_valueZbuild_key_stringrZmock_modifiersr#keystringrkrrrtest_build_key_strings   z&KeySelectionTest.test_build_key_stringcCsB|j}|j}|jj}|j}dg|_d|j_|||ddS)NrB{z)r#rr0r r3rnr4Zfinal_key_selectedrorrrtest_final_key_selectedsz(KeySelectionTest.test_final_key_selectedN)r r r rPr_rQr%r*r.rlrZpatchobjectrrrtrrrrrbs      rbc@s,eZdZeddZeddZddZdS) CancelTestcCs4tdt|_|jt|jddgdd|_dSrSrTr)rrrr%s zCancelTest.setUpClasscCs*|j|j|j|`|`dSr&r'r)rrrr*s   zCancelTest.tearDownClasscCsf||jd|jj|t|jWdn1sH0Y||jjddS)NZToplevelr+)r3r#Z winfo_classZ button_cancelr`Z assertRaisesrr4r-rrr test_cancels   (zCancelTest.test_cancelN)r r r rQr%r*rwrrrrrvs   rvc@seZdZddZdS) HelperTestcCstj}|j}||dgd||dddgd||ddgd||dddgd||dgdd||dgd ||d dgd dS) NqzKey-qrDAltrBzKey-Q)rDrzrBzPage Upz Key-Prior*z Key-asterisk)rZ translate_keyr3)rtrrkrrrtest_translate_keyszHelperTest.test_translate_keyN)r r r r}rrrrrx srx__main__) verbosity)ZidlelibrZ test.supportrZunittestrtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrrrPZTestCaser rRrbrvrxr mainrrrrs     W7R