+
     BiO              
       v   R t ^ RIHt ^ RIHt ]! R4       ^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHtHtHtHt ^ RIHt ^ R	IHtHtHt ]P*                  tR
]P.                  ! R4      R]P.                  ! R4      R]P.                  ! R4      R]P.                  ! R4      /tRsRs]R
,          t]R,          t]R,          t]R,          tR tR t  ! R R]PB                  4      t" ! R R]PB                  4      t# ! R R]PB                  4      t$ ! R R]PB                  4      t% ! R R]PB                  4      t& ! R R]PB                  4      t' ! R R]PB                  4      t( ! R R ]PB                  4      t) ! R! R"]PB                  4      t* ! R# R$]PB                  4      t+],R%8X  d   ]PZ                  ! ^R&7       R# R# )'zfTest configdialog, coverage 94%.

Half the class creates dialog, half works with user customizations.
)configdialog)requiresguiN)mock)Func)Tk	StringVarIntVar
BooleanVarDISABLEDNORMAL)config)idleConfchangestracersmain 	highlightkeys
extensionsc                  r    \         \        n        \        4       s\
        P                  ! \        R RR7      sR# )TestT)_utestN)testcfgr   userCfgr   rootr   ConfigDialogdialog     :/usr/lib/python3.14/idlelib/idle_test/test_configdialog.pysetUpModuler!   "   s%    H4D&&tVDAFr   c                      \         \        n        \        P                  ! 4        \        P
                  ! 4        \        P
                  ! 4        \        P                  4        \        P                  4        R ;ss
R # N)usercfgr   r   r   detachclearr   r   update_idletasksdestroyr   r   r   r    tearDownModuler)   *   sE    HNNMMOMMOLLND6r   c                   ,   a  ] tR t^5t o R tR tRtV tR# )ConfigDialogTestc                    R # r#   r   selfs   &r    test_deactivate_current_config/ConfigDialogTest.test_deactivate_current_config7       r   c                    R # r#   r   r-   s   &r    activate_config_changes(ConfigDialogTest.activate_config_changes:   r1   r   r   N)__name__
__module____qualname____firstlineno__r/   r3   __static_attributes____classdictcell____classdict__s   @r    r+   r+   5   s      r   r+   c                   8   a  ] tR t^>t o R tR tR tR tRtV t	R# )
ButtonTestc                   \         p\        P                  ! 4       ;q!n        \        P                  ! 4       ;q1n        VP
                  R ,          P                  4        VP                  4        VP                  4        V=V=R# )OkN)r   r   Mockapplyr(   buttonsinvokeassert_called_once)r.   drB   r(   s   &   r    test_click_okButtonTest.test_click_ok@   s\    ))+%"iik))			$   """$Iqwr   c                   \         p\        P                  ! 4       ;q!n        \        P                  ! 4       ;q1P                  n        \        P                  ! 4       ;qAn        VP                  R ,          P                  4        VP                  4        VP                  4        VP                  4        VP                  =V=V=R# )ApplyN)
r   r   rA   deactivate_current_configextpagesave_all_changed_extensionsr3   rC   rD   rE   )r.   rF   
deactivatesave_extactivates   &    r    test_click_applyButtonTest.test_click_applyI   s    3799;>
0;?99;F998/3yy{:,			'!!#%%'##%##%II1%q'Br   c                   \         p\        4       Vn        ^\        R,          R&   VP                  R,          P                  4        V P                  \        R,          / 4       V P                  VP                  P                  ^4       V=R# )   r   	somethingCancelN)r   r   r(   r   rC   rD   assertEqualcalledr.   rF   s   & r    test_click_cancelButtonTest.test_click_cancelU   sf    F	'($			(""$"-))1-Ir   c                   \         P                  P                  \         P                  4       \        P
                  P                  \        R \        R7      ;_uu_ 4       p\         P                  R,          P                  4        VP                  R,          VP                  R,          r2RRR4       V P                  XR4       V P                  XR4       V P                  VR4       R#   + '       g   i     LH; i)		view_text)new_callableHelptitlecontentsNzHelp for IDLE preferenceszWhen you clickza different name.
)r   noteselectkeyspager   patchobjectr   r   rC   rD   kwdsrW   assertStartsWithassertEndsWith)r.   viewr`   ra   s   &   r    test_click_helpButtonTest.test_click_help^   s    6??+ZZ|[,0  2 259NN6"))+"ii0$))J2G82 	 ;<h(89H%:;2 2s    AC++C;	r   N)
r5   r6   r7   r8   rG   rQ   rZ   rk   r9   r:   r;   s   @r    r>   r>   >   s     
C< <r   r>   c                   t   a  ] tR t^it o Rt]R 4       t]R 4       tR tR t	R t
R tR tR	 tR
 tR tRtV tR# )FontPageTestzTest that font widgets enable users to make font changes.

Test that widget actions set vars, that var changes add three
options to changes and call set_samples, and that set_samples
changes the font of both sample boxes.
c                    \         P                  ;qn        \         P                  P	                  V4       \        4       Vn        VP                  4        R # r#   )r   fontpagepagerb   rc   r   set_samplesupdateclsrq   s   & r    
setUpClassFontPageTest.setUpClassp   s5     //)x4 6r   c                    V P                   =R # r#   )rq   rr   ru   s   &r    tearDownClassFontPageTest.tearDownClassw   s    HH r   c                0    \         P                  ! 4        R # r#   r   r&   r-   s   &r    setUpFontPageTest.setUp{       r   c                   \         P                  ! 4        V P                  pVP                  P	                  R 4       VP
                  P	                  R4       VP                  P	                  R4       ^ VP                  n        VP                  4        V P                  VP                  P                  4       R 4       V P                  VP
                  P                  4       R4       V P                  VP                  P                  4       4       V P                  VP                  P                  ^4       \         P                  ! 4        R# )Fake1TN)r   r%   rq   	font_nameset	font_size	font_boldrr   rX   load_font_cfgassertNotEqualgetassertFalserW   attachrY   s   & r    test_load_font_cfgFontPageTest.test_load_font_cfg~   s     	II			 	AKKOO-v6AKKOO-s3*+--q1r   c                ^   V P                   pVP                  P                  4       ^8  d   V P                  R4       VP                  pVP	                  ^ 4       VP                  P                  R4      pVP                  4        VP                  4        VP                  R4       VP                  R4       VP                  R4      pV P                  WC4       V P                  VP                  P                  4       VP                  4       4       VP                  4        VP                  4        VP                  R4       VP                  R4       VP                  R4      pV P                  WS4       V P                  VP                  P                  4       VP                  4       4       R# )   need at least 2 fontsactivez
<Key-Down>z<KeyRelease-Down>z<Key-Up>z<KeyRelease-Up>N)rq   fontlistsizeskipTestrP   r   focus_forcers   event_generater   assertInr   lowerrW   )r.   rF   r   font	down_fontup_fonts   &     r    test_fontlist_keyFontPageTest.test_fontlist_key   s5   II::??q MM12::!zz~~h' 	- 34LL*	I,akkoo'):; 	
+ 12,,x('akkoo'9r   c                   V P                   pVP                  P                  4       ^8  d   V P                  R4       VP                  pVP	                  ^ 4       VP                  4        VP                  ^4       VP                  4        VP                  ^4      w  r4rVW5^,          ,          pWF^,          ,          pVP                  RW4R7       VP                  RW4R7       VP                  ^4      pVP                  R4      pV P                  W4       V P                  VP                  P                  4       VP                  4       4       R# )r   r   
<Button-1>xy<ButtonRelease-1>anchorN)rq   r   r   r   rP   r   seers   bboxr   r   rW   r   r   r   )	r.   rF   r   r   r   dxdyfont1select_fonts	   &        r    test_fontlist_mouse FontPageTest.test_fontlist_mouse   s    II::??q MM12::! 	Q}}Q'b	1W	1W7 3q>Qll8,,akkoo'7r   c                    V P                   pVP                  P                  P                  ^(4       V P	                  VP
                  P                  4       R4       R# )(   40N)rq   sizelistvariabler   rW   r   r   rY   s   & r    test_sizelistFontPageTest.test_sizelist   s>    II	

#*D1r   c                `   V P                   pVP                  P                  R 4       VP                  P	                  4        V P                  VP                  P                  4       4       VP                  P	                  4        V P                  VP                  P                  4       4       R# )FN)rq   r   r   bold_togglerD   
assertTruer   r   rY   s   & r    test_bold_toggleFontPageTest.test_bold_toggle   sk    II		)*	*+r   c           	        \         P                  ! \        R R4      p\        V^,          4      pV^,          R8H  pV P                  pVP
                  P                  V4       VP                  P                  V4       ^ VP                  n	        VP                  P                  R4       RRRRVR\        V4      //pV P                  \        V4       V P                  VP                  P                  ^4       \        P                  ! 4        VP
                  P                  R4       RRRRRR\        V4      //pV P                  \        V4       V P                  VP                  P                  ^4       \        P                  ! 4        VP                  P                  V'       * 4       RRRRRR\        V'       * 4      //pV P                  \        V4       V P                  VP                  P                  ^4       R# )	r   EditorWindowboldz	Test Fontr   z	font-sizez	font-bold20N)r   GetFontr   strrq   r   r   r   rr   rX   r   rW   mainpager   r&   )r.   default_fontdefault_sizedefault_boldrF   expecteds   &     r    test_font_setFontPageTest.test_font_set   s   
  ''fnE<?+#A&0II	%	% 	$"V[%0,%0#l2C%E F 	8,--q1	"V[%0$%0#l2C%E F 	8,--q1	L()"V[%0$%0#,6F2G%I J 	8,--q1r   c                   V P                   pV=VP                  VP                  3p/ / uVn        Vn        VP                  P                  R 4       VP                  P                  R4       VP                  P                  ^4       RR/pVP                  4        T P                  VP                  VP                  u;8H  ;'       d    V8H  Mu 4       Vw  Vn        Vn        \        4       Vn        R# )test5r   N)r   r   r   )
