
    4hh(                        S SK r S SKrS SKJr  S SKrS SKJr  S SKJrJrJ	r	J
r
Jr  S SKJrJrJrJrJr  \" S5        SrSrS	 r " S
 S\\5      r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r " S S\\5      r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r\" \5       " S S\\ R,                  5      5       r " S S\\ R,                  5      r \" \\5       " S  S!\\ R,                  5      5       r!\" \5       " S" S#\!\ R,                  5      5       r"\" \5       " S$ S%\\ R,                  5      5       r#\" \\5       " S& S'\\ R,                  5      5       r$\" \\5       " S( S)\\ R,                  5      5       r%\" \\5       " S* S+\\ R,                  5      5       r&\" \\5       " S, S-\\ R,                  5      5       r'\" \5       " S. S/\\ R,                  5      5       r(\" \5       " S0 S1\\ R,                  5      5       r)\" \\5       " S2 S3\\ R,                  5      5       r* " S4 S5\\ R,                  5      r+\,S6:X  a  \ RZ                  " 5         gg)7    N)TclError)requires)requires_tk
tk_versionget_tk_patchlevel	widget_eqAbstractDefaultRootTest)add_standard_optionsAbstractWidgetTestStandardOptionsTestsIntegerSizeTestsPixelSizeTestsguiz.(bad|expected) screen distance (but got )?"{}"z4(bad|expected) screen distance (or "" but got )?"{}"c                 *    [        [        U 5      5      $ N)floatround)xs    G/opt/python-3.13.8/usr/lib/python3.13/test/test_tkinter/test_widgets.pyfloat_roundr      s    q?    c                   0    \ rS rSrSrS rS rS rS rSr	g)	AbstractToplevelTest   Fc                     U R                  5       nU R                  US   UR                  R                  R	                  5       5        U R                  USSSS9  U R                  SS9nU R                  US   S5        g )NclassFooz2can't modify -class option after widget is createderrmsg)class_)createassertEqual	__class____name__titlecheckInvalidParamselfwidgetwidget2s      r   test_configure_class)AbstractToplevelTest.test_configure_class   s{    ))2288:	<vwK 	 	M++U++)51r   c                     U R                  5       nU R                  US   S5        U R                  USSSS9  U R                  SS9nU R                  US   S5        g )Ncolormap newz5can't modify -colormap option after widget is createdr   )r.   r!   r"   r&   r'   s      r   test_configure_colormap,AbstractToplevelTest.test_configure_colormap$   sd    
+R0vz5N 	 	P++u+-,e4r   c                    U R                  5       nU R                  US   U R                  (       a  SOS5        U R                  USSSS9  U R                  SS9nU R                  US   U R                  (       a  S5        g S	5        g )
N	containerr   0   z6can't modify -container option after widget is createdr   Tr5   1)r!   r"   wantobjectsr&   r'   s      r   test_configure_container-AbstractToplevelTest.test_configure_container,   s{    ,43C3CaMv{AO 	 	Q+++--D4D4DqN#Nr   c                     U R                  5       nU R                  US   S5        U R                  USSSS9  U R                  SS9nU R                  US   S5        g )Nvisualr/   defaultz3can't modify -visual option after widget is createdr   )r>   r1   r'   s      r   test_configure_visual*AbstractToplevelTest.test_configure_visual4   sd    )2.vxL 	 	N++Y+/*I6r    N)
r$   
__module____qualname____firstlineno___conv_pad_pixelsr+   r2   r;   r@   __static_attributes__rB   r   r   r   r      s    25O7r   r   c                   0    \ rS rSrSrS rS rS rS rSr	g)	ToplevelTest=   )
backgroundbackgroundimageborderwidthr   r.   r5   cursorheighthighlightbackgroundhighlightcolorhighlightthicknessmenupadxpadyreliefscreen	takefocustileuser>   widthc                 D    [         R                  " U R                  40 UD6$ r   )tkinterToplevelrootr(   kwargss     r   r!   ToplevelTest.createG   s    		4V44r   c                     U R                  5       n[        R                  " U R                  5      nU R	                  USU[
        S9  U R	                  USS5        g )NrS   eqr/   )r!   r]   Menur_   
