B \k S>@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.ValidatorcOs,tjj|f||Gddd}||_dS)Nc@seZdZeZdS)z:ValidationTest.Validator.__init__..list_keys_finalN)__name__ __module__ __qualname__rgetrrF/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_config_key.pylist_keys_finalsr)r GetKeysDialog__init__r)selfargskwargsrrrrrsz!ValidationTest.Validator.__init__N)r r r rr get_modifiersr showerrorrrrr ValidatorsrcCsDtdt|_|jdgddgg}|j|jdd|dd|_dS) Nguiz zzTitlez<>T)_utest)rrrootwithdrawrdialog)clsZkeylistrrr setUpClasss  zValidationTest.setUpClasscCs*|j|j|j|`|`dS)N)rcancelrupdate_idletasksdestroy)rrrr tearDownClass(s   zValidationTest.tearDownClasscCsd|jj_dS)N)rrmessage)rrrrsetUp/szValidationTest.setUpcCs>|jjd|j||jjd||jjjddS)N r%zNo key specified.)r key_stringsetok assertEqualresultrr&)rrrr test_ok_empty4s zValidationTest.test_ok_emptycCsJ|jjdd|jjj_|j||jjd||jjj ddS)Nz F11r%) rr)r*rr r-r+r,rr&)rrrr test_ok_good:s   zValidationTest.test_ok_goodcCs(||jd|d|jjjdS)Nzz No modifier) rrr r-r1r2r3rr&)rrrrtest_keys_no_modifier_badEs z(ValidationTest.test_keys_no_modifier_badcCs4d|jjj_||jd||jjjddS)Nr/z r%) rrr r- assertTruer2r,rr&)rrrrtest_keys_no_modifier_okJs z'ValidationTest.test_keys_no_modifier_okcCsJd|jjj_dg|jj_||jd|d|jjj g|jj_dS)NaShiftzzshift modifier) rrr r-rr1r2r3rr&)rrrrtest_keys_shift_badOs   z"ValidationTest.test_keys_shift_badc CsxgddfdgddfdgddffD]`\}}}|j|||d@||jjj_||jj_||j||d |jj j WdQRXq"Wg|jj_dS) NZF12z ControlxzXz)mfszalready in use) ZsubTestrrr r-rr1r2r3rr&)rZmodsfinalseqrrr test_keys_dupVs     zValidationTest.test_keys_dupcCs(||jd||jjjddS)Nzr%)r7rbind_okr,rr&)rrrr test_bind_okaszValidationTest.test_bind_okcCs(||jd|d|jjjdS)Nzz not accepted)r1rrEr3rr&)rrrrtest_bind_not_okeszValidationTest.test_bind_not_okN)r r r gkdr classmethodr r$r'r.r0r4r6r8r;rDrFrGrrrrr s  r c@s,eZdZeddZeddZddZdS)ToggleLevelTestcCs4tdt|_|jt|jddgdd|_dS)Nrrz<>T)r)rrrrrHr)rrrrr ms zToggleLevelTest.setUpClasscCs*|j|j|j|`|`dS)N)rr!rr"r#)rrrrr$ts   zToggleLevelTest.tearDownClasscs|jfdd}|j|djd|\}}||||j|djd|\}}|||j|j|djd|\}}|||dS)Ncs@x6tjD]$\}}|jdkr&|}|jdkr|}qW||fS)NZ keyseq_basicZkeyseq_advanced) enumerateframeZwinfo_children_name)indexZchildbasicadvanced)rrr stackorder~s   z5ToggleLevelTest.test_toggle_level..stackorderZAdvancedtextBasic) rr1rPr3Z button_levelZ assertGreaterZ toggle_levelr7invoke)rrQrOrPr)rrtest_toggle_level{s           z!ToggleLevelTest.test_toggle_levelN)r r r rIr r$rUrrrrrJjs  rJc@speZdZGdddeZeddZeddZddZd d Z e j ed d d Z e j ed ddZdS)KeySelectionTestcs*eZdZfddZddZeZZS)zKeySelectionTest.Basiccs&tj||Gddd}||_dS)Nc@seZdZeZeZeZdS)z8KeySelectionTest.Basic.__init__..list_keys_finalN)r r r rr Z select_clearZyviewrrrrrsr)superrr)rrrr) __class__rrrszKeySelectionTest.Basic.__init__cCsdddg|_ddi|_dS)NfooZbarBAZZZZZ) modifiersZmodifier_label)rrrrset_modifiers_for_platforms z1KeySelectionTest.Basic.set_modifiers_for_platform)r r r rr\rr __classcell__rr)rXrrSs rScCs6tdt|_|j|j|jddgdd|_dS)Nrrz<>T)r)rrrrrSr)rrrrr s zKeySelectionTest.setUpClasscCs*|j|j|j|`|`dS)N)rr!rr"r#)rrrrr$s   zKeySelectionTest.tearDownClasscCs|jdS)N)rZ clear_key_seq)rrrrr'szKeySelectionTest.setUpcCsl|j}|j}|j}|jd||dg|jd||ddg|jd||dgdS)NrYrZ)rrr,Zmodifier_checkbuttonsrT)rrZgmeqrrrtest_get_modifierssz#KeySelectionTest.test_get_modifiersrcCs|j}|j}|jj}|j}d|j_g|_|||ddg|_|||dd|j_ddg|_|||ddS)Nr9zZmymodz r%Ztestz )rrr)r r,r- return_valueZbuild_key_string)rmock_modifiersrkeystringr^rrrtest_build_key_strings   z&KeySelectionTest.test_build_key_stringcCsB|j}|j}|jj}|j}dg|_d|j_|||ddS)Nr:{z)rrr)r r,r`r-Zfinal_key_selected)rrarrbrcr^rrrtest_final_key_selectedsz(KeySelectionTest.test_final_key_selectedN)r r r rHrSrIr r$r'r_rZpatchobjectrdrfrrrrrVs  rVc@s,eZdZeddZeddZddZdS) CancelTestcCs4tdt|_|jt|jddgdd|_dS)Nrrz<>T)r)rrrrrHr)rrrrr s zCancelTest.setUpClasscCs*|j|j|j|`|`dS)N)rr!rr"r#)rrrrr$s   zCancelTest.tearDownClassc CsR||jd|jj|t|jWdQRX||jjddS)NZToplevelr%)r,rZ winfo_classZ button_cancelrTZ assertRaisesrr-)rrrr test_cancels   zCancelTest.test_cancelN)r r r rIr r$rirrrrrhs  rhc@seZdZddZdS) HelperTestcCstj}|j}||dgd||dddgd||ddgd||dddgd||ddddgd||dgd||d dgd dS) NqzKey-qr<ZAltr:zKey-QzPage Upz Key-Prior*z Key-asterisk)rZ translate_keyr,)rtrr^rrrtest_translate_keyszHelperTest.test_translate_keyN)r r r rnrrrrrj srj__main__) verbosity)ZidlelibrZ test.supportrZunittestrZtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrrrHZTestCaser rJrVrhrjr mainrrrrs     W7R