rq   rr   font_samplehighlight_sampler   r   r   r   r   r   )r.   rF   orig_samplesr   s   &   r    test_set_samplesFontPageTest.test_set_samples   s    IIM}}a&8&88,.)q)			12 	
););GGxGH,8)q)r   r   N)r5   r6   r7   r8   __doc__classmethodrv   rz   r~   r   r   r   r   r   r   r   r9   r:   r;   s   @r    rn   rn   i   s`        ! ! ::8.2,"2H r   rn   c                      a  ] tR tRt o Rt]R 4       t]R 4       tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )HighPageTesti  zTest that highlight tab widgets enable users to make changes.

Test that widget actions set vars, that var changes add
options to changes and that themes work correctly.
c                   \         P                  ;qn        \         P                  P	                  V4       \        4       Vn        \        4       Vn        \        4       Vn        \        4       Vn	        VP                  4        R # r#   )r   highpagerq   rb   rc   r   set_theme_typepaint_theme_sampleset_highlight_targetset_color_samplers   rt   s   & r    rv   HighPageTest.setUpClass  sS     //)x4 "f"&&$(F! $r   c                .    V P                   pV=V=V=V=R # r#   )rq   r   r   r   r   )ru   rF   s   & r    rz   HighPageTest.tearDownClass  s!    HHa2"A$6r   c                X   V P                   p\        P                  ! R R4       F)  p\        P                  R,          P	                  V4       K+  	  \
        P                  ! 4        ^ VP                  n        ^ VP                  n        ^ VP                  n        ^ VP                  n        R# )userr   N)rq   r   GetSectionListr   remove_sectionr   r&   r   rX   r   r   r   r.   rF   sections   &  r    r~   HighPageTest.setUp  s    II  ..v{CG[)88A D"#&'#()%$%!r   c                   \         P                  ! 4        V P                  pV P                  p\        P
                  ! R R7      \        n        VP                  4        V P                  VP                  P                  4       4       V! VP                  P                  4       R 4       V! VP                  P                  4       R4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP&                  P"                  ^4       \        P(                  ! RRRR4       \        P(                  ! RRRR	4       VP                  4        V! VP                  P                  4       R 4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP&                  P"                  ^4       \        P
                  ! RR7      \        n        \        P(                  ! R
RRR4       VP                  4        V P+                  VP                  P                  4       4       V! VP                  P                  4       R 4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP&                  P"                  ^4       \        =\         P,                  ! 4        R# )IDLE Classicreturn_value- no custom themes -r   test1optionvaluetest2option2value2r   Themedefault0Ndisabled)r   r%   rq   rW   r   rA   r   CurrentThemeload_theme_cfgr   theme_sourcer   builtin_namecustom_namecustom_theme_onstater   rX   r   r   	SetOptionr   r   r.   rF   eqs   &  r    test_load_theme_cfg HighPageTest.test_load_theme_cfg*  sV   II !%		~ F	**,-
1>>0
1== 67
1""$m4
1""A&
1&&*
1!!((!, 	;7C;HE	
1>>0
1==(
1""A&
1&&*
1!!((!, !%		w ?67Is;	++-.
1>>0
1==(
1""A&
1&&*
1!!((!,!r   c                   V P                   pV P                  p\        4       Vn        \        4       Vn        VP
                  P                  4        V! \        R RR//4       V! VP                  P                  ^4       V! VP                  P                  ^ 4       \        P                  ! 4        VP                  P                  R4       VP                  P                  4        V P                  \        R RR//4       V! VP                  P                  ^4       V! VP                  P                  ^4       V=V=R# )r   r   TrueFalseN	!disabled)rW   rq   r   var_changed_builtin_namevar_changed_custom_namebuiltin_theme_onrD   r   rX   r   r&   r   r   r.   r   rF   s   &  r    test_theme_sourceHighPageTest.test_theme_sourceS  s    II%)V"$(F!	!!#
8g	6234
1%%,,a0
1$$++Q/ 	
/	  "Gi-A#BC
1%%,,a0
1$$++Q/&(Ar   c                V   V P                   pV P                  p. ROp\        P                  ! RRRR4       VP                  P                  VR4       V! \        RRR RR//4       V! VP                  R,          R	4       V! VP                  P                  ^4       \        P                  ! 4        \        P                  ! RRRR4       VP                  P                  VR4       V! \        RRR//4       V! VP                  R,          R	4       V! VP                  P                  ^4       \        P                  ! 4        VP                  P                  VR 4       V! \        RRR RR
//4       V! VP                  R,          R
4       V! VP                  P                  ^4       R# )r   	IDLE DarkIDLE Newr   r   namespamname2textzNew theme, see Helpr   N)r   r  r  )rW   rq   r   r   builtinlistSetMenur   theme_messager   rX   r   r&   r.   r   rF   	item_lists   &   r    test_builtin_nameHighPageTest.test_builtin_nameh  s_   II=	 	67FF;	i5
8g ' 6 7 	8
1??6"$9:
1&&* 	67FJ?	i5
8g567
1??6"$9:
1&&* 		i8
8gDEF
1??6"B'
1&&*r   c                   V P                   pVP                  P                  . R 4       V P                  R\        4       V P                  VP                  P                  ^ 4       \        P                  ! 4        VP                  P                  . ROR4       V P                  \        RRR//4       V P                  VP                  P                  ^4       R# )r   r   cr  Nabr  )
rq   
customlistr  assertNotInr   rW   r   rX   r   r&   rY   s   & r    test_custom_nameHighPageTest.test_custom_name  s    II 	
R!78(+--44a8 		_c2Gfc]#;<--44a8r   c                    V P                   p\        4       Vn        VP                  P	                  R 4       V P                  VP                  P                  ^4       V=R# )greenN)rq   r   on_new_color_setcolorr   rW   rX   rY   s   & r    
test_colorHighPageTest.test_color  sG    II!V	G++22A6r   c                    V P                   pV P                  pVP                  P                  . ROR4       V! VP                  P                  4       R4       V! VP                  P                  ^4       R# )r  r  Nr  )rW   rq   
targetlistr  highlight_targetr   r   rX   r  s   &  r     test_highlight_target_list_mouse-HighPageTest.test_highlight_target_list_mouse  sY    II	_c2
1!!#S)
1!!((!,r   c                  a V P                   pV P                  pVP                  oSP                  4        V3R  lpVP                  P                  4        UUu/ uF  w  rEWTbK	  	  ppp^ pSP                  4        Fp  p V! SP                  VR4      ^ ,          4       V! VP                  P                  4       We,          4       V^,          pV! VP                  P                  V4       Kr  	  R# u uppi   \         d     K  i ; i)c                H  < SP                  V 4       SP                  4        SP                  V 4      w  rr4W^,          ,          pW$^,          ,          pSP                  R^ ^ R7       SP                  RWR7       SP                  RWR7       SP                  RWR7       R# )z'Simulate click on character at *index*.<Enter>r   <Motion><ButtonPress-1>r   N)r   r'   r   r   )indexr   r   r   r   hss   &    r    
click_charAHighPageTest.test_highlight_target_text_mouse.<locals>.click_char  s    FF5M!775>LA"qLAqLAi12jA3/1:1Q<r   1.0N)rW   rq   r   r   theme_elementsitems	tag_namestag_nextranger)  r   r   rX   
IndexError)	r.   r   rF   r3  elementtagelemcountr2  s	   &       @r     test_highlight_target_text_mouse-HighPageTest.test_highlight_target_text_mouse  s    II

	= 231A1A1G1G1IJ1I1IJ <<>C2++C7:;1%%))+TY7
1))00%8 " K  s   C1?A,C77DDc                   V P                   pV P                  pVP                  pVP                  4        VP	                  R 4       VP                  4        VP                  R^ ^ R7       VP                  R^ ^ R7       \        ^4       F+  pVP                  R^ ^ R7       VP                  R^ ^ R7       K-  	  V! VP                  R4      R4       R# )	      ?r.  r   r/  r0  r   selNr   )	rW   rq   r   r   r   r'   r   range
tag_ranges)r.   r   rF   r2  _s   &    r    "test_highlight_sample_double_click/HighPageTest.test_highlight_sample_double_click  s    II

s
 	)qA.
*Q/qA/1:1Q!<  	2==$r   c                   V P                   pV P                  pVP                  pVP                  4        VP	                  R 4       VP                  4        VP                  R4      w  rErgpVP                  R4       VP                  R4       VP                  RWER7       VP                  RWER7       VP                  RWgR7       VP                  RWgR7       V! VP                  R	4      R4       R
# )rB  r5  z<Leave>r.  r/  r   r0  z<B1-Motion>r   rC  Nr   )	rW   rq   r   r   r   r'   	dlineinfor   rE  )	r.   r   rF   r2  r   r   r   r   offsets	   &        r    test_highlight_sample_b1_motion,HighPageTest.test_highlight_sample_b1_motion  s    II

s
!||E2bf 	)$
)$
*/
+q6
-24
-:
2==$r   c                   V P                   pV P                  pV=VP                  P	                  R 4       VP                  4        V! VP
                  R,          \        4       V! VP                  R,          \        4       V! VP                  P                  4       R4       VP                  P	                  R4       VP                  4        V! VP
                  R,          \        4       V! VP                  P                  4       R4       V! VP                  R,          \        4       V! VP                  P                  4       R4       \        4       Vn        R# Tr   FNr   selectedr   )rW   rq   r   r   r   r  r   r  r   button_delete_customr   r   r   r  s   &  r    test_set_theme_type HighPageTest.test_set_theme_type  s    II 	
4 	
1==!6*
1<< (+
1!!'')=9 	
5!	
1==!8,
1""$m4
1<< &)
1!!'')2.6r   c                   V P                   pV P                  p\        P                  P                  p\        4       ;p\        P                  n        \        4       ;qRn        VP                  P                  R 4       VP                  P                  R4       R
Vn
        VP                  P                  4        V! VP                  P                  4       R4       RVP                  P                  VP                   R,          R4      3Vn
        VP                  P                  4        V! VP                  P                  4       R4       RVn
        VP                  P                  R4       VP"                  P                  R4       RVn
        VP                  P                  4        V! VP$                  ^4       V! VP                  P                  4       R4       RVn
        VP                  P                  4        V! VP&                  P                  4       VP                  4       V! VP                  P                  4       R4       VP                  P                  R4       VP"                  P                  R	4       VP                  P                  4        V! VP                  P                  4       R4       V=V\        P                  n        R# )zEditor Breakpointz#ffffffNr   style
background#de0000TzMy New ThemeF)NN))g    k@        rY  rX  )rW   rq   r   colorchooseraskcolorr   get_new_theme_namer)  r   r$  resultbutton_set_colorrD   r   rV  lookupframe_color_setr   rX   r   )r.   r   rF   orig_chooserchoosergntns   &     r    test_get_colorHighPageTest.test_get_color  s   II#00997;v=,++4&*f,#	23	I &	!!#
177;;=)$ aggnnQ->->w-GVW	!!#
177;;=)$ > 	
I	4  	!!#
4;;
177;;=)$$	!!#
1==,
177;;=)$ 	
I	5!	!!#
177;;=)$ -9!!*r   c                    V P                   pR pVP                  P                  R4       VP                  P                  R4       VP                  P                  R4       VP
                  P                  V4       V P                  VP                  P                  VP                  R,          R4      V4       V P                  VP                  P                  RR4      V4       V P                  \        RRV//4       R	# )
z#3f7caePythonSelected TextTrV  rW  hilite
foregroundzhilite-foregroundN)rq   r   r   r)  fg_bg_toggler$  rW   rV  r_  r`  r   tag_cgetr   )r.   rF   r$  s   &  r    test_on_new_color_set"HighPageTest.test_on_new_color_set3  s    II	(#	/	4 	E(9(9'(BLQSXY++44X|LeT"%8%$@A	Cr   c                    \         P                  p\        R R7      ;p\         n        V P                  pRVn        V P                  VP                  R4      R4       V\         n        R# )Treturn_selfz	New Themer   N)r   SectionNamer   rq   r]  rW   r\  r.   orig_sectionnamesnrF   s   &   r    test_get_new_theme_name$HighPageTest.test_get_new_theme_name@  sS    '33(,(>>\%II	--b1;?#3 r   c                0   V P                   p\        4       ;q!n        VP                  P	                  R 4       RVn        VP                  P                  4        V P                  VP
                  \        P                  R,          4       RVn        ^ Vn        V P                  VP
                  \        P                  R,          4       VP                  P                  4        V P                  VP
                  \        P                  R,          4       V=R# )Tr   r   zmy new themeN)rq   r   r\  r   r   r]  button_save_customrD   r  r   r   rX   r   )r.   rF   rc  s   &  r    test_save_as_new_theme#HighPageTest.test_save_as_new_themeJ  s    II&*f,#	4  	##%h&6&6{&CD %h&6&6{&CD	##%dkk8#3#3K#@A r   c                `   V P                   pV P                  pVP                  P                  R 4       VP                  P                  R4       RpRpV P                  V\        P                  4       VP                  V4       V! \        P                  ! RR4      V.4       V! \        P                  ! RR4      \        P                  ! RV4      4       V! VP                  P                  4       V4       V P                  VP                  P                  4       4       V! VP                  P                  ^4       \         P"                  ! RVRR4       V P                  V\        P                  4       VP                  V4       V! \        P                  ! RR4      W4.4       V P%                  \        P                  ! RV4      \        P                  ! RV4      4       \        P&                  ! RVRR4       V! \        P                  ! RV4      \        P                  ! RV4      4       R	# )