checkParamr   r(   r)   rS   s      r   test_configure_menu ToplevelTest.test_configure_menuJ   sC    ||DII&;+r   c                 f   U R                  5       nUR                  S:w  a  U R                  S5        U R                  US   S5         [        R
                  S   nU R                  USWSS9  U R                  US	9nU R                  US   U5        g ! [         a    U R                  S5         NTf = f)
Nx11zNot using Tk for X11rW   r/   DISPLAYzNo $DISPLAY set.z3can't modify -screen option after widget is createdr   )rW   )r!   _windowingsystemskipTestr"   osenvironKeyErrorr&   )r(   r)   displayr*   s       r   test_configure_screen"ToplevelTest.test_configure_screenP   s    ""e+MM01)2.	.jj+G 	vxL 	 	N++W+-*G4  	.MM,-	.s   B B0/B0c                 8   U R                  5       nU R                  US   S5        U R                  SS9n[        UR                  5       5      nU R	                  US9   U R                  US9nU R                  US   U5        S S S 5        g ! , (       d  f       g = f)NrZ   r/   Tr8   )wid)rZ   )r!   r"   hexwinfo_idsubTest)r(   r)   parentrw   r*   s        r   test_configure_useToplevelTest.test_configure_use^   s    +t,&//#$\\c\"kkck*GWU^S1 #""s   %B
BrB   N)
r$   rC   rD   rE   OPTIONSr!   ri   rt   r|   rG   rB   r   r   rI   rI   =   s    G5,52r   rI   c                       \ rS rSrSrS rSrg)	FrameTesth   )rK   rL   rM   r   r.   r5   rN   rO   rP   rQ   rR   rT   rU   rV   rX   rY   r>   r[   c                 D    [         R                  " U R                  40 UD6$ r   )r]   Framer_   r`   s     r   r!   FrameTest.createq       }}TYY1&11r   rB   Nr$   rC   rD   rE   r~   r!   rG   rB   r   r   r   r   h   s    G2r   r   c                   *    \ rS rSrSrS rS rS rSrg)LabelFrameTestu   )rK   rM   r   r.   r5   rN   font
foregroundrO   rP   rQ   rR   labelanchorlabelwidgetrT   rU   rV   rX   textr>   r[   c                 D    [         R                  " U R                  40 UD6$ r   )r]   
LabelFramer_   r`   s     r   r!   LabelFrameTest.create       !!$))6v66r   c                     U R                  5       nU R                  USSSSSSSSS	S
SSS5        U R                  USS5        g )Nr   eenesnnenwsseswwwnwscenter)r!   checkEnumParamr&   r(   r)   s     r   test_configure_labelanchor)LabelFrameTest.test_configure_labelanchor   sM    FMtS$tS$	> 	v}h?r   c                     U R                  5       n[        R                  " U R                  SSS9nU R	                  USUSS9  UR                  5         g )NMuppfoo)r   namer   z.fooexpected)r!   r]   Labelr_   rg   destroy)r(   r)   labels      r   test_configure_labelwidget)LabelFrameTest.test_configure_labelwidget   s@    diif5AuvFr   rB   N)	r$   rC   rD   rE   r~   r!   r   r   rG   rB   r   r   r   r   u   s    G7@r   r   c                   6    \ rS rSrSr\S:  r\S:  r\S:  rSr	g)AbstractLabelTest   F      rB   N)
r$   rC   rD   rE   _conv_pixelsr   _clip_highlightthickness	_clip_pad_clip_borderwidthrG   rB   r   r   r   r      s'    L)V3f$I"f,r   r   c                       \ rS rSrSrS rSrg)	LabelTest   )activebackgroundactiveforegroundanchorrK   bitmaprM   compoundrN   disabledforegroundr   r   rO   rP   rQ   rR   imagejustifyrT   rU   rV   staterX   r   textvariable	underliner[   
wraplengthc                 D    [         R                  " U R                  40 UD6$ r   )r]   r   r_   r`   s     r   r!   LabelTest.create   r   r   rB   Nr   rB   r   r   r   r      s    G2r   r   c                   $    \ rS rSrSrS rS rSrg)
ButtonTest   ) r   r   r   rK   r   rM   commandr   rN   r?   r   r   r   rO   rP   rQ   rR   r   r   
overreliefrT   rU   rV   repeatdelayrepeatintervalr   rX   r   r   r   r[   r   c                 D    [         R                  " U R                  40 UD6$ r   )r]   Buttonr_   r`   s     r   r!   ButtonTest.create       ~~dii2622r   c                 N    U R                  5       nU R                  USSSS5        g )Nr?   activedisablednormalr!   r   r   s     r   test_configure_default!ButtonTest.test_configure_default   s#    FIxXNr   rB   N)r$   rC   rD   rE   r~   r!   r   rG   rB   r   r   r   r      s    	,G3Or   r   c                   6    \ rS rSrSrS rS rS rS rS r	Sr
g	)
CheckbuttonTest   )&r   r   r   rK   r   rM   r   r   rN   r   r   r   rO   rP   rQ   rR   r   indicatoronr   	offreliefoffvalueonvaluer   rT   rU   rV   selectcolorselectimager   rX   r   r   tristateimagetristatevaluer   variabler[   r   c                 D    [         R                  " U R                  40 UD6$ r   )r]   Checkbuttonr_   r`   s     r   r!   CheckbuttonTest.create       ""499777r   c                 P    U R                  5       nU R                  USSSSS5        g )Nr   r7   ffffff@r/   
any stringr!   checkParamsr   s     r   test_configure_offvalue'CheckbuttonTest.test_configure_offvalue   s%    QRFr   c                 P    U R                  5       nU R                  USSSSS5        g )Nr   r7   r   r/   r   r   r   s     r   test_configure_onvalue&CheckbuttonTest.test_configure_onvalue   s%    AsBEr   c                    / n/ n[        S5       H  n[        R                  " U R                  5      nUR	                  5         UR                  U5        S H8  n[        R                  " XES9nUR	                  5         UR                  U5        M:     M     U Vs/ s H  n[        US   5      PM     nnU R                  [        [        U5      5      SU5        g s  snf )N   AB)r   r      )ranger]   r   r_   packappendr   strr"   lenset)r(   framesbuttonsifjb	variabless           r   test_unique_variables%CheckbuttonTest.test_unique_variables   s    qAdii(AFFHMM!''2q! 	  299AS:'	9S^,a; :s   Cc                    [         R                  " U R                  5      n[         R                  " U R                  5      n[         R                  " USSS9n[         R                  " USSS9n[         R                  " U R                  SS9nUR                  5         U R                  UR                  5       S5        UR                  5         U R                  UR                  5       S5        g )NtestTest1)r   r   Test2r   r7   r   )	r]   r   r_   r   IntVarselectr"   getdeselect)r(   f1f2b1b2vs         r   test_same_nameCheckbuttonTest.test_same_name   s    ]]499%]]499%  &w?  &w?NN49962
		!$
!$r   rB   N)r$   rC   rD   rE   r~   r!   r   r   r  r  rG   rB   r   r   r   r      s$    G8GF<
%r   r   c                   $    \ rS rSrSrS rS rSrg)RadiobuttonTest   )%r   r   r   rK   r   rM   r   r   rN   r   r   r   rO   rP   rQ   rR   r   r   r   r   r   rT   rU   rV   r   r   r   rX   r   r   r   r   r   valuer   r[   r   c                 D    [         R                  " U R                  40 UD6$ r   )r]   Radiobuttonr_   r`   s     r   r!   RadiobuttonTest.create  r   r   c                 P    U R                  5       nU R                  USSSSS5        g )Nr  r7   r   r/   r   r   r   s     r   test_configure_value$RadiobuttonTest.test_configure_value  s%    !S"lCr   rB   N)r$   rC   rD   rE   r~   r!   r"  rG   rB   r   r   r  r     s    G8Dr   r  c                   L    \ rS rSrSr\rSrSrSr	S r
S rS rS rS	 rS
 rSrg)MenubuttonTesti  )r   r   r   rK   r   rM   r   rN   	directionr   r   r   rO   rP   rQ   rR   r   r   r   rS   rT   rU   rV   r   rX   r   r   r   r[   r   TFc                 D    [         R                  " U R                  40 UD6$ r   )r]   
Menubuttonr_   r`   s     r   r!   MenubuttonTest.create  r   r   c           	      R    U R                  5       nU R                  USSSSSS5        g )Nr&  abovebelowflushleftrightr   r   s     r   test_configure_direction'MenubuttonTest.test_configure_direction   s*    FK'67	<r   c           	      T    U R                  5       nU R                  USSSS[        S9  g )NrO   d   r   convr!   checkIntegerParamr   r   s     r   test_configure_height$MenubuttonTest.test_configure_height%  s(    vxdACHr   c                 H   U R                  5       n[        R                  " U R                  SS9nU R	                  USU[
        S9  SnU R                  [        R                  5       nSUS'   S S S 5        Ub%  U R                  [        WR                  5      U5        U R                  [        R                  5       nUR                  SS05        S S S 5        Ub&  U R                  [        WR                  5      U5        g g ! , (       d  f       N= f! , (       d  f       NI= f)Nimage1)masterr   r   r5  zimage "spam" doesn't existspam)r!   r]   
PhotoImager_   rg   r   assertRaisesr   r"   	exception	configure)r(   r)   r   r   cms        r   test_configure_image#MenubuttonTest.test_configure_image)  s    ""$))(CS9.w//0B$F7O 1S.7w//0Bgv./ 1S.7  10 10s   'D<D
D
D!c                     U R                  5       n[        R                  " USS9nU R                  USU[        S9  UR                  5         g )NrS   r  rd   )r!   r]   rf   rg   r   r   rh   s      r   ri   "MenubuttonTest.test_configure_menu7  s:    ||F0;r   c           	      T    U R                  5       nU R                  USSSS[        S9  g )Nr[     nr   r5  r7  r   s     r   test_configure_width#MenubuttonTest.test_configure_width=  s(    vwT13Gr   rB   N)r$   rC   rD   rE   r~   r   r   r   r   r   r!   r0  r9  rD  ri   rK  rG   rB   r   r   r%  r%    sA    
G L#I7<
I8Hr   r%  c                   $    \ rS rSrSS jrS rSrg)OptionMenuTestiB  c                 N    [         R                  " U R                  S U/UQ70 UD6$ r   )r]   
OptionMenur_   )r(   r?   valuesra   s       r   r!   OptionMenuTest.createD  s%    !!$))T7NVNvNNr   c                     U R                  [        S5         [        R                  " U R                  S SSS9  S S S 5        g ! , (       d  f       g = f)Nz^unknown option -image$r  r/   )r   )assertRaisesRegexr   r]   rP  r_   r(   s    r   test_bad_kwargOptionMenuTest.test_bad_kwargG  s8    ##H.HItyy$2> JIIs   "A
ArB   N)r  )ar  c)r$   rC   rD   rE   r!   rV  rG   rB   r   r   rN  rN  B  s    O?r   rN  c                   Z    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)	EntryTestiL  )!rK   rM   rN   disabledbackgroundr   exportselectionr   r   rP   rQ   rR   insertbackgroundinsertborderwidthinsertofftimeinsertontimeinsertwidthinvalidcommandr   placeholderplaceholderforegroundreadonlybackgroundrV   selectbackgroundselectborderwidthselectforegroundshowr   rX   r   validatevalidatecommandr[   xscrollcommandc                 D    [         R                  " U R                  40 UD6$ r   )r]   Entryr_   r`   s     r   r!   EntryTest.create\  r   r   c                 H    U R                  5       nU R                  US5        g )Nr\  r!   checkColorParamr   s     r   !test_configure_disabledbackground+EntryTest.test_configure_disabledbackground_      V%9:r   c           
      v    U R                  SS9nU R                  USSSSSSS	5        U R                  USS
SS9  g )Nr3  )rb  r_  r   ?@   10p<   2   r   r!   checkPixelsParamrg   r   s     r    test_configure_insertborderwidth*EntryTest.test_configure_insertborderwidthc  sI    -f&9c1b%	9 	 3R&Ir   c                     U R                  5       nU R                  USSSS5        U R                  USSSS9  U R                  USSSS9  U R                  USS	S
S9  g )Nrb  rx  @r|  g?r   r   r{  g?r7   r  r   s     r   test_configure_insertwidth$EntryTest.test_configure_insertwidthj  s_    fmS#uEsQ?rA>sQ?r   c                 l    U R                  5       nU R                  US5        U R                  US5        g )Nrc  invcmdr!   checkCommandParamr   s     r   test_configure_invalidcommand'EntryTest.test_configure_invalidcommandq  s.    v'78vx0r   c                 H    U R                  5       nU R                  US5        g )Nrf  rr  r   s     r   !test_configure_readonlybackground+EntryTest.test_configure_readonlybackgroundv  rv  r   c                     U R                  5       nU R                  USS5        U R                  USS5        U R                  USS5        g )Nrj  *r/    r!   rg   r   s     r   test_configure_showEntryTest.test_configure_showz  s=    ,+,r   c                 N    U R                  5       nU R                  USSSS5        g )Nr   r   r   readonlyr   r   s     r   test_configure_stateEntryTest.test_configure_state  s&    FG&*	>r   c           
      T    U R                  5       nU R                  USSSSSSS5        g )Nrk  allkeyfocusfocusinfocusoutnoner   r   s     r   test_configure_validate!EntryTest.test_configure_validate  s-    FJugy*f	Fr   c                 l    U R                  5       nU R                  US5        U R                  US5        g )Nrl  vcmdr  r   s     r   test_configure_validatecommand(EntryTest.test_configure_validatecommand  s.    v'89vv.r   c                 <   U R                  5       nUR                  SS5        U R                  UR                  5       5        UR	                  SS5        U R                  UR                  5       S5        U R                  UR                  5       5        UR                  S5        UR                  S5        U R                  UR                  5       S5        UR	                  SS5        U R                  UR                  5       S	5        UR                  5         U R                  UR                  5       5        UR	                  SS5        UR                  S5        U R                  UR                  5       S
5        UR                  S5        U R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        UR                  S5        g Nr   12345endr7   r   2   r   41234234   2345r!   insertassertFalseselection_presentselection_ranger"   selection_get
assertTrueselection_fromselection_toselection_clearselection_adjustr   s     r   test_selection_methods EntryTest.test_selection_methods  s   a!1134q%(--/90023a A--/5q!$--/5 1134q%("--/8"--/7"--/8"--/9"r   rB   N)r$   rC   rD   rE   r~   r!   rt  r  r  r  r  r  r  r  r  r  rG   rB   r   r   r[  r[  L  sC    G2;J@1
;->
F
/
#r   r[  c                   p    \ rS rSrSrS rSrS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrg)SpinboxTesti  ).r   rK   rM   buttonbackgroundbuttoncursorbuttondownreliefbuttonupreliefr   rN   r\  r   r]  r   r   formatfromrP   rQ   rR   	incrementr^  r_  r`  ra  rb  rc  r   rd  re  rV   rf  r   r   rg  rh  ri  r   rX   r   tork  rl  rQ  r[   wraprm  c                 D    [         R                  " U R                  40 UD6$ r   )r]   Spinboxr_   r`   s     r   r!   SpinboxTest.create      tyy3F33r   Nc                 H    U R                  5       nU R                  US5        g )Nr  rr  r   s     r   test_configure_buttonbackground+SpinboxTest.test_configure_buttonbackground  s    V%78r   c                 H    U R                  5       nU R                  US5        g )Nr  r!   checkCursorParamr   s     r   test_configure_buttoncursor'SpinboxTest.test_configure_buttoncursor      fn5r   c                 H    U R                  5       nU R                  US5        g )Nr  r!   checkReliefParamr   s     r   test_configure_buttondownrelief+SpinboxTest.test_configure_buttondownrelief  s    f&89r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_buttonuprelief)SpinboxTest.test_configure_buttonuprelief  s    f&67r   c                    U R                  5       nU R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        U R                  USS	5        U R                  USS
5        U R                  USS5        U R                  USS5        U R                  USS5        g )Nr  z%2fz%2.2fz%.2fz%2.fz%2e-1fz2.2z%2.-2fz%-2.02fz% 2.02fz	% -2.200fz%09.200fz%dr!   rg   r&   r   s     r   test_configure_format!SpinboxTest.test_configure_format  s    %0'2&1&1vx:vx7vx:)4)4+6*5vx6r   c                     U R                  5       nU R                  USS5        U R                  USSSS5        [        S:  a  U R                  USSS	S
9  g U R	                  USSSS9  g )Nr  g      Y@r  ffffff$@ffffff'@r      r3  r   *-to value must be greater than -from valuer   r!   rg   checkFloatParamr   r&   r   s     r   test_configure_fromSpinboxTest.test_configure_from  sp    e,VVS$=  s C""FCG # Ir   c           	      R    U R                  5       nU R                  USSSSSS5        g )Nr  r7   r  g)@r   r!   r  r   s     r   test_configure_increment$SpinboxTest.test_configure_increment  s'    V["atQGr   c                     U R                  5       nU R                  USS5        U R                  USSSS5        [        S:  a  U R                  USSS	S
9  g U R	                  USSSS9  g )Nr  g      Yr  r  r  r  r   i8r4  r   r  r   r  r   s     r   test_configure_toSpinboxTest.test_configure_to  sp    /VT3d;  td C""D$G # Ir   c                     U R                  5       nU R                  US   S5        U R                  USS5        U R                  USSSS9  U R                  USSSS9  U R                  USS5        g )NrQ  r/   zmon tue wed thur)montuewedthurr   )*   gQ	@r/   r   z42 3.14 {} {any string})r!   r"   rg   r   s     r   test_configure_values!SpinboxTest.test_configure_values  sy    )2.*<=*G!3 	 	5*F!: 	 	<"-r   c                 H    U R                  5       nU R                  US5        g )Nr  r!   checkBooleanParamr   s     r   test_configure_wrapSpinboxTest.test_configure_wrap      vv.r   c                    U R                  5       nU R                  UR                  S5      5        U R                  [        R
                  UR                  S5        U R                  [        R
                  UR                  S 5        U R                  [        UR                  5        U R                  [        UR                  SS5        g )Nr   noindexr7   )r!   assertIsBoundingBoxbboxr@  r]   r   	TypeErrorr   s     r   	test_bboxSpinboxTest.test_bbox	  s      Q0'**FKKC'**FKK>)V[[1)V[[!Q7r   c                    U R                  5       nUR                  SS5        U R                  UR                  5       5        UR	                  SS5        U R                  UR                  5       S5        U R                  UR                  5       5        UR                  S5        UR                  S5        U R                  UR                  5       S5        UR	                  SS5        U R                  UR                  5       S	5        UR                  5         U R                  UR                  5       5        UR	                  SS5        UR                  S5        U R                  UR                  5       S
5        UR                  S5        U R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        g r  r  r   s     r   r  "SpinboxTest.test_selection_methods  s   a!1134q%(--/90023a A--/5q!$--/5 1134q%("--/8"--/7"--/8"--/9r   c                 (   U R                  5       nU R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        UR                  S5        U R                  UR                  5       S5        g )Nr  buttonup
buttondown)r!   r"   selection_elementr   s     r   test_selection_element"SpinboxTest.test_selection_element)  st    113V<  ,113Z@  .113\Br   rB   )r$   rC   rD   rE   r~   r!   r  r  r  r  r  r  r  r  r  r  r   r  r  r  rG   rB   r   r   r  r    s[    G"4 96:87	IH	I	./8:0Cr   r  c                       \ rS rSrSrS rS rS rS rS r	S r
S	 r\" S
S5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TextTesti2  ))autoseparatorsrK   blockcursorrM   rN   endliner]  r   r   rO   rP   rQ   rR   inactiveselectbackgroundr^  r_  r`  ra  insertunfocussedrb  maxundorT   rU   rV   rg  rh  ri  setgridspacing1spacing2spacing3	startliner   tabstabstylerX   undor[   r  rm  yscrollcommandc                 D    [         R                  " U R                  40 UD6$ r   )r]   Textr_   r`   s     r   r!   TextTest.createB      ||DII000r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_autoseparators&TextTest.test_configure_autoseparatorsE      v'78r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_blockcursor#TextTest.test_configure_blockcursorI      v}5r   c                 f   U R                  5       nSR                  S [        S5       5       5      nUR                  SU5        U R	                  USSSS9  U R	                  USS	SS9  U R                  USS
SS9  U R	                  USS5        U R	                  USS5        U R                  USSSS9  g )N
c              3   &   #    U  H  nS v   M	     g7fzLine %dNrB   .0r  s     r   	<genexpr>2TextTest.test_configure_endline.<locals>.<genexpr>O       7JqJ   r3  r  r  r  r/   r   r  r>  expected integer but got "spam"r   r~  r     
   1-startline must be less than or equal to -endliner!   joinr   r  rg   r&   r(   r)   r   s      r   test_configure_endlineTextTest.test_configure_endlineM  s    yy7E#J77eT"	3<	3<vy&8 	 	:	2.R0vy"J 	 	Lr   c                     U R                  5       nU R                  USSSSS5        U R                  USSSS9  U R                  USS	SS9  g )