Tr   zmy new custom themezmy second custom themer   r   r   zhit-backgroundyellowN)rW   rq   r   r   r   r  r   r   
create_newr   GetThemeDictr   r   r   r   rX   r   
add_optionr   r   r.   r   rF   	first_new
second_news   &    r    test_create_new_and_save_new)HighPageTest.test_create_new_and_save_new]  s   II 	
4 	>*)	-
 	H$4$45	Y
8""6;7)E
8  N;  3	5
1==	*++-.
1""A& 	;	3CXNX%5%56	Z 
8""6;7)9PQH11&)D$11&*E	G 	;	3CXN
8  3  4	6r   c                   V P                   pV P                  pV=VP                  P	                  R 4       V! VP
                  P                  4       R4       V! VP                  P                  4       R4       V P                  VP                  4       V! VP                  P                  ^4       VP                  P	                  R4       V! VP
                  P                  4       R4       V! VP                  P                  4       R4       V P                  VP                  4       V! VP                  P                  ^4       \        4       Vn        R# )CursorCommentN)r   rQ  r   rP  r   )rW   rq   r   r)  r   fg_onr   bg_onr   rk  r   rX   r   r  s   &  r    test_set_highlight_target&HighPageTest.test_set_highlight_target}  s    II" 	
x(
177==?45
177==?M*'
1$$a( 	
y)
177==?M*
177==?B'
1$$a(!%r   c                   V P                   pVP                  pVP                  P                  4        V P	                  VP
                  ^4       VP                  P                  4        V P	                  VP
                  ^4       R# rT   N)rq   r   r  rD   rW   rX   r  )r.   rF   scss   &  r    test_set_color_sample_binding*HighPageTest.test_set_color_sample_binding  sZ    II  	Q'	Q'r   c                z   V P                   pV=VP                  P                  R 4       VP                  P                  R4       VP                  4        V P                  VP                  P                  VP                  R,          R4      VP                  P                  RR4      4       \        4       Vn        R# )rh  TrV  rW  ri  rj  N)rq   r   r)  r   rk  rW   rV  r_  r`  r   rl  r   rY   s   & r    test_set_color_sample"HighPageTest.test_set_color_sample  s    II	/	4 	q009<H""++HlC	E "Vr   c                @   V P                   pV P                  pV=VP                  P                  p\
        P                  pVP                  P                  R 4       VP                  P                  R4       RpVP                  V4       ^ VP                  n        VP                  4        RRRR/pVP                  4        F  w  rxV P                  V! RV4      V4       K   	  V! VP                  P                  ^4       VP                  4        F%  w  rx\        P                   ! RVR	V,           V4       K'  	  VP                  4        VP                  4        F  w  rxV! V! RV4      V4       K  	  V! VP                  P                  ^4       \#        4       Vn        R
# )Tr  z	IDLE Testrj  bluerW  r}  consoler   zconsole-N)rW   rq   r   r   rl  r   GetHighlightr   r   r   r~  r   rX   r7  r   r   r  r   )	r.   r   rq   hs_tagghthemenew_consolekeyr   s	   &        r    test_paint_theme_sample$HighPageTest.test_paint_theme_sample  sc   yy#&&//"" 	d#k*'($ 	!#V#X0%++-JCy# 6> .
4  ''+ &++-JC{E:c>5I .!%++-JCvi%u- .
4  ''+"&&r   c                T   V P                   pV P                  pVP                  P                  R4       \	        4       ;q2n        \	        4       \        n        \	        4       \        n        Rp\        P                  R,          P                  VRR4       RR/\        V&   Rp\        P                  R,          P                  VRR4       RR/\        V&   VP                  P                  R4       VP                  P                  4        VP                  P!                  V4       R	Vn        VP                  P                  4        V! VP$                  ^4       V! \        V,          RR/4       V! \        P&                  ! R
R4      WE.4       V! \        P                  P$                  ^ 4       V! \        P                  P$                  ^ 4       V! VP(                  P$                  ^ 4       RVn        VP                  P                  4        V! VP$                  ^4       V P+                  V\        4       V! \        P&                  ! R
R4      V.4       V! VP                  P                  4       R4       V! VP                  P-                  4       V4       V! \        P                  P$                  ^4       V! \        P                  P$                  ^4       V! VP(                  P$                  ^4       VP                  P!                  V4       RVn        VP                  P                  4        V! VP$                  ^4       V P+                  V\        4       V! \        P&                  ! R
R4      . 4       V! VP                  P                  4       R4       V! VP                  P-                  4       R4       V! \        P                  P$                  ^4       V! \        P                  P$                  ^4       V! VP(                  P$                  ^4       \        =\        =V=R# )r  z
spam themer   r  r   r   r   zother themer  Fr   Tr   Nr  r   r   )rW   rq   rR  r   r   askyesnor   rK   r3   r   r   r   r   r   rD   r   r   r]  rX   r   r   r  r   )r.   r   rF   yesno
theme_nametheme_name2s   &     r    test_delete_customHighPageTest.test_delete_custom  s(   II	$$^4!V#
+/6()-&!
%//
FGL (&1#%//VWM!)7 3 	
/	  "	*% 	%%'
5<<
8J(F!34
8""6;7*9RS
6++22A6
6))00!4
1""A& 	%%'
5<<X.
8""6;7+G
1""$b)
1==,
6++22A6
6))00!4
1""A& 	
+&	%%'
5<<X.
8""6;7<
1""$m4
1== 67
6++22A6
6))00!4
1""A&*F,LJr   r   N)r5   r6   r7   r8   r   r   rv   rz   r~   r   r  r  r  r%  r*  r?  rG  rL  rS  rd  rm  rv  rz  r  r  r  r  r  r  r9   r:   r;   s   @r    r   r     s        7 7

&'RB*+89- D%(%,"*-:^C4!&6@(*(	$)@9 9r   r   c                      a  ] tR tRt o Rt]R 4       t]R 4       tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )KeysPageTesti  zTest that keys tab widgets enable users to make changes.

Test that widget actions set vars, that var changes add
options to changes and that key sets works correctly.
c                    \         P                  ;qn        \         P                  P	                  V4       \        4       Vn        \        4       Vn        R # r#   )r   rd   rq   rb   rc   r   set_keys_typeload_keys_listrt   s   & r    rv   KeysPageTest.setUpClass
  s6     //)x4 !V"fr   c                &    V P                   pV=V=R # r#   )rq   r  r  rt   s   & r    rz   KeysPageTest.tearDownClass  s    xx 3r   c                   V P                   p\        P                  ! R R4       F)  p\        P                  R,          P	                  V4       K+  	  \
        P                  ! 4        ^ VP                  n        ^ VP                  n        R# )r   r   N)
rq   r   r   r   r   r   r&   r  rX   r  r   s   &  r    r~   KeysPageTest.setUp  s`    II  ..vv>GV$33G< ?!""#r   c                   \         P                  ! 4        V P                  pV P                  p\        P
                  ! R R7      \        n        VP                  4        V P                  VP                  P                  4       4       V! VP                  P                  4       R 4       V! VP                  P                  4       R4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP$                  P&                  R4       \        P(                  ! RRRR4       \        P(                  ! RRRR	4       VP                  4        V! VP                  P                  4       R 4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP$                  P&                  R4       \        P
                  ! RR7      \        n        \        P
                  ! R
R7      \        n        \        P(                  ! RRRR4       VP                  4        V P-                  VP                  P                  4       4       V! VP                  P                  4       R
4       V! VP                  P                  4       R4       V! VP                   P"                  ^4       V! VP$                  P"                  ^4       V! VP$                  P&                  R4       \        =\        =\         P.                  ! 4        R# )IDLE Classic OSXr   - no custom keys -r   r   r   r   r   r   r   zIDLE Modern Unixr   Keysr   r   Nr   r  )r   )r   r%   rq   rW   r   rA   r   CurrentKeysload_key_cfgr   keyset_sourcer   r   r   custom_keyset_onr   r  rX   r  argsr   default_keysr   r   r   s   &  r    test_load_key_cfgKeysPageTest.test_load_key_cfg   sg   II  $yy6HI	++-.
1>>!34
1== 45
1##%}5
1??!!1%
1""A&
1  "89 	67Hg>67Ix@	
1>>!34
1==(
1??!!1%
1""A&
1  "89  $yyg> $		7I J669c:	,,./
1>>!34
1==(
1??!!1%
1""A&
1  +. ("7r   c                   V P                   pV P                  p\        4       Vn        \        4       Vn        VP
                  P                  4        V! \        R RR//4       V! VP                  P                  ^4       V! VP                  P                  ^ 4       \        P                  ! 4        VP                  P                  R4       VP                  P                  4        V P                  \        R RR//4       V! VP                  P                  ^4       V! VP                  P                  ^4       V=V=R# )r  r   r   r  Nr  )rW   rq   r   r  r  builtin_keyset_onrD   r   rX   r   r&   r  r   r  s   &  r    test_keyset_sourceKeysPageTest.test_keyset_sourceJ  s    II%)V"$(F!	""$
8fy&123
1%%,,a0
1$$++Q/ 	
  0	!!#FY,@#AB
1%%,,a0
1$$++Q/&(Ar   c                   V P                   pV P                  p\        P                  R ,          P	                  R4       . ROpVP
                  P                  VR4       V! \        RRRRR//4       V! VP                  R,          R4       V! VP                  P                  ^4       V! VP                  P                  R4       \        P                  ! 4        \        P                  ! R RRR	4       VP
                  P                  VR4       V! \        RRR//4       V! VP                  R,          R4       V! VP                  P                  ^4       V! VP                  P                  R4       \        P                  ! 4        VP
                  P                  VR4       V! \        RRRRR
//4       V! VP                  R,          R
4       V! VP                  P                  ^4       V! VP                  P                  R4       R# )r   r  IDLE Classic Windowsr  IDLE Modern UNIXr  r  r  zNew key set, see HelpzIDLE Classic Unixr   N)r  r  r  )r  r  )rW   rq   r   r   r   r  r  r   keys_messager  rX   r  r   r&   r   r  s   &   r    r  KeysPageTest.test_builtin_name_  s   II //7)	 	
i);<
8fv'=&(:< = 	>
1>>&!#:;
1""A&
1  "89 	6663FG	i);<
8fw(:;<=
1>>&!#:;
1""A&
1  "89 		i);<
8fv'97BGHI
1>>&!2&
1""A&
1  "89r   c                   V P                   pVP                  P                  . R 4       V P                  R\        4       V P                  VP                  P                  ^ 4       \        P                  ! 4        VP                  P                  . ROR4       V P                  \        RRR//4       V P                  VP                  P                  ^4       R# )r  r  r  r  Nr  )
rq   r  r  r  r   rW   r  rX   r   r&   rY   s   & r    r  KeysPageTest.test_custom_name  s    II 	
R!56*))00!4 		_c2FVSM#:;))00!4r   c                   \         P                  ! R RRR4       V P                  pVP                  P	                  R4       VP
                  P                  ^ R4       VP
                  P                  ^ R4       VP
                  P                  ^R4       VP
                  P                  ^ 4       VP
                  P                  ^ 4       VP                  P	                  R4       V P                  \        RRR//4       VP
                  P                  ^4       VP
                  P                  ^4       VP                  P	                  R4       V P                  \        R	RR//4       R
# )r   ZzDummyenabler   zmy custom keysendcopyzz-in	<Key-F11>ZzDummy_cfgBindingsN)r   r   rq   r   r   bindingslistdeleteinsertselection_setselection_anchor
keybindingrW   rd   rL   rY   s   & r    test_keybindingKeysPageTest.test_keybinding  s   <HfEII	*+	a'	a(	a(	$$Q'	''*	%*V[,AB	D 	
$$Q'	''*	%/&+1FG	Ir   c                   V P                   pV P                  pV=VP                  P	                  R 4       VP                  4        V! VP
                  R,          \        4       V! VP                  R,          \        4       V! VP                  P                  4       R4       VP                  P	                  R4       VP                  4        V! VP
                  R,          \        4       V! VP                  P                  4       R4       V! VP                  R,          \        4       V! VP                  P                  4       R4       \        4       Vn        R# rO  )rW   rq   r  r  r   r  r   r  r   button_delete_custom_keysr   r  r   r  s   &  r    test_set_keys_typeKeysPageTest.test_set_keys_type  s    IIO 	
D!	
1==!6*
1<< (+
1&&,,.> 	
E"	
1==!8,
1##%}5
1<< &)
1&&,,.3&r   c                   V P                   pV P                  p\        P                  p\	        R R7      ;p\        n        \	        4       ;qRn        VP                  P                  R4       VP                  P                  ^ R4       VP                  P                  ^ R4       VP                  P                  ^ 4       VP                  P                  ^ 4       VP                  P                  R4       VP                  P                  R 4       RVn        VP                  P#                  4        V! VP                  P%                  R4      R4       V! VP                  P%                  4       R4       RVn        RVn        VP                  P#                  4        V! VP&                  ^4       V! VP                  P%                  R4      R4       RVn        VP                  P#                  4        V! VP(                  P%                  4       VP                   4       V! VP                  P%                  R4      R	4       V! VP                  P%                  4       R4       VP                  P                  R
4       ^ Vn        RVn        VP                  P#                  4        V! VP&                  ^ 4       V! VP                  P%                  R4      R4       V! VP                  P%                  4       R4       V=V\        n        R# )Trp  r  zcopy - <Control-Shift-Key-C>zKey-ar   r   r  zMy New Key Setzcopy - <Key-F11>Fz<Key-p>zcopy - <Key-p>Nr  )rW   rq   r   GetKeysWindowr   get_new_keys_namebutton_new_keysr   r  r  r  r  r  r  r   r  r]  rD   r   rX   r   )r.   r   rF   orig_getkeysdialoggkdgnkns   &     r    test_get_new_keysKeysPageTest.test_get_new_keys  sB   II)77+/D+AAl(%)V+"	/	a'	a!?@	$$Q'	''*	!	D! 
	  "
1>>h')GH
1<<w' !
	  "
4;;
1>>h')GH&	  "
1==,
1>>h');<
1<<{+ 	
E"
	  "
4;;
1>>h')9:
1<<y)%7"r   c                    \         P                  p\        R R7      ;p\         n        V P                  pRVn        V P                  VP                  R4      R4       V\         n        R# )Trp  zNew Keysr   N)r   rr  r   rq   r]  rW   r  rs  s   &   r    test_get_new_keys_name#KeysPageTest.test_get_new_keys_name  sS    '33(,(>>\%II	,,R0*=#3 r   c                   V P                   p\        4       ;q!n        VP                  P	                  R 4       RVn        VP                  P                  4        RVn        ^ Vn        V P                  VP
                  \        P                  R,          4       VP                  P                  4        V P                  VP
                  \        P                  R,          4       V=R# )Tr   zmy new key setr   N)rq   r   r  r  r   r]  button_save_custom_keysrD   rX   r  r   r   r   )r.   rF   r  s   &  r    test_save_as_new_key_set%KeysPageTest.test_save_as_new_key_set  s    II%)V+"	D! 	!!((* 'h&6&6v&>?	!!((*dkk8#3#3F#;<r   c                   V P                   pVP                  pVP                  ^ R4       VP                  ^ R4       VP                  ^R4       VP	                  ^ 4       VP                  4        VP                  ^4       VP                  4        VP                  ^4      w  r4rVW5^,          ,          pWF^,          ,          pVP                  R^ ^ R7       VP                  RW4R7       VP                  RW4R7       VP                  RW4R7       V P                  VP                  R	4      R4       V P                  VP                  P                  4       R4       R
# )    r  r  findr.  r   r/  r   r   r   Nr   )rq   r  r  r  rP   r   r   rs   r   r   rW   r   r  r   )r.   rF   r  r   r   r   r   s   &      r    test_on_bindingslist_select(KeysPageTest.test_on_bindingslist_select  s   IINN	E	F	F	

1		a	
vvayb	1W	1W	a1-	q.	0	,7x&1**002B7r   c                T   V P                   pV P                  pVP                  P                  R 4       VP                  P                  R4       RpRpV P                  V\        P                  4       VP                  V4       V! \        P                  ! RR4      V.4       V! \        P                  ! R4      \        P                  ! V4      4       V! VP                  P                  4       V4       V P                  VP                  P                  4       4       V! VP                  P                  ^4       \         P"                  ! RVRR4       V P                  V\        P                  4       VP                  V4       V! \        P                  ! RR4      W4.4       V P%                  \        P                  ! V4      \        P                  ! V4      4       \        P&                  ! RVRR4       V! \        P                  ! V4      \        P                  ! V4      4       R# )	Tr  zmy new custom key setzmy second custom keysetr   r   r  r  N)rW   rq   r  r   r   r  r   r   create_new_key_setr   	GetKeySetr   r   r   r  rX   r   r  r   r   r  s   &    r    ,test_create_new_key_set_and_save_new_key_set9KeysPageTest.test_create_new_key_set_and_save_new_key_set  s   II 	
D!	12+	.
 	H$4$45	Y'
8""662YK@
845i(	*
1==	*,,./
1??!!1% 	69fkBX%5%56	Z(
8""662Y4KLH..y9$..z:	< 	69fkB
8i((*<*<Z*HIr   c                   V P                   pV P                  p\        4       ;p\        n        V=VP                  pVP                  ^ R4       VP                  ^ R4       VP                  ^R4       RRR.RR.R	R
./Vn	        \        P                  ! RRRR4       RpVP                  R4       V! VP                  ^ R4      V4       V! VP                  R4      R4       V! VP                  4       R4       VP                  ^4       VP                  ^4       VP                  R4       V! VP                  ^ R4      V4       V! VP                  R4      R4       V! VP                  4       R4       VP                  ^4       VP                  ^4       VP                  R4       V! VP                  ^ R4      V4       V! VP                  R4      R4       V! VP                  4       R4       \        4       Vn        \        =R# )r  r  z<<find>>z<<help>>z<<copy>>z<Control-Key-c>z<Control-Key-C>z<<force-open-completions>>z<Control-Key-space>z<<spam>>r  r   zmy keysr  z<Shift-Key-a>,force-open-completions - <Control-Key-space>spam - <Shift-Key-a>r   r   N)z&copy - <Control-Key-c> <Control-Key-C>r  r  r   )rT   )r   )rW   rq   r   r   r  r  r  r  r  r]  r   r  r   curselectionr  r  )r.   r   rF   gksr  r   s   &     r    test_load_keys_list KeysPageTest.test_load_keys_list7  s   II#'6)h NN	E	J	J #46G"H25J4K ;-1
 	69foF,
 	
#
155E?H%
155?B
1>>R  	
	1	#
155E?H%
155?JK
1>>U# 	
	1	#
155E?H%
155?23
1>>U#6r   c                T   V P                   pV P                  pVP                  P                  R4       \	        4       ;q2n        \	        4       \        n        \	        4       \        n        Rp\        P                  R,          P                  VRR4       RR/\        V&   Rp\        P                  R,          P                  VRR4       RR/\        V&   VP                  P                  R4       VP                  P                  4        VP                  P!                  V4       R	Vn        VP                  P                  4        V! VP$                  ^4       V! \        V,          RR/4       V! \        P&                  ! R
R4      WE.4       V! \        P                  P$                  ^ 4       V! \        P                  P$                  ^ 4       V! VP(                  P$                  ^ 4       RVn        VP                  P                  4        V! VP$                  ^4       V P+                  V\        4       V! \        P&                  ! R
R4      V.4       V! VP                  P                  4       R4       V! VP                  P-                  4       V4       V! \        P                  P$                  ^4       V! \        P                  P$                  ^4       V! VP(                  P$                  ^4       VP                  P!                  V4       RVn        VP                  P                  4        V! VP$                  ^4       V P+                  V\        4       V! \        P&                  ! R
R4      . 4       V! VP                  P                  4       R4       V! VP                  P-                  4       R4       V! \        P                  P$                  ^4       V! \        P                  P$                  ^4       V! VP(                  P$                  ^4       \        =\        =V=R# )r  zspam key setr   r  r   r   r   zother key setr  Fr   Tr  Nr  r   r   )rW   rq   r  r   r   r  r   rK   r3   r   r   r   rd   r  rD   r   r   r]  rX   r   r  r  r   )r.   r   rF   r  keyset_namekeyset_name2s   &     r    test_delete_custom_keys$KeysPageTest.test_delete_custom_keysb  s"   II	##)).9!V#
+/6()-&$ **;H!)6 2& **<I"*G!4 	
  0	!!#	+& 	##**,
5<<
8K 8V"45
8""662[4OP
6++22A6
6))00!4
1??!!1% 	##**,
5<<h/
8""662\NC
1##%r*
1==-
6++22A6
6))00!4
1??!!1% 	
,'	##**,
5<<h/
8""662B7
1##%}5
1== 45
6++22A6
6))00!4
1??!!1%*F,LJr   r   N)r5   r6   r7   r8   r   r   rv   rz   r~   r  r  r  r  r  r  r  r  r  r  r  r  r   r9   r:   r;   s   @r    r  r    s      % % 4 4$(TB*:@5I*!*.8`4 $8*J>)V9 9r   r  c                   j   a  ] tR tRt o Rt]R 4       tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )WinPageTesti  zTest that general tab widgets enable users to make changes.