NrO   r3  LY@fffffY@3cr4  r7   r   r   r  r   s     r   r9  TextTest.test_configure_heightZ  sM    fhUE4H$;!a8r   c                 N    U R                  5       nU R                  USSSS5        g )Nr  r   r  r  r!   r8  r   s     r   test_configure_maxundoTextTest.test_configure_maxundo`  s#    vy!Q;r   c                 H    U R                  5       nU R                  US5        g )Nr  rr  r   s     r   'test_configure_inactiveselectbackground0TextTest.test_configure_inactiveselectbackgroundd  s    V%?@r   r   rz  c                 N    U R                  5       nU R                  USSSS5        g )Nr  hollowr  solidr   r   s     r   test_configure_insertunfocussed(TextTest.test_configure_insertunfocussedh  s'    F$6$fg	7r   c           
      N    U R                  5       nU R                  USSSSSSS9  g )Nrh  rx  ry  r{  r|  Fr5  r!   r  r   s     r    test_configure_selectborderwidth)TextTest.test_configure_selectborderwidthn  s0    f&9!3E 	 	?r   c                 t    U R                  5       nU R                  USSSSS5        U R                  USSSS9  g )	Nr     ffffff5@皙6@0.5cr   r   r  r   s     r   test_configure_spacing1 TextTest.test_configure_spacing1s  s9    fj"dD&I
B;r   c                 t    U R                  5       nU R                  USSSSS5        U R                  USSSS9  g )	Nr  r  皙@ffffff@z0.1cr  r   r   r  r   s     r   test_configure_spacing2 TextTest.test_configure_spacing2x  s9    fj!S#vF
B;r   c                 t    U R                  5       nU R                  USSSSS5        U R                  USSSS9  g )	Nr  rX  rY  rZ  r[  r  r   r   r  r   s     r   test_configure_spacing3 TextTest.test_configure_spacing3}  s9    fj"dD&I
C!<r   c                 f   U R                  5       nSR                  S [        S5       5       5      nUR                  SU5        U R	                  USSSS9  U R	                  USS	SS9  U R                  USS
SS9  U R	                  USS5        U R	                  USS5        U R                  USSSS9  g )Nr0  c              3   &   #    U  H  nS v   M	     g7fr2  rB   r3  s     r   r5  4TextTest.test_configure_startline.<locals>.<genexpr>  r7  r8  r3  r  r  r  r/   r   r  r>  r9  r   r;  r  r~  F   r<  r=  r?  s      r   test_configure_startline!TextTest.test_configure_startline  s    yy7E#J77eT"S2>S2>v{F8 	 	:R0	2.v{BJ 	 	Lr   c                 L    U R                  5       nU R                  USSS5        g Nr   r   r   r   r   s     r   r  TextTest.test_configure_state  !    FGZBr   c                    U R                  5       nU R                  USS5        U R                  USS[        U R                  5      S:  a  SOSS9  U R                  USSSS9  U R	                  USS	[
        R                  S	5      S
9  g )Nr  )r  g333334@1i2iz10.2 20.7 1i 2ir   rz     )z10.2z20.7rr  rs  r   z2c left 4c 6c center)2cr.  4c6cr   r>  r   )r!   rg   r   r_   r&   EXPECTED_SCREEN_DISTANCE_ERRMSGr  r   s     r   test_configure_tabsTextTest.test_configure_tabs  s    (@A(9$5dii$@J$N ":&B 	 	D 	(>!E 	 	Gvvv6==fE 	 	Gr   c                 L    U R                  5       nU R                  USSS5        g )Nr   tabularwordprocessorr   r   s     r   test_configure_tabstyle TextTest.test_configure_tabstyle  s!    FJ	?Kr   c                 H    U R                  5       nU R                  US5        g )Nr!  r  r   s     r   test_configure_undoTextTest.test_configure_undo  r  r   c                     U R                  5       nU R                  USS5        U R                  USSSS9  U R                  USSSS9  g )Nr[   rI  rJ  r7   r   r   )r!   r8  rg   r   s     r   rK  TextTest.test_configure_width  sG    vw4:Q7r   c                 N    U R                  5       nU R                  USSSS5        g )Nr  charr  wordr   r   s     r   r   TextTest.test_configure_wrap  s#    FFFFFCr   c                    U R                  5       nU R                  UR                  S5      5        U R                  UR                  S5      5        U R	                  [
        R                  UR                  S5        U R	                  [
        R                  UR                  S 5        U R	                  [        UR                  5        U R	                  [        UR                  SS5        g )Nz1.1r  r  )r!   r  r  assertIsNoner@  r]   r   r  r   s     r   r  TextTest.test_bbox  s      U!34&++e,-'**FKKC'**FKK>)V[[1)V[[%?r   rB   N)r$   rC   rD   rE   r~   r!   r(  r,  r@  r9  rI  rL  r   rQ  rU  r]  rb  re  rk  r  rz  r  r  rK  r   r  rG   rB   r   r   r  r  2  s    G196L9<A A7 7
?
<
<
=
LC
GL/8D@r   r  c                       \ rS rSrSr\rSrS rS r	S r
S rS rS	 rS
 rS rS rS rS rS rS rS r\" SS5      S 5       rSrg)
CanvasTesti  )rK   rM   closeenoughconfinerN   rO   rP   rQ   rR   r^  r_  r`  ra  rb  offsetrV   scrollregionrg  rh  ri  r   rX   rm  xscrollincrementr"  yscrollincrementr[   Tc                 D    [         R                  " U R                  40 UD6$ r   )r]   Canvasr_   r`   s     r   r!   CanvasTest.create  r   r   c           
      V    U R                  5       nU R                  USSSSS[        S9  g )Nr  r   333333@r  r5  )r!   r  r   r   s     r   test_configure_closeenough%CanvasTest.test_configure_closeenough  s/    V]BS""' 	 	)r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_confine!CanvasTest.test_configure_confine      vy1r   c                     U R                  5       nU R                  US   S5        U R                  USSSSSSSS	S
S5        U R                  USS5        U R                  USS5        U R	                  USS5        g )Nr  z0,0r   r   r   r   r   r   r   r   r   z10,20z#5,6r>  )r!   r"   r   rg   r&   r   s     r   test_configure_offset CanvasTest.test_configure_offset  sz    )51T3c4dH	F'2&1vx8r   c                 *   U R                  5       nU R                  USS5        U R                  USSSS9  U R                  USS5        U R                  USSSS9  U R                  USS	5        U R                  USS
5        U R                  USS5        g )Nr  z0 0 200 150)r   r   r     r   r/   r>  zbad scrollRegion "spam"r   )r   r   r  r>  )r   r   r  )r   r   r  r  r   r  r   s     r   test_configure_scrollregion&CanvasTest.test_configure_scrollregion  s    >0@!. 	 	03v~v&? 	 	Av~7JKv~{Cv~7JKr   c                 J    U R                  5       nU R                  USSSSS9  g )Nr   r   r   z0bad state value "{}": must be normal or disabledr   r   r   s     r   r  CanvasTest.test_configure_state  s,    FGZI 	 	Kr   c           
      T    U R                  5       nU R                  USSSSSSS5        g )Nr  (   r   gD@gE@iz0.5irT  r   s     r   test_configure_xscrollincrement*CanvasTest.test_configure_xscrollincrement  -    f&8 !T4f	>r   c           
      T    U R                  5       nU R                  USSSSSSS5        g )Nr  r;  r   ffffff&@g333333+@r  z0.1irT  r   s     r   test_configure_yscrollincrement*CanvasTest.test_configure_yscrollincrement  r  r   c                     S H+  nU" US9nU R                  UR                  US5      U5        M-     U R                  [        USS9  g )N)bevelmiterr   )	joinstyler  r>  r"   itemcgetr@  r   )r(   rY  factoryr  r  s        r   _test_option_joinstyle!CanvasTest._test_option_joinstyle  sH    2I),AQZZ;7C 3 	(Gv>r   c                    S H+  nU" US9nU R                  UR                  US5      S5        M-     S H+  nU" US9nU R                  UR                  US5      S5        M-     U" SSS	9nU R                  UR                  US5      S5        U R                  UR                  US
5      S5        U" SSS	9nU R                  UR                  US5      S5        U R                  UR                  US
5      S5        U R                  [        USS9  g )N)r7   Tr9   trueyeson)smoothr  r  )r   Fr6   falsenooffr6   T   )r  
splinestepr  30rawr>  r  )r(   rY  r  r  r  s        r   _test_option_smoothCanvasTest._test_option_smooth  s    7Fv&AQZZ84f= 8 :Fv&AQZZ84c: : 4B/Ax0&9A|4d;5R0Ax0%8A|4d;(GF;r   c           
         U R                  5       nUR                  SSSS5      nU R                  UR                  U5      / SQ5        U R                  UR	                  U5      S5        UR                  / SQ5      nU R                  UR                  U5      / SQ5        U R                  UR	                  U5      S	5        UR                  S
S5      nU R                  UR                  U5      / SQ5        U R                  UR	                  U5      S5        UR                  SS/5      nU R                  UR                  U5      / SQ5        U R                  UR	                  U5      S5        U R                  [        UR                  SSS5        U R                  [        UR                  / SQ5        U R                  [        UR                  SSSSSS5        U R                  [        UR                  / SQ5        U R                  [        UR                  SS5        U R                  [        UR                  SS/5        U R                  [        UR                  5        U R                  [        UR                  / 5        g )NrX  r  r}  r;  )      4@      $@      N@      >@)   	   rJ      )   r  rJ      )      5@      &@     N@      ?@)rX  r;  >          r  r     )      6@      (@      O@      @@)r  r  ?   !      r  r     )      7@      *@     O@     @@)r  r  @   "   rX  r  r}  r  r~  rX  r  r  r~  r}  r;  )r!   create_rectangler"   coordsr  r@  r   
IndexError)r(   rY  i1i2i3i4s         r   test_create_rectangle CanvasTest.test_create_rectangle  s   KKMBB/"'?@_5 01"'?@%56(3"'?@%568 45"'?@%56(A$6$6BC(A$6$6E(A$6$6BBBO(A$6$68PQ(A$6$6B?(A$6$6RA*a&8&89*a&8&8"=r   c           
      `  ^ U R                  5       mTR                  SSSSSS5      nU R                  TR                  U5      / SQ5        U R                  TR	                  U5      S5        U R                  TR                  US	5      S