Test that widget actions set vars, that var changes add
options to changes.
c                    \         P                  ;qn        \         P                  P	                  V4       VP                  4        R # r#   )r   winpagerq   rb   rc   rs   rt   s   & r    rv   WinPageTest.setUpClass  s+     ..(x4 r   c                0    \         P                  ! 4        R # r#   r}   r-   s   &r    r~   WinPageTest.setUp  r   r   c                   V P                   pV P                  pVP                  P                  ^4       VP                  P                  ^4       VP
                  P                  ^4       VP                  4        V! VP                  P                  4       ^ 4       V! VP                  P                  4       R4       V! VP
                  P                  4       R4       R# )rT   80r   N)rW   rq   startup_editr   	win_width
win_heightload_windows_cfgr   r  s   &  r    test_load_windows_cfg!WinPageTest.test_load_windows_cfg  s    II	1			
1>>#
1;;??d#
1<<t$r   c                   V P                   pVP                  P                  4        V P                  \        R RR//4       \
        P                  ! 4        VP                  P                  4        V P                  \        R RR//4       R# )Generalzeditor-on-startupr   r   N)rq   startup_editor_onrD   rW   r   r   r&   startup_shell_onrY   s   & r    test_startupWinPageTest.test_startup  sv    II	""$#&93%?@	B	!!##&93%?@	Br   c                   V P                   pVP                  P                  ^ R4       VP                  P                  ^ R4       V P	                  \
        RRR//4       \        P                  ! 4        VP                  P                  ^ R4       VP                  P                  ^ R4       V P	                  \
        RRR//4       R# )r  r  11r   heightwidthN)	rq   win_height_intr  r  rW   r   r   r&   win_width_intrY   s   & r    test_editor_sizeWinPageTest.test_editor_size  s    II	5)	4(NXt4D#EF	q%(	q$'NWdO#DEr   c                    V P                   pVP                  P                  ^4       V P                  VP                  P                  4       R4       V P                  \        RRR//4       R# )   6Indentz
num-spacesN)rq   indent_chooserr   rW   indent_spacesr   r   rY   s   & r    test_indent_spacesWinPageTest.test_indent_spaces  sV    II	Q,,.4H|S.A#BCr   c                    V P                   P                  P                  4        V P                  \        R RR//4       R# )r   zcursor-blinkr  N)rq   cursor_blink_boolrD   rW   r   r-   s   &r    test_cursor_blinkWinPageTest.test_cursor_blink  s2    		##**,N^W4M#NOr   c                    V P                   P                  P                  ^ R4       V P                   P                  P                  ^ R4       V P	                  \
        RRR//4       R# )r  r  r  AutoComplete	popupwaitN)rq   auto_wait_intr  r  rW   rL   r-   s   &r    test_autocomplete_wait"WinPageTest.test_autocomplete_wait  sP    		&&q%0		&&q$/>K3F"GHr   c                   V P                   pV P                  pVP                  R ,          P                  ^ 4       V! \        RRR//4       \
        P                  ! 4        VP                  P                  ^ R4       VP                  P                  ^ R4       V! \        RRR//4       \
        P                  ! 4        VP                  P                  4        V! \        RRR//4       R	# )
menu
ParenMatchrV  openerr  r  zflash-delaybellr  N)rq   rW   paren_style_typerD   rL   r   r&   paren_flash_timer  r  bell_onr   s   &  r    test_parenmatchWinPageTest.test_parenmatch  s    II	6"))!,
7\GX#678	!!!U+	!!!T*
7\M4#89:			
7\FG#456r   c                    V P                   P                  P                  ^ R4       V P                   P                  P                  ^ R4       V P	                  \
        RRR//4       R# )r  r  r  FormatParagraphz	max-widthN)rq   format_width_intr  r  rW   rL   r-   s   &r    test_paragraphWinPageTest.test_paragraph  sQ    		""))!U3		""))!T2#4{D6I"JKr   r   N)r5   r6   r7   r8   r   r   rv   r~   r  r  r  r%  r)  r/  r9  r>  r9   r:   r;   s   @r    r  r    sW     
  