5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        TR                  / SQ5      nU R                  TR                  U5      / SQ5        U R                  TR	                  U5      S5        TR                  SSS5      nU R                  TR                  U5      / SQ5        U R                  TR	                  U5      S5        TR                  / SQ5      nU R                  TR                  U5      / SQ5        U R                  TR	                  U5      S5        U R                  [        TR                  SSS5        U R                  [        TR                  / S Q5        U R                  [        TR                  SS5        U R                  [        TR                  SS/5        U R                  [        TR                  5        U R                  [        TR                  / 5        S! H8  nTR                  SSSSUS"9nU R                  TR                  US	5      U5        M:     TR                  SSSSS#/ S$QS%9nU R                  TR                  US5      S&5        U R                  [        TR                  SSSSS'S"9  S( H8  nTR                  SSSSUS)9nU R                  TR                  US5      U5        M:     U R                  [        TR                  SSSSS'S)9  U R                  TU4S* j5        U R                  TU4S+ j5        g ),NrX  r  r  r~  r}  r;  r  r        D@      I@r  r     r   r  4   arrowr  
arrowshapez8 10 3capstylebuttr  r   r  r6   r  12r  r  )   3   rJ   r  r  r  g     D@g     I@r  r  r  r  r  5   r  r  r  r  r  r  g      E@g      J@r  r  rX  r;  r  6   r  )+   r
  r  r  r  g     E@g     J@r  r  r  r  A   7   r  )r  firstlastboth)r   r  )r;  r:  r  )r   r  z10 15 5r>  )r  