%BFDPI
7L Lr   r  c                   L   a  ] tR tRt o Rt]R 4       tR tR tR t	R t
RtV tR	# )
ShedPageTesti  zTest that shed tab widgets enable users to make changes.

Test that widget actions set vars, that var changes add
options to changes.
c                    \         P                  ;qn        \         P                  P	                  V4       VP                  4        R # r#   )r   shedpagerq   rb   rc   rs   rt   s   & r    rv   ShedPageTest.setUpClass  s+     //)x4 r   c                0    \         P                  ! 4        R # r#   r}   r-   s   &r    r~   ShedPageTest.setUp  r   r   c                    V P                   pV P                  pVP                  P                  ^4       VP	                  4        V! VP                  P                  4       ^ 4       R# r  )rW   rq   autosaver   load_shelled_cfgr   r  s   &  r    test_load_shelled_cfg"ShedPageTest.test_load_shelled_cfg  sG    II	

q	
1::>>Qr   c                    V P                   pVP                  P                  4        V P                  \        R RR//4       VP
                  P                  4        V P                  \        R RR//4       R# )r  rH  r   r   N)rq   save_auto_onrD   rW   r   save_ask_onrY   s   & r    test_autosaveShedPageTest.test_autosave  s_    II	I
C/@#AB	I
C/@#ABr   c                    V P                   P                  P                  ^ R4       V P                   P                  P                  ^ R4       V P	                  \
        RRR//4       R# )r  r  r   CodeContextmaxlinesN)rq   context_intr  r  rW   rL   r-   s   &r    test_contextShedPageTest.test_context  sP    		$$Q.		$$Q,=:s2C"DEr   r   N)r5   r6   r7   r8   r   r   rv   r~   rJ  rO  rU  r9   r:   r;   s   @r    rA  rA    s:     
  
 CF Fr   rA  c                   4   a  ] tR tRt o Rt]R 4       tRtV tR# )ExtPageTesti  /Test that the help source list works correctly.c                d    \         P                  p\         P                  P                  V4       R # r#   )r   rL   rb   rc   rt   s   & r    rv   ExtPageTest.setUpClass  s    ~~4 r   r   N)	r5   r6   r7   r8   r   r   rv   r9   r:   r;   s   @r    rX  rX    s     9! !r   rX  c                   t   a  ] tR tRt o Rt]R 4       t]R 4       tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )HelpSourceTesti  rY  c                    \         P                  p\         P                  P                  V4       VP                  ;q n        \        4       ;Vn        Vn        \        4       ;Vn	        Vn
        VP                  4        R # r#   )r   rL   rb   rc   
frame_helpframer   r   set_add_delete_stateupcupdate_help_changesrs   )ru   rq   r`  s   &  r    rv   HelpSourceTest.setUpClass  sV    ~~4  OO+	157	E.046	E-r   c                    V P                   pV=V=V=V=VP
                  P                  ^ R4       VP                  P                  4        R# )r  r  N)	r`  r   ra  rb  rc  helplistr  user_helplistr&   )ru   r`  s   & r    rz   HelpSourceTest.tearDownClass'  sE    		Iu1Iu0a'!!#r   c                0    \         P                  ! 4        R # r#   r}   r-   s   &r    r~   HelpSourceTest.setUp/  r   r   c                @   V P                   pV P                  pVP                  P                  R R4       RR.Vn        \
        P                  ! RRRR4       VP                  4        V! VP                  P                  ^ R 4      R4       V! VP                  R	.4       R# )
r  badworser   	HelpFilesr   z	name;fileN)r  )r  filer   )	rW   r`  rf  r  rg  r   r   load_helplistr   r.   r   frs   &  r    test_load_helplist!HelpSourceTest.test_load_helplist2  s    ZZ
5%(!7+6;[A

2;;??1e$i0
2345r   c                >   V P                   pVP                  Vn        VP                  Vn        VP
                  pR pVP                  VR4       VP                  V4       VP                  4        VP                  V4       VP                  4        VP                  V4      w  rErgWF^,          ,          pWW^,          ,          p^ ;VP                  n        VP                  n        VP                  R^ ^ R7       VP                  RWER7       VP                  RWER7       VP                  RWER7       V P                  VP                  R4      R4       V P!                  VP                  P                  4       V P#                  VP                  P                  4       R# )	r  sourcer.  r   r/  r   r   r   N)r`  ra  r   rc  rb  rf  r  rP   r   r   rs   r   rX   r   rW   r   r   r   )r.   rr  rf  dexr   r   r   r   s   &       r    test_source_selected#HelpSourceTest.test_source_selected<  sA   ZZ(('';;X&#S}}S)b	1W	1W())	Q!4
a57 3q>h/:&'r   c                   V P                   pV P                  pV=VP                  pVP                  pVP	                  ^ R4       V! 4        V! VP
                  P                  4       R4       V! VP                  P                  4       R4       VP                  ^ R4       V! 4        V! VP
                  P                  4       R4       V! VP                  P                  4       R4       VP                  ^ 4       V! 4        V! VP
                  P                  4       R4       V! VP                  P                  4       R4       \        4       Vn        R# )r  r  rv  Nr   r   )rW   r`  ra  rf  r  button_helplist_editr   button_helplist_remover  r  r   )r.   r   rr  sadhs   &    r    test_set_add_delete_state(HelpSourceTest.test_set_add_delete_stateT  s   ZZ#%%KK	E
2""((*M:
2$$**,m<	H
2""((*M:
2$$**,m<	
2""((*B/
2$$**,b1"&&r   c                   V P                   p\        P                  p\        R R7      ;p\        n        V P                  pVP
                  P                  ^ R4       VP                  P                  4        ^ ;VP                  n
        VP                  n
        RVn        VP                  4        T P                  \        VP
                  P!                  ^ R4      4      VP                  u;8H  ;'       d    . 8H  Mu 4       V P#                  VP                  P                  4       RVn        VP                  4        RVn        VP                  4        V! VP
                  P!                  ^ R4      R4       V! VP                  RR.4       V! VP                  P                  ^4       V P#                  VP                  P                  4       V\        n        R# )Trp  r  r   Nname1file1r  file2)r  r  )rW   r   
HelpSourcer   r`  rf  r  rg  r&   r   rX   rb  r]  helplist_item_addr   listr   r   r.   r   orig_helpsourcer2  rr  s   &    r    test_helplist_item_add%HelpSourceTest.test_helplist_item_addl  s^    &11'+'==\$ZZ
1e$
 ())	
R[[__Q67((/ /,./ 	0'&	
&	

2;;??1e$&89
202DEF
266==!'"1r   c                n   V P                   p\        P                  p\        R R7      ;p\        n        V P                  pVP
                  P                  ^ R4       VP
                  P                  ^ R4       VP
                  P                  ^ 4       VP
                  P                  ^ 4       VP                  P                  4        VP                  P                  R4       ^ ;VP                  n        VP                  n        RVn        VP#                  4        RVn        VP#                  4        V! VP
                  P%                  ^ R4      R4       V! VP                  R.4       V P'                  VP                  P                  4       RVn        VP#                  4        V! VP
                  P%                  ^ R4      R	4       V! VP                  R.4       T P)                  VP                  P                  VP                  P                  u;8H  ;'       d    ^8H  Mu 4       V\        n        R# )
Trp  r  r  r   Nr  )r  r  )r  )rW   r   r  r   r`  rf  r  r  r  r  rg  r&   appendr   rX   rb  r]  helplist_item_editr   r   r   r  s   &    r    test_helplist_item_edit&HelpSourceTest.test_helplist_item_edit  s   &11'+'==\$ZZ
1e$
1g&
!!!$
$$Q'
 
 23())	
&	

2;;??1e$j1
2012'&	

2;;??1e$j1
2012;;!;<"1r   c                   V P                   pV P                  pVP                  P                  ^ R4       VP                  P	                  ^ R4       VP                  P                  ^ 4       VP                  P                  ^ 4       VP                  P                  4        VP                  P                  R4       ^ ;VP                  n        VP                  n        VP                  4        V! VP                  P                  ^ R4      R4       V! VP                  . 4       T P                  VP                  P                  VP                  P                  u;8H  ;'       d    ^8H  4       R# u 4       R# )r  r  r  Nr  r   )rW   r`  rf  r  r  r  r  rg  r&   r  r   rX   rb  helplist_item_remover   r   rq  s   &  r    test_helplist_item_remove(HelpSourceTest.test_helplist_item_remove  s   ZZ
1e$
1g&
!!!$
$$Q'
 
 23())
!
2;;??1e$b)
2R ;;!;<;<r   c                B   V P                   pV=VP                  P                  4        VP                  P	                  R4       VP                  P	                  R4       VP                  4        V P                  \        R,          RRRR/4       \        4       Vn        R# )	r  rn  r   zname1;file12zname2;file2Nr  r  )r`  rc  rg  r&   r  rW   r   r   )r.   rr  s   & r    test_update_help_changes'HelpSourceTest.test_update_help_changes  s    ZZ"
 
 23
 23
 +.}c=A	C!%r   r   N)r5   r6   r7   r8   r   r   rv   rz   r~   rs  rx  r  r  r  r  r  r9   r:   r;   s   @r    r]  r]    s[     9  $ $6(0)0282<= 
( 
(r   r]  c                   p   a  ] tR tRt o ]R 4       t]R 4       tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )VarTraceTesti  c                    \         P                  ! 4       V n        \        \        4      V n        \        \        4      V n        R # r#   )r   VarTracer   r	   r   ivr
   bvry   s   &r    rv   VarTraceTest.setUpClass  s)    "++-D!r   c                    V = V =V =R # r#   )r   r  r  ry   s   &r    rz   VarTraceTest.tearDownClass  s    Kr   c                H    V P                   P                  4        ^ V n        R# r  N)r   r&   rX   r-   s   &r    r~   VarTraceTest.setUp  s    r   c                8    V ;P                   ^,          un         R# )   NrX   r.   paramss   &*r    var_changed_increment"VarTraceTest.var_changed_increment  s    rr   c                    R # r#   r   r  s   &*r    var_changed_boolean VarTraceTest.var_changed_boolean  r1   r   c                    V P                   pVP                  4        V P                  VP                  . 4       V P                  VP                  . 4       R # r#   )r   __init__rW   untracedtracedr.   trs   & r    	test_initVarTraceTest.test_init  s<    \\
b)B'r   c                   V P                   pVP                  P                  ^ 4       VP                  P                  ^4       VP	                  4        V P                  VP                  . 4       V P                  VP                  . 4       R# r  )r   r  r  r  r&   rW   r  s   & r    
test_clearVarTraceTest.test_clear  s`    \\
1
		

b)B'r   c                   V P                   p\        4       p\        P                  ! VR 7      ;q1n        VP                  V P                  V P                  4      pV P                  W@P                  4       VP                  V P                  V P                  4      pV P                  WPP                  4       \        \        4      pVP                  VR4      pV P                  Wv4       VP                  4        VP                  VR4       W@P                  3WPP                  3Wb3.pV P                  VP                   . 4       V P                  VP"                  V4       V=R# )r   Nr   r   r   )r   r   r   rA   make_callbackaddr  r  assertIsr  r  r   r   rE   assert_called_withrW   r  r  )	r.   r  funccbr  r  svsv2r   s	   &        r    test_addVarTraceTest.test_add  s   \\v $		t <<VVDGGT778b''"VVDGGT556b''"t_ffR67c

b"?@334112J  	B'h/r   c                   V P                   P                  V P                  R4      pV P                  \	        V4      4       V P                  P                  ^*4       V P                  R\        R ,          4       V! 4        V P                  R\        R ,          4       V P                  \        R ,          R,          R,          R4       \        P                  ! 4        R# )r   r   r   42Nr  )r   r  r  r   callabler   r  r   r   rW   r&   )r.   r  s   & r    test_make_callbackVarTraceTest.test_make_callback  s    \\''1NO%BGFO4
i13H=tDr   c                   V P                   pVP                  V P                  V P                  4      pVP                  V P                  V P
                  4      pW P                  3W0P
                  3.pVP                  4        V P                  VP                  . 4       V P                  VP                  V4       VP                  ^4       V P                  VP                  4       ^4       V P                  V P                  ^4       ^ V n        VP                  4        VP                  ^4       V P                  V P                  ^4       ^ V n        VP                  4        V P                  VP                  . 4       V P                  VP                  V4       VP                  ^4       V P                  V P                  ^ 4       R# r  )r   r  r  r  r  r  r   rW   r  assertCountEqualr  r   r   rX   r%   )r.   r  r  r  r   s   &    r    test_attach_detachVarTraceTest.test_attach_detach  sP   \\VVDGGT778VVDGGT5563341124 			b)bii2
q	1%b)
 
		
q	b) 
		B'bkk84
q	a(r   r  N)r5   r6   r7   r8   r   rv   rz   r~   r  r  r  r  r  r  r  r9   r:   r;   s   @r    r  r    sX     " "
 ( (((0
) )r   r  __main__)	verbosity).r   idlelibr   test.supportr   unittestr   idlelib.idle_test.mock_idler   tkinterr   r   r	   r
   r   r   r   idlelib.configdialogr   r   r   r   r$   IdleUserConfParserr   r   r   r   r   rd   rL   r!   r)   TestCaser+   r>   rn   r   r  r  rA  rX  r]  r  r5   r   r   r   r    <module>r     s   ! !    , I I  ; ;
 


F%%b)**2.
F%%b)&++B/	 	6?;6?
,
Bx(( (<"" (<V[8$$ [|y8$$ yxX8$$ XvNL(## NLb!F8$$ !FJ!(## !d(X&& d(Ne)8$$ e)P zMMA r   