projectingr   )r  c                  (   > TR                   " S0 U D6$ Nr  create_linera   rY  s    r   <lambda>-CanvasTest.test_create_line.<locals>.<lambda>Y  s    !P!Pr   c                  (   > TR                   " S0 U D6$ )N)rX  r  r}  r;  r  r  s    r   r  r  [  s    !H!Hr   )r!   r  r"   r  r  r  r@  r   r  r  r  )	r(   r  r  r  r  r   r  r  rY  s	           @r   test_create_lineCanvasTest.test_create_line-  sg   KKM]]2r2r2r2"'KL_5B0&9B5x@B
3V<B4g>B137B5t<]]34"'KL_5]]8Xx8"'KL%56]]9:"'KL%56(AMM2r2>(AMM<@(AMM2r:(AMMB8<*amm4*ammR84Eb"b"E:AQZZ73U; 5 MM"b"bKMPA|4i@(AMM2r2rP5Hb"b"x@AQZZ:6A 6 	(AMM2r2rFS##AP	R  H	Jr   c           
         ^ U R                  5       m[        S:  nTR                  SSSSSSSS	9nU R                  TR	                  U5      / S
Q5        U R                  TR                  U5      S5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        U R                  TR                  US5      S5        TR                  / SQSS	9nU R                  TR	                  U5      / SQ5        U R                  TR                  U5      S5        TR                  SSSSS	9nU R                  TR	                  U5      / SQ5        U R                  TR                  U5      S5        TR                  / SQSS	9nU R                  TR	                  U5      / SQ5        U R                  TR                  U5      S5        U R                  [        TR                  SSS5        U R                  [        TR                  / SQ5        U R                  [        TR                  5        U R                  [        TR                  / 5        U R                  TU4S j5        U R                  TU4S j5        g ) Nr   rX  r  r  r~  r}  r;  red)outliner  r  r  r   r  r6   r  r  r  r  r	  r  r  r  r  r  r  r  r  r  c                  (   > TR                   " S0 U D6$ r  create_polygonr  s    r   r  0CanvasTest.test_create_polygon.<locals>.<lambda>{      !1!1!SF!Sr   c                  (   > TR                   " S0 U D6$ r  r'  r  s    r   r  r)  }  r*  r   )r!   r   r(  r"   r  r  r  r@  r   r  r  r  )r(   tk87r  r  r  r  rY  s         @r   test_create_polygonCanvasTest.test_create_polygon]  s   KKMV# b"b"b"eD"'KL_5B4g>B137B5t<6F"'KL_5h(EJ"'KL%56<eL"'KL%56(A$4$4b"bA(A$4$4lC*a&6&67*a&6&6;##AS	U  S	Ur   c           
         U R                  5       nUR                  SSSSSSSS9nU R                  UR                  U5      / S	Q5        U R                  UR                  S5      / S	Q5        U R                  UR	                  U5      S
5        UR                  USSSSSS5        U R                  UR                  U5      / SQ5        U R                  UR	                  U5      S5        UR                  U/ SQ5        U R                  UR                  U5      / SQ5        UR                  USSS5        U R                  UR                  U5      / SQ5        UR                  U/ SQ5        U R                  UR                  U5      / SQ5        UR                  USSSS5        U R                  UR                  U5      / SQ5        U R                  UR	                  U5      S5        U R                  [        UR                  USSS5        U R                  [        UR                  U/ SQ5        U R                  [        UR                  USS5        U R                  [        UR                  USS/5        UR                  USSSS5        UR                  U5      nU R                  U[        5        U R                  [        U5      S5        U R                  US    S5        [        S5       H  nU R                  X2   [        5        M     g )!NrX  r  r  r~  r}  r;  r   tagsr  r  rj  P   Z   )r  r  g     Q@g      T@g     V@r  )0   &   \   R   r  r  r  r  r  r  r  r  )r  r  r  r  )r  r   r  r  r  2030c60ir|  r   r   )r!   r  r"   r  r  r@  r   assertIsInstancelistr   r   r   )r(   rY  r  r  s       r   test_coordsCanvasTest.test_coords  s`   KKMMM"b"b"bsM;!&JK#(LMO4	BBB+!&JK$45	,-!&JK	Hh1!&JK	23!&JK	BB#!&>?O4(AHHaR<(AHHa>(AHHaR8(AHHa"b:	D%.!fd+Va(B'qA!!&)U3 r   r   rz  c                    U R                  5       nUR                  SSSSSS9nUR                  SSSSSS9nUR                  U5      u  pE  nUR                  U5      u  px  nUR                  SSS	5        UR                  U5      u  p  nUR                  U5      u  p  nU R	                  U	S5        U R	                  U
S	5        U R	                  Xt-
  X-
  5        U R	                  X-
  X-
  5        UR                  X25        UR                  SSS
9  UR                  U5      u  p  nUR                  U5      u  nn  nU R	                  US5        U R	                  X5        U R	                  X-
  X-
  5        U R	                  X-
  UU-
  5        g )Nr7   rX  groupr0  r  r~  rj  r  r3  )y)r!   r  r  movetor"   	tag_lower)r(   r)   r  r  x1y1_x2y2x1_2y1_2x2_2y2_2x1_3y1_3x2_3y2_3s                    r   test_movetoCanvasTest.test_moveto  sy   $$Q2r$@$$RR'$B{{21{{21gsC(!;;r?Aq!;;r?Aqs#s#$+.$+. g$!;;r?Aq!;;r?dAqr"$dk2dTk2r   rB   N)r$   rC   rD   rE   r~   r   r   
_stringifyr!   r  r  r  r  r  r  r  r  r  r  r!  r-  r=  r   rQ  rG   rB   r   r   r  r    s}    G LJ3)
29
LK
>
>
?<>6.J` UD#4J A3 3r   r  c                       \ rS rSrSrS rS r\" SSS5      " \R                  5      r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rSrg)ListboxTesti  )activestylerK   rM   rN   r   r]  r   r   rO   rP   rQ   rR   r   listvariablerV   rg  rh  ri  
selectmoder  r   rX   r[   rm  r"  c                 D    [         R                  " U R                  40 UD6$ r   )r]   Listboxr_   r`   s     r   r!   ListboxTest.create  r  r   c                 N    U R                  5       nU R                  USSSS5        g )NrV  dotboxr  r   r   r   s     r   test_configure_activestyle&ListboxTest.test_configure_activestyle  s&    FM$fk	;r   r   rz  r  c                     U R                  5       n[        R                  " U R                  5      nU R	                  USU5        g )NrW  )r!   r]   	DoubleVarr_   checkVariableParam)r(   r)   vars      r   test_configure_listvariable'ListboxTest.test_configure_listvariable  s3    		*<r   c                     U R                  5       nU R                  USS5        U R                  USS5        U R                  USS5        U R                  USS5        g )NrX  singlebrowsemultipleextendedr  r   s     r   test_configure_selectmode%ListboxTest.test_configure_selectmode  sM    h7h7j9j9r   c                 L    U R                  5       nU R                  USSS5        g rn  r   r   s     r   r   ListboxTest.test_configure_state  rp  r   c                    U R                  5       nU R                  [        S5         UR                  S5        S S S 5        SR	                  5       nUR
                  " S/UQ76   [        U5       H  u  p4UR                  X4S9  M     U R                  [        5         UR                  5         S S S 5        U R                  [        S5         UR                  S5        S S S 5        [        U R                  5      S:  a  S	nOS
nU R                  UR                  SS5      / UQSP75        U R                  UR                  SS5      / UQSP75        U R                  UR                  SS5      / UQSP75        UR                  S5      nU R                  U[        5        UR                  5        Hw  u  pxU R                  [!        U5      S5        [!        U5      S:X  d  M1  U R                  XR                  SU5      5        U R                  US   UR#                  SU5      5        My     g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNy= f)Nzitem number "0" out of ranger   z)red orange yellow green blue white violetr  )rK   zbad listbox index "red"r$  rt  )rK   r/   r/   r/   )rK   rK   
Backgroundr/   rK   violetz@0,0)r   r  r  r   )r!   rT  r   itemconfiguresplitr  	enumerater@  r  r   r_   r"   r;  dictitemsassertInr   r  )	r(   r)   colorsr  colorprefixdkr  s	            r   test_itemconfigureListboxTest.test_itemconfigure  s   ##H.LM  # N<BBDe%f%!&)HA   5 *y)  " *##H.GH  ' ITYY':5/FCF--a>)6)5)	+--e\B,6,8,	.--flC)6)5)	+   #a&GGIDAMM#a&&)1v{  $8$8A$>?  1vq!'<=	 / NM *)HHs#   H+H=I+
H:=
I
Ic                    U R                  5       nUR                  SSSSS5        UR                  " S
0 X0D6  U R                  UR                  SU5      S   U5        U R                  UR	                  SU5      U5        U R                  [        S5         UR                  " S
0 US	0D6  S S S 5        g ! , (       d  f       g = f)Nr  rX  r  rY  r{  r   r   zunknown color name "spam"r>  )r   )r!   r  rr  r"   r  rT  r   )r(   r   r  r)   s       r   check_itemconfigureListboxTest.check_itemconfigure  s    eS#sC004-0--a6q95AD159##H.IJ  5tVn5 KJJs   B44
Cc                 (    U R                  SS5        g )NrK   #ff0000r  rU  s    r   test_itemconfigure_background)ListboxTest.test_itemconfigure_background        y9r   c                 (    U R                  SS5        g )Nbgr  r  rU  s    r   test_itemconfigure_bg!ListboxTest.test_itemconfigure_bg        y1r   c                 (    U R                  SS5        g )Nfg#110022r  rU  s    r   test_itemconfigure_fg!ListboxTest.test_itemconfigure_fg  r  r   c                 (    U R                  SS5        g )Nr   r  r  rU  s    r   test_itemconfigure_foreground)ListboxTest.test_itemconfigure_foreground  r  r   c                 (    U R                  SS5        g )Nrg  r  r  rU  s    r   #test_itemconfigure_selectbackground/ListboxTest.test_itemconfigure_selectbackground        !3Y?r   c                 (    U R                  SS5        g )Nri  z#654321r  rU  s    r   #test_itemconfigure_selectforeground/ListboxTest.test_itemconfigure_selectforeground  r  r   c                 R   U R                  5       nUR                  " S/S [        S5       5       Q76   UR                  5         U R	                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  [        UR
                  S5        U R                  [        UR
                  S 5        U R                  [        UR
                  5        U R                  [        UR
                  SS5        g )Nr   c              3   ,   #    U  H
  nS U-  v   M     g7fzel%dNrB   r3  s     r   r5  'ListboxTest.test_box.<locals>.<genexpr>       48avz8   r   r  r;  r  r7   )
r!   r  r   r   r  r  r  r@  r   r  r(   lbs     r   test_boxListboxTest.test_box  s    [[]
		!545845
	  ,"''"+&"''"+&(BGGY7(BGGT2)RWW-)RWWa3r   c                 r   U R                  5       nUR                  " S/S [        S5       5       Q76   UR                  S[        R
                  5        UR                  SS5        UR                  S5        U R                  UR                  5       S5        U R                  [        UR                  S5        g )Nr   c              3   ,   #    U  H
  nS U-  v   M     g7fr  rB   r3  s     r   r5  0ListboxTest.test_curselection.<locals>.<genexpr>+  r  r  r   r   r   rz  )r   r  r   rz  )r!   r  r   r  r]   ENDselection_setr"   curselectionr@  r  r  s     r   test_curselectionListboxTest.test_curselection)  s    [[]
		!545845
1gkk*
A
*L9)R__a8r   c                 T   U R                  5       nUR                  " S/S [        S5       5       Q76   U R                  UR	                  S5      S5        U R                  UR	                  S5      S5        U R                  UR	                  S5      S5        U R                  UR	                  S5      S	5        U R                  UR	                  S
5      S	5        U R                  UR	                  SS5      S5        U R                  UR	                  SS5      S5        U R                  UR	                  SS5      S5        U R                  UR	                  SS5      S5        U R                  [        UR                  S5        U R                  [        UR                  S 5        U R                  [        UR                  5        U R                  [        UR                  SS5        U R                  [        UR                  SSS5        U R                  [        UR                  S5        g )Nr   c              3   ,   #    U  H
  nS U-  v   M     g7fr  rB   r3  s     r   r5  'ListboxTest.test_get.<locals>.<genexpr>4  r  r  r   el0r  el3r  el7r/   r  r  )r  el4el5)r  el6r  rB   )r  r  r7   r   r  )r!   r  r   r"   r  r@  r   r  r  s     r   test_getListboxTest.test_get2  s   [[]
		!545845E*E*.B'R(1'<=5)+@A1r*1x0(BFFI6(BFFD1)RVV,(BFFE9=)RVVQ15(BFFC0r   rB   N)r$   rC   rD   rE   r~   r!   r^  r   r   test_configure_justifyrd  rk  r  r}  r  r  r  r  r  r  r  r  r  r  rG   rB   r   r   rU  rU    sy    	G4;
 )Aq12F2]2]^=
:C>>6:22:@@
491r   rU  c                   d    \ rS rSrSrSrS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)	ScaleTestiF  )r   rK   bigincrementrM   r   rN   digitsr   r   r  rP   rQ   rR   r   lengthorientrV   r   r   
resolution	showvaluesliderlengthsliderreliefr   rX   tickintervalr  troughcolorr   r[   verticalc                 D    [         R                  " U R                  40 UD6$ r   )r]   Scaler_   r`   s     r   r!   ScaleTest.createS  r   r   c                 N    U R                  5       nU R                  USSSS5        g )Nr  g(@g7@r\  r  r   s     r   test_configure_bigincrement%ScaleTest.test_configure_bigincrementV  s#    V^T4Dr   c                 L    U R                  5       nU R                  USSS5        g )Nr  r  r   rH  r   s     r   test_configure_digitsScaleTest.test_configure_digitsZ  s!    vxA6r   c           	          U R                  5       n[        U R                  5      S:  a  [        O[        nU R                  USSSSUS9  g )N)r   rz  r;  r  r3  -@333333.@r5  )r!   r   r_   r   r   r  )r(   r)   r6  s      r   r  ScaleTest.test_configure_from^  s?    )$))4
BuVVS$4Hr   c                 p    U R                  5       nU R                  USS5        U R                  USS5        g )Nr   r   r/   r  r   s     r   test_configure_labelScaleTest.test_configure_labelc  s-    6,r   c                 P    U R                  5       nU R                  USSSSS5        g )Nr     gffffff`@g33333`@5irT  r   s     r   test_configure_lengthScaleTest.test_configure_lengthh  s%    fhUE4Hr   c                 P    U R                  5       nU R                  USSSSS5        g )Nr  g@r   g@r{  r  r   s     r   test_configure_resolution#ScaleTest.test_configure_resolutionl  s%    V\33Cr   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_showvalue"ScaleTest.test_configure_showvaluep  s    v{3r   c           	      R    U R                  5       nU R                  USSSSSS5        g )Nr  r;  r  333333/@r  3mrT  r   s     r   test_configure_sliderlength%ScaleTest.test_configure_sliderlengtht  s*    fn $b$	8r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_sliderrelief%ScaleTest.test_configure_sliderreliefy  r  r   c           
          U R                  5       nU R                  USSSSS[        S9  U R                  USSS[        S	9  g )
Nr  r7   333333@ra  r   r5  r{  r   )r   r6  )r!   r  r   rg   r   s     r   test_configure_tickinterval%ScaleTest.test_configure_tickinterval}  sK    V^QS!"- 	 	/Q( 	 	*r   c           
      V    U R                  5       nU R                  USSSSS[        S9  g )Nr  i,  r  r  r  r5  )r!   r  r   r   s     r   r  ScaleTest.test_configure_to  s/    VT3dC"- 	 	/r   rB   N)r$   rC   rD   rE   r~   default_orientr!   r  r  r  r  r  r  r  r  r  r  r  rG   rB   r   r   r  r  F  sP    G  N2E7I
-
ID48
6*/r   r  c                   B    \ rS rSrSr\rSrSrS r	S r
S rS rS	 rS
rg)ScrollbarTesti  )r   activereliefrK   rM   r   rN   elementborderwidthrP   rQ   rR   jumpr  rV   r   r   rX   r  r[   Tr  c                 D    [         R                  " U R                  40 UD6$ r   )r]   	Scrollbarr_   r`   s     r   r!   ScrollbarTest.create  s      5f55r   c                     U R                  5       nU R                  USSSS5        [        S:  a  U R                  OSnU R	                  USSUS9  g )Nr  r  ffffff@1mr   r{  r   )r!   r  r   _default_pixelsrg   r(   r)   r   s      r   !test_configure_elementborderwidth/ScrollbarTest.test_configure_elementborderwidth  sM    f&:CdK+5+?4''R 4b8Lr   c           	      L    U R                  5       nU R                  USSSSSS9  g )Nr  r  
horizontalorientationT)fullnameallow_emptyr   r   s     r   test_configure_orient#ScrollbarTest.test_configure_orient  s.    FHj,%2 	 	Fr   c                 <   U R                  5       nS H4  nUR                  U5        U R                  UR                  5       U5        M6     UR                  S5        U R                  UR                  5       5        U R	                  [
        UR                  SS5        g )N)arrow1sliderarrow2r/   r  r
  )r!   activater"   r  r@  r  )r(   sbr   s      r   test_activateScrollbarTest.test_activate  sq    [[]/AKKNR[[]A. 0 	B"++-()R[[(HEr   c                    U R                  5       nUR                  SS5        U R                  UR                  5       S5        U R	                  [
        UR                  SS5        U R	                  [
        UR                  SS5        U R	                  [
        UR                  SS 5        U R	                  [        UR                  S5        U R	                  [        UR                  SSS5        g )	N皙?皙?)r  r  abcdefg333333?gffffff?g?)r!   r   r"   r  r@  r   r  )r(   r  s     r   test_setScrollbarTest.test_set  s    [[]
sC:.(BFFE59(BFFC7(BFFC6)RVVS1)RVVS#s;r   rB   N)r$   rC   rD   rE   r~   r   r   rS  r  r!   r  r  r  r  rG   rB   r   r   r  r    s6    G LJN6MF
F<r   r  c                      \ rS rSrSrSrS rS rS rS r	S r
\" S	S
S5      S 5       r\" S	S
S5      S 5       r\" S	S
S5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS  r S! r!S" r"S#r#g$)%PanedWindowTesti  )rK   rM   rN   	handlepad
handlesizerO   opaqueresizer  proxybackgroundproxyborderwidthproxyreliefrV   
sashcursorsashpad
sashrelief	sashwidth
showhandler[   r  c                 D    [         R                  " U R                  40 UD6$ r   )r]   PanedWindowr_   r`   s     r   r!   PanedWindowTest.create  r   r   c           	      R    U R                  5       nU R                  USSSSSS5        g )Nr  r  r`  ra  r  r  rT  r   s     r   test_configure_handlepad(PanedWindowTest.test_configure_handlepad  s'    fk1c3DIr   c                 P    U R                  5       nU R                  USSSSSSSS9  g )	Nr  r   g"@g333333%@r  2mFr5  rT  r   s     r   test_configure_handlesize)PanedWindowTest.test_configure_handlesize  s1    flAsD"d#( 	 	*r   c                 R    U R                  5       nU R                  USSSSSSSSS	9	  g )
NrO   r3  rC  rD  r4  r   rr  Fr5  rT  r   s     r   r9  %PanedWindowTest.test_configure_height  s3    fhUE4D#( 	 	*r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_opaqueresize+PanedWindowTest.test_configure_opaqueresize  s    v~6r   r   rz  r  c                 H    U R                  5       nU R                  US5        g )Nr  rr  r   s     r   test_configure_proxybackground.PanedWindowTest.test_configure_proxybackground  s    V%67r   c                 R    U R                  5       nU R                  USSSSSSSSS	9	  g )
Nr  r   rx  g333333@rz  r{  r|  Fr5  rT  r   s     r   test_configure_proxyborderwidth/PanedWindowTest.test_configure_proxyborderwidth  s5    f&8c1b%#( 	 	*r   c                 T    U R                  5       nU R                  US[        S:  S9  g )Nr  r   )r  )r!   r  r   r   s     r   test_configure_proxyrelief*PanedWindowTest.test_configure_proxyrelief  s-    fm+5+? 	 	Br   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_sashcursor)PanedWindowTest.test_configure_sashcursor      fl3r   c           	      R    U R                  5       nU R                  USSSSSS5        g )Nr  r   rx  ry  r{  r*  rT  r   s     r   test_configure_sashpad&PanedWindowTest.test_configure_sashpad  s'    fiCb$Gr   c                 H    U R                  5       nU R                  US5        g )Nr   r  r   s     r   test_configure_sashrelief)PanedWindowTest.test_configure_sashrelief  r>  r   c                 P    U R                  5       nU R                  USSSSSSSS9  g )	Nr!  r;  g333333&@r  r  r  Fr5  rT  r   s     r   test_configure_sashwidth(PanedWindowTest.test_configure_sashwidth  s1    fk2tT2t#( 	 	*r   c                 H    U R                  5       nU R                  US5        g )Nr"  r  r   s     r   test_configure_showhandle)PanedWindowTest.test_configure_showhandle   s    v|4r   c                 R    U R                  5       nU R                  USSSSSSSSS	9	  g )
Nr[   rI  fffff6y@皙Iy@rJ  r   r  Fr5  rT  r   s     r   rK  $PanedWindowTest.test_configure_width  s3    fgsE5$4#( 	 	*r   c                     U R                  5       n[        R                  " U5      n[        R                  " U5      nUR                  U5        UR                  U5        XU4$ r   )r!   r]   r   addr(   pr  rY  s       r   create2PanedWindowTest.create2	  sH    KKMNN1NN1	a	aQwr   c                    U R                  5       u  pnU R                  [        UR                  5        UR                  U5      nU R	                  U[
        5        UR                  5        Hd  u  pVU R                  [        U5      S5        U R                  XaR                  X%5      5        U R                  US   UR                  X%5      5        Mf     g )Nr  r   )
rS  r@  r  paneconfigurer;  ru  rv  r"   r   panecget)r(   rR  r  rY  r{  r|  r  s          r   test_paneconfigure"PanedWindowTest.test_paneconfigure  s    ,,.a)Q__5OOAa&GGIDASVQ'Q 56QqT1::a#34 r   c                     U R                   (       d  [        U5      nUR                  " U40 X40D6  U R                  UR                  X#5      S   U5        U R                  UR	                  X#5      U5        g )Nr   )r:   r   rV  r"   rW  )r(   rR  r  r   r  r   s         r   check_paneconfigure#PanedWindowTest.check_paneconfigure  s^    8}H	+d]+1!4h?A,h7r   c                     U R                  [        U5         UR                  " U40 US0D6  S S S 5        g ! , (       d  f       g = f)NbadValue)rT  r   rV  )r(   rR  r  r   msgs        r   check_paneconfigure_bad'PanedWindowTest.check_paneconfigure_bad"  s4    ##Hc2OOA4$
!34 322s	   6
Ac           	          U R                  5       u  pnU R                  XSU[        U5      5        U R                  XSS5        g )Nafterbad window path name "badValue"rS  r[  r   r`  rQ  s       r   test_paneconfigure_after(PanedWindowTest.test_paneconfigure_after&  s?    ,,.a  w3q6:$$Q7%F	Hr   c           	          U R                  5       u  pnU R                  XSU[        U5      5        U R                  XSS5        g )Nbeforerd  re  rQ  s       r   test_paneconfigure_before)PanedWindowTest.test_paneconfigure_before,  s?    ,,.a  xCF;$$Q8%F	Hr   c                     U R                  5       u  pnU R                  XSSS5        U R                  XS[        R	                  S5      5        g )NrO   r;  r^  rS  r[  r`  (EXPECTED_SCREEN_DISTANCE_OR_EMPTY_ERRMSGr  rQ  s       r   test_paneconfigure_height)PanedWindowTest.test_paneconfigure_height2  sF    ,,.a  xR8$$Q88??
K	Mr   c                 x    U R                  5       u  pnU R                  XSSS5        U R                  XSS5        g )NhideFr   z)expected boolean value but got "badValue"rS  r[  r`  rQ  s       r   test_paneconfigure_hide'PanedWindowTest.test_paneconfigure_hide8  s;    ,,.a  vua8$$Q6%P	Rr   c                     U R                  5       u  pnU R                  XSSS5        U R                  XS[        R	                  S5      5        g )Nminsizer;  r^  rS  r[  r`  ry  r  rQ  s       r   test_paneconfigure_minsize*PanedWindowTest.test_paneconfigure_minsize>  sF    ,,.a  y"b9$$Q9/66zB	Dr   c                     U R                  5       u  pnU R                  XSSS5        U R                  XS[        R	                  S5      5        g )NrT   rx  r7   r^  rx  rQ  s       r   test_paneconfigure_padx'PanedWindowTest.test_paneconfigure_padxD  F    ,,.a  vsA6$$Q6/66zB	Dr   c                     U R                  5       u  pnU R                  XSSS5        U R                  XS[        R	                  S5      5        g )NrU   rx  r7   r^  rx  rQ  s       r   test_paneconfigure_pady'PanedWindowTest.test_paneconfigure_padyJ  r~  r   c                 x    U R                  5       u  pnU R                  XSSS5        U R                  XSS5        g )Nstickynsewneswz[bad stickyness value "badValue": must be a string containing zero or more of n, e, s, and wrs  rQ  s       r   test_paneconfigure_sticky)PanedWindowTest.test_paneconfigure_stickyP  s<    ,,.a  x@$$Q8&6	7r   c                 x    U R                  5       u  pnU R                  XSSS5        U R                  XSS5        g )NstretchalwalwayszEbad stretch "badValue": must be always, first, last, middle, or neverrs  rQ  s       r   test_paneconfigure_stretch*PanedWindowTest.test_paneconfigure_stretchX  s>    ,,.a  y%B$$Q9&M	Nr   c                     U R                  5       u  pnU R                  XSSS5        U R                  XS[        R	                  S5      5        g )Nr[   r;  r^  rm  rQ  s       r   test_paneconfigure_width(PanedWindowTest.test_paneconfigure_width_  sF    ,,.a  wB7$$Q78??
K	Mr   rB   N)$r$   rC   rD   rE   r~   r  r!   r'  r+  r9  r0  r   r3  r6  r9  r<  r@  rC  rF  rI  rK  rS  rX  r[  r`  rf  rj  ro  rt  ry  r|  r  r  r  r  rG   rB   r   r   r  r    s    G "N8J*
*
7 Aq8 8 Aq* * AqB B
4H4*
5*
585HHMRDDD7NMr   r  c                       \ rS rSrSrSrS rS r\" SS5      " \	R                  5      r
S rS	 rS
 rS rS rS rS rS rSrg)MenuTestif  )r   activeborderwidthr   r  rK   rM   rN   r   r   r   postcommandrV   r   rX   tearofftearoffcommandr%   typeFc                 D    [         R                  " U R                  40 UD6$ r   )r]   rf   r_   r`   s     r   r!   MenuTest.creater  r&  r   c                 h    U R                  5       nUR                  S5      nU R                  U5        g )Nr  )r!   indexr  )r(   r)   r  s      r   test_indexcommand_noneMenuTest.test_indexcommand_noneu  s)    LL !r   r   r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_postcommand#MenuTest.test_configure_postcommand|  r.  r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_tearoffMenuTest.test_configure_tearoff  r  r   c                 H    U R                  5       nU R                  US5        g )Nr  r  r   s     r   test_configure_tearoffcommand&MenuTest.test_configure_tearoffcommand  r*  r   c                 J    U R                  5       nU R                  USS5        g )Nr%   r   r  r   s     r   test_configure_titleMenuTest.test_configure_title  s    6r   c                 t    U R                  5       nSnU R                  " US/UQ7[        S:  [        S:  S.6  g )N)r   r  menubarr  r   )r  sort)r!   r   r   )r(   r)   rQ  s      r   test_configure_typeMenuTest.test_configure_type  s@    1FF 	7V 	7(2V(;!+v!5	7r   c                    U R                  5       nUR                  SS9  U R                  [        UR                  5        U R                  [        S5         UR	                  S5        S S S 5        UR	                  S5      nU R                  U[        5        UR                  5        H  u  p4U R                  U[        5        U R                  U[        5        U R                  [        U5      S5        U R                  US   U5        U R                  UR                  SU5      US   5        M     UR                  5         g ! , (       d  f       N= f)	Nr  r   zbad menu entry index "foo"r   r7   r  r   r   )r!   add_commandr@  r  entryconfigurerT  r   r;  ru  rv  r   tupler"   r   	entrycgetr   )r(   m1r{  r|  r  s        r   test_entryconfigureMenuTest.test_entryconfigure  s   [[]
V$)R%6%67##H.JKe$ La a&GGIDA!!!S)!!!U+SVQ'QqT1%R\\!Q/16  	

 LKs   E
Ec                     U R                  5       nUR                  SS9  U R                  UR                  SS5      S5        UR	                  SSS9  U R                  UR                  SS5      S5        g )Nr  r  r7   r   changed)r!   r  r"   r  r  )r(   r  s     r   test_entryconfigure_label"MenuTest.test_entryconfigure_label  sd    [[]
V$a16:
!9-a19=r   c                    U R                  5       n[        R                  " U R                  5      n[        R                  " U R                  5      nUR	                  USSSS9  U R                  [        UR                  SS5      5      [        U5      5        UR                  SUS9  U R                  [        UR                  SS5      5      [        U5      5        g )NTFNonsense)r   r   r   r   r7   r   )r   )	r!   r]   
BooleanVarr_   add_checkbuttonr"   r   r  r  )r(   r  v1v2s       r   test_entryconfigure_variable%MenuTest.test_entryconfigure_variable  s    [[]		*		*
Bu!+ 	 	-R\\!Z893r7C
!b)R\\!Z893r7Cr   rB   N)r$   rC   rD   rE   r~   r   r!   r  r   r   test_configure_activereliefr  r  r  r  r  r  r  r  rG   rB   r   r   r  r  f  s^    G L1
 #.a"34H4d4d"e62977 >Dr   r  c                   ^    \ rS rSrSrSr\S:  a  Sr\S:  r\S:  r	S r
S rS rS rS	 rS
rg)MessageTesti  )r   aspectrK   rM   rN   r   r   rP   rQ   rR   r   rT   rU   rV   rX   r   r   r[   Fr   c                 D    [         R                  " U R                  40 UD6$ r   )r]   Messager_   r`   s     r   r!   MessageTest.create  r  r   c                 N    U R                  5       nU R                  USSSS5        g )Nr     r   irH  r   s     r   test_configure_aspect!MessageTest.test_configure_aspect  s#    vxa>r   c           
          U R                  5       nU R                  USSSSSU R                  S9  U R                  (       a  U R                  OSnU R                  USSUS9  g )	NrT   r  皙@r  12mr5  r{  r   r!   r  rF   r   r  rg   r  s      r   test_configure_padxMessageTest.test_configure_padx  \    ffac5#'#8#8 	 	:+/>>4''rX>r   c           
          U R                  5       nU R                  USSSSSU R                  S9  U R                  (       a  U R                  OSnU R                  USSUS9  g )	NrU   r  r  r  r  r5  r{  r   r  r  s      r   test_configure_padyMessageTest.test_configure_pady  r  r   c           	          U R                  5       nU R                  USSSSSS5        [        S:  a  SOSnU R                  USSUS	9  g )
Nr[   rI  rL  rM  r   r  r   rJ  r   )r!   r  r   rg   r  s      r   rK   MessageTest.test_configure_width  sI    fgsE5!TJ"f,1$Ar   rB   N)r$   rC   rD   rE   r~   rF   r   r   r   r   r!   r  r  r  rK  rG   rB   r   r   r  r    sM    G Vf$I"f,4???Br   r  c                        \ rS rSrS rS rSrg)DefaultRootTesti  c                 B    U R                  [        R                  5        g r   )_test_widgetr]   r   rU  s    r   
test_frameDefaultRootTest.test_frame      '--(r   c                 B    U R                  [        R                  5        g r   )r  r]   r   rU  s    r   
test_labelDefaultRootTest.test_label  r  r   rB   N)r$   rC   rD   rE   r  r  rG   rB   r   r   r  r    s    ))r   r  __main__).unittestr]   r   rp   test.supportr   test.test_tkinter.supportr   r   r   r   r	   test.test_tkinter.widget_testsr
   r   r   r   r   ry  rn  r   r   TestCaserI   r   r   r   r   r   r   r  r%  rN  r[  r  r  r  rU  r  r  r  r  r  r  r$   mainrB   r   r   <module>r     s      	 !; ;P P 	 #S +a ("7-~ "7J *+'2'):): '2 ,'2T *+	2$h&7&7 	2 ,	2 *+)8+<+<  ,6-*,< - *+2!8#4#4 2 ,2 *+O"H$5$5 O ,O( *+3%'):): 3% ,3%l *+D'):): D ,D, *+3H&(9(9 3H ,3Hl?^X%6%6 ? &(<=Y#"H$5$5 Y# >Y#x *+EC)X.. EC ,ECP *+E@!8#4#4 E@ ,E@P n&:;}3#X%6%6 }3 <}3@ &(<=F1$h&7&7 F1 >F1R n&:;@/"H$5$5 @/ <@/F n&:;-<&(9(9 -< <-<` *+gM((*;*; gM ,gMT *+KD!8#4#4 KD ,KD\ n&:;'B$h&7&7 'B <'BT)-x/@/@ ) zMMO r   