
    ;bh                    f   d dl Z d dlZd dlmZmZ d dlmZmZ d dlZd dlm	Z	 d dl
mZmZmZmZmZmZ d dlmZmZmZmZmZ  ed        G d d	e      Z G d
 dee j0                        Z G d dee      Z ee       G d dee j0                               Z ee       G d dee j0                               Z G d de      Z ee       G d dee j0                               Z ee       G d dee j0                               Z ee       G d dee j0                               Z  eee       G d dee j0                               Z! eee       G d de!e j0                               Z" eee       G d dee j0                               Z# ee       G d  d!ee j0                               Z$ G d" d#ee j0                        Z% ee       G d$ d%ee j0                               Z& ee       G d& d'ee j0                               Z' e jP                  ejR                  d(k(  d)       ee       G d* d+ee j0                                      Z* ee       G d, d-ee j0                               Z+ eee       G d. d/e!e j0                               Z, ee       G d0 d1ee j0                               Z- ee       G d2 d3ee j0                               Z. ee       G d4 d5ee j0                               Z/ G d6 d7ee j0                        Z0ee e"e!eeee%e+e#e'e$e&e*e.e/e,e-ee0fZ1e2d8k(  r e jf                          yy)9    N)ttkTclError)requires
gc_collect)
MockTclObj)AbstractTkTestrequires_tk
tk_versionget_tk_patchlevelsimulate_mouse_clickAbstractDefaultRootTest)add_standard_optionsAbstractWidgetTestStandardOptionsTestsIntegerSizeTestsPixelSizeTestsguic                   *    e Zd Zd Zd Zd Zd Zd Zy)StandardTtkOptionsTestsc                     | j                         }| j                  |d   d       d}t        | j                        dk  rd}| j	                  |dd|       | j                  d      }| j                  |d   d       y )	Nclass "attempt to change read-only option      r   beta   "Attempt to change read-only optionFooerrmsgclass_)createassertEqualr   rootcheckInvalidParamselfwidgetr"   widget2s       D/opt/python-3.12.12/usr/lib/python3.12/test/test_ttk/test_widgets.pytest_configure_classz,StandardTtkOptionsTests.test_configure_class   sy    "-3TYY'*>>7FvwfE++U++)51    c                      j                         }t         j                        dk  r fd}nd } j                  |ddd|        j                  |ddd|        j                  |dd	d	|        j                  |dd
d
|        j                  |ddd|        j                  |dd        j                  |ddd       y )N)r   r      c                 b    j                  | t               t        t        t        |             S N)assertIsInstancetuplemapstr)valuer*   s    r-   padding_convzDStandardTtkOptionsTests.test_configure_padding.<locals>.padding_conv    s$    %%eU3Se_--r/   paddingr   )r   )expectedconv   )r=   )r=   r   )r=   r      )r=   r   r>   r   )5p6p7p8p r   r;   )r%   r   r'   
checkParam)r*   r+   r9   s   `  r-   test_configure_paddingz.StandardTtkOptionsTests.test_configure_padding   s    TYY'*4.  L	1t,O	1t,O	6!'l 	 	<	9!* 	 	?	<!-L 	 	B	+CD	2;r/   c                 N    | j                         }| j                  |dddd       y )Nstateactivedisabledreadonlyr%   checkParamsr*   r+   s     r-   test_configure_statez,StandardTtkOptionsTests.test_configure_state0   s#    (J
Kr/   c                    | j                         }| j                  |d   d       d}t        | d      rdt        | d      j	                         z  }| j                  |dd|       | j                  d      }| j                  |d	   d       y )
Nstyler   zLayout Foo not founddefault_orientzLayout %s.Foo not foundr    r!   r#   r   )r%   r&   hasattrgetattrtitler(   r)   s       r-   test_configure_stylez,StandardTtkOptionsTests.test_configure_style4   s    "-'4)*/d$45;;=>Fvw 	 	++U++)51r/   c                 Z    | j                         }| j                  |dt        dk\         y )Nreliefr   r>   )allow_empty)r%   checkReliefParamr
   rN   s     r-   test_configure_reliefz-StandardTtkOptionsTests.test_configure_reliefA   s-    fh+5+? 	 	Br/   N)__name__
__module____qualname__r.   rF   rO   rV   r\   rC   r/   r-   r   r      s    2<&L
2Br/   r   c                   .     e Zd ZdZ fdZd Zd Z xZS )
WidgetTestz,Tests methods available in every ttk widget.c                     t         |           t        j                  | j                  dd      | _        | j
                  j                          y )Nr   Text)widthtext)supersetUpr   Buttonr'   r+   packr*   	__class__s    r-   rg   zWidgetTest.setUpJ   s4    jj!&Ar/   c           	         | j                   j                          | j                  | j                   j                  t	        | j                   j                         dz        t	        | j                   j                         dz              d       | j                  | j                   j                  dd      d       | j                  t        j                  | j                   j                  d d       | j                  t        j                  | j                   j                  dd        | j                  t        j                  | j                   j                  dd       y )N   labelr   r=   )
r+   updater&   identifyintwinfo_widthwinfo_heightassertRaisestkinterr   r*   s    r-   test_identifyzWidgetTest.test_identifyO   s    --'')A-.((*Q./ 	 	--b"5r:'**DKK,@,@$J'**DKK,@,@!TJ'**DKK,@,@!RHr/   c                    | j                  | j                  j                         d       | j                  | j                  j                  dg      d       | j                  | j                  j                  dg      d       | j                  | j                  j                  dg      d       | j                  | j                  j                  ddg      d       | j                  | j                  j                  ddg      d       | j                  | j                  j                  ddg      d       d }| j                   | j                  j                  dg|d	fi d
did	d
dif       | j                  j                         }| j	                  t
        j                  | j                  j                  dg       | j	                  t
        j                  | j                  j                  ddg       | j                  || j                  j                                | j                  j                  ddg       | j                  | j                  j                         d       y )NrC   	!disabledTrJ   )rz   rI   )z!activerJ   c                 
    | |fS r3   rC   )arg1kws     r-   test_cbz-WidgetTest.test_widget_state.<locals>.test_cbk   s    8Or/   himsgtherebadstate)rI   )r&   r+   rH   instateru   rv   r   )r*   r~   	currstates      r-   test_widget_statezWidgetTest.test_widget_state[   s   **,b1,,k];TB 	**J<8/J**J<8"=**K+BC#	% 	**K+BCRH**Hk+BCRH	,,,k]T/#W-/E7#$	&
 KK%%'	'**DKK,?,?L	'**DKK,?,?$	& 	DKK$5$5$78 	8[12**,l;r/   )r]   r^   r_   __doc__rg   rx   r   __classcell__rk   s   @r-   ra   ra   G   s    6

I!<r/   ra   c                       e Zd ZdZy)AbstractToplevelTestFN)r]   r^   r_   _conv_pixelsrC   r/   r-   r   r      s    Lr/   r   c                       e Zd ZdZd Zy)	FrameTest)	borderwidthr   cursorheightr:   rX   rQ   	takefocusrd   c                 B    t        j                  | j                  fi |S r3   )r   Framer'   r*   kwargss     r-   r%   zFrameTest.create       yy-f--r/   Nr]   r^   r_   OPTIONSr%   rC   r/   r-   r   r      s    G.r/   r   c                   "    e Zd ZdZd Zd Zd Zy)LabelFrameTest)r   r   r   r   labelanchorlabelwidgetr:   rX   rQ   r   re   	underlinerd   c                 B    t        j                  | j                  fi |S r3   )r   
LabelFramer'   r   s     r-   r%   zLabelFrameTest.create       ~~dii2622r/   c                     | j                         }| j                  |ddddddddd	d
dddd       | j                  |dd       y )Nr   eenesnnenwsseswwwnwsz!Bad label anchor specification {}r!   center)r%   checkEnumParamr(   rN   s     r-   test_configure_labelanchorz)LabelFrameTest.test_configure_labelanchor   sT    FMT4dD#tT3d: 	 	< 	v}h?r/   c                     | j                         }t        j                  | j                  dd      }| j	                  |d|d       |j                          y )NMuppfoo)re   namer   z.foorD   )r%   r   Labelr'   rE   destroy)r*   r+   rn   s      r-   test_configure_labelwidgetz)LabelFrameTest.test_configure_labelwidget   s@    		$))&u=uvFr/   N)r]   r^   r_   r   r%   r   r   rC   r/   r-   r   r      s    G3@r/   r   c                   T    e Zd ZdZd Zd Z  edd      ej                        Zd Z	y)AbstractLabelTestTc                    t        j                  | j                  d      }t        j                  | j                  d      }| j                  |||d       | j                  ||dd       | j                  |||fd       | j                  |||d|fd       | j                  ||dd       | j	                  ||d	d
       y )Nimage1)masterr   image2)r   rD   rI   )r   rI   r   zimage1 active image2spamzimage "spam" doesn't existr!   )rv   
PhotoImager'   rE   r(   )r*   r+   r   imager   s        r-   checkImageParamz!AbstractLabelTest.checkImageParam   s    ""$))(C##4998DekBhEuhEuh&?!? 	 	A&<!? 	 	AvtV4 	 	6r/   c                 r    d}t         dk\  r|dz  }| j                         } | j                  |dg|ddi y )N)nonere   r   r   topbottomleftrightrY   )r   compoundrZ   T)r
   r%   r   )r*   valuesr+   s      r-   test_configure_compoundz)AbstractLabelTest.test_configure_compound   s?    VeOFFJJJTJr/   r   r>   c                 N    | j                         }| j                  |dddd       y )Nrd     nr   rL   rN   s     r-   test_configure_widthz&AbstractLabelTest.test_configure_width   s#    #tQ7r/   N)
r]   r^   r_   _allow_empty_justifyr   r   r	   r   test_configure_justifyr   rC   r/   r-   r   r      s5    6K /[A./C/Z/Z[8r/   r   c                   <    e Zd ZdZdZedk\  Zd Zej                  Z	y)	LabelTest)anchor
backgroundr   r   r   r   font
foregroundr   justifyr:   rX   rH   rQ   r   re   textvariabler   rd   
wraplengthFrY   c                 B    t        j                  | j                  fi |S r3   )r   r   r'   r   s     r-   r%   zLabelTest.create   r   r/   N)
r]   r^   r_   r   r   r
   r   r%   r   r   rC   r/   r-   r   r      s.    G L%/. 2HHr/   r   c                   "    e Zd ZdZd Zd Zd Zy)
ButtonTest)r   commandr   r   defaultr   r   r:   rH   rQ   r   re   r   r   rd   c                 B    t        j                  | j                  fi |S r3   )r   rh   r'   r   s     r-   r%   zButtonTest.create   s    zz$)).v..r/   c                 d    | j                         }d} | j                  |dg|dt        dk\  i y )N)normalrI   rJ   r   sortrY   r%   r   r
   r*   r+   r   s      r-   test_configure_defaultz!ButtonTest.test_configure_default   s:    1FI 	7 	7!+v!5	7r/   c                     g t        j                  | j                  fd      }|j                          | j	                         y )Nc                  &     j                  d      S N   appendsuccesss   r-   <lambda>z(ButtonTest.test_invoke.<locals>.<lambda>   s    GNN14Er/   r   )r   rh   r'   invoke
assertTrue)r*   btnr   s     @r-   test_invokezButtonTest.test_invoke   s2    jj,EF

 r/   N)r]   r^   r_   r   r%   r   r   rC   r/   r-   r   r      s    G/7!r/   r   c                   4    e Zd ZdZd Zd Zd Zd Zd Zd Z	y)	CheckbuttonTest)r   r   r   r   r   r   offvalueonvaluer:   rH   rQ   r   re   r   r   variablerd   c                 B    t        j                  | j                  fi |S r3   )r   Checkbuttonr'   r   s     r-   r%   zCheckbuttonTest.create       tyy3F33r/   c                 P    | j                         }| j                  |ddddd       y )Nr   r   ffffff@r   
any stringrL   rN   s     r-   test_configure_offvaluez'CheckbuttonTest.test_configure_offvalue   s%    QRFr/   c                 P    | j                         }| j                  |ddddd       y )Nr   r   r   r   r   rL   rN   s     r-   test_configure_onvaluez&CheckbuttonTest.test_configure_onvalue  s%    AsBEr/   c                    g fd}t        j                  | j                  |      }| j                  |j	                         d       | j                  t        j                  |j                  j                  |d          |j                         }| j                  |d       | j                  |d   |j                  j                  |d                | j                         d|d<   |j                         }t        d	k\  r| j                  r| j                  |d
       n| j                  t        |      d       | j                  t!              d       | j                  |d   |j                  j                  |d                y )Nc                  (     j                  d       yNr   cb test calledr   r   s   r-   cb_testz,CheckbuttonTest.test_invoke.<locals>.cb_test
      NN1#r/   r   )	alternater   r  r   r   r   rY   rC   r   r   )r   r   r'   r&   rH   ru   rv   r   tkglobalgetvarr   r   r
   wantobjectsr7   assertLessEquallen)r*   r  cbtnresr   s       @r-   r   zCheckbuttonTest.test_invoke  sB   	$ tyy': 	7'**DGG,@,@	 kkm./iGG  j!12	4 YkkmD$4$4S"%SXr*S\1-j)GG  j!12	4r/   c                    g }g }t        d      D ]  }t        j                  | j                        }|j	                          |j                  |       dD ]:  }t        j                  ||      }|j	                          |j                  |       <  |D cg c]  }t        |d          }}| j                  t        t        |            d|       y c c}w )Nrm   ABre   r      )ranger   r   r'   ri   r   r   r7   r&   r  set)r*   framesbuttonsifjb	variabless           r-   test_unique_variablesz%CheckbuttonTest.test_unique_variables%  s    qA		$))$AFFHMM!OOAA.q! 	  299AS:'	9S^,a; :s   Cc                    g }t        j                  | j                        }|j                          t        j                  | j                        }|j                          dD ]:  }t	        j
                  ||      }|j                          |j                  |       < t        d      D ]C  }t        j
                  |t        |            }|j                          |j                  |       E |D cg c]  }t        |       }}| j                  t        t        |            t        |      |       |D cg c]  }t        |d          }}| j                  t        t        |            t        |      |       y c c}w c c}w )Nr  r  d   r   )r   r   r'   ri   rv   r   r   r  r7   r&   r  r  )r*   r  r  r  r  namesr  s          r-   test_unique_variables2z&CheckbuttonTest.test_unique_variables23  s#   IIdii 	IIdii 	A##AA.AFFHNN1  sAA/AFFHNN1  "))AQ)SZ#g,>189AS:'	9S^,c'lIF *9s   5F;FN)
r]   r^   r_   r   r%   r   r  r   r  r!  rC   r/   r-   r   r      s*    G4GF4:<Gr/   r   c                   f     e Zd ZdZddhZ fdZd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Z xZS )	EntryTest)r   r   r   exportselectionr   r   invalidcommandr   placeholderplaceholderforegroundshowrH   rQ   r   r   validatevalidatecommandrd   xscrollcommandzEntry.fieldtextareac                 L    t         |           | j                         | _        y r3   )rf   rg   r%   entryrj   s    r-   rg   zEntryTest.setUpV      [[]
r/   c                 B    t        j                  | j                  fi |S r3   )r   Entryr'   r   s     r-   r%   zEntryTest.createZ  r   r/   c                 H    | j                         }| j                  |d       y )Nr%  r%   checkCommandParamrN   s     r-   test_configure_invalidcommandz'EntryTest.test_configure_invalidcommand]  s    v'78r/   c                     | j                         }| j                  |dd       | j                  |dd       | j                  |dd       y )Nr(  *r    r%   rE   rN   s     r-   test_configure_showzEntryTest.test_configure_showa  s=    ,+,r/   c           
      T    | j                         }| j                  |ddddddd       y )Nr)  allkeyfocusfocusinfocusoutr   r%   r   rN   s     r-   test_configure_validatez!EntryTest.test_configure_validateg  s-    FJugy*f	Fr/   c                 H    | j                         }| j                  |d       y )Nr*  r3  rN   s     r-   test_configure_validatecommandz(EntryTest.test_configure_validatecommandl  s    v'89r/   c                 ,   | j                  | j                  j                  d             | j                  t        j
                  | j                  j                  d       | j                  t        j
                  | j                  j                  d        y )Nr   noindex)assertIsBoundingBoxr.  bboxru   rv   r   rw   s    r-   	test_bboxzEntryTest.test_bboxp  s]      !34'**DJJOOYG'**DJJOOTBr/   c                 t   | j                   j                          | j                   j                          | j                  | j                   j	                  dd      | j
                         | j                  | j                   j	                  dd      d       | j                  t        j                  | j                   j                  d d       | j                  t        j                  | j                   j                  dd        | j                  t        j                  | j                   j                  dd       y )Nr=   ro   r   )
r.  ri   rp   assertInrq   IDENTIFY_ASr&   ru   rv   r   rw   s    r-   rx   zEntryTest.test_identifyu  s    



djj))!Q/1A1AB,,R4b9'**DJJ,?,?qI'**DJJ,?,?DI'**DJJ,?,?BGr/   c                    g fd}d| j                   d<   d | j                   d<   || j                   d<   | j                   j                          | j                         d| j                   d<   | j                   j                          | j                  t	              d       || j                   d<   d	 | j                   d<   | j                   j                          | j                  t	              d       d| j                   d<   | j                   j                          | j                  t	              d       d
| j                   d<   | j                  t        j                  | j                   j                         y )Nc                  &     j                  d      S NTr   r   s   r-   r   z3EntryTest.test_validation_options.<locals>.<lambda>  s    w~~d3r/   r   r)  c                       y)NFrC   rC   r/   r-   r   z3EntryTest.test_validation_options.<locals>.<lambda>  s    r/   r*  r%  r   r   c                       yrO  rC   rC   r/   r-   r   z3EntryTest.test_validation_options.<locals>.<lambda>  s    r/   T)r.  r)  r   r&   r  ru   rv   r   )r*   test_invalidr   s     @r-   test_validation_optionsz!EntryTest.test_validation_options  s,   3!'

:(5

$%'3

#$

 ')

#$

Wq)'3

#$(4

$%

Wq)(*

$%

Wq)(,

$%'**DJJ,?,?@r/   c                 r   g fd}d| j                   d<   | j                   j                  |      df| j                   d<   | j                   j                  dd       | j                   j                  dd       | j                  d	d
g       | j                  | j                   j	                         d       y )Nc                     d| j                         cxk  rdk  sn j                  d       yj                  d       yNazFT)lowerr   )	to_insert
validations    r-   r)  z+EntryTest.test_validation.<locals>.validate  s9    )//+2s2!!%(d#r/   r=  r)  z%Sr*  endr   rW  FT)r.  registerinsertr&   get)r*   r)  r[  s     @r-   test_validationzEntryTest.test_validation  s    
	 "'

:(,

(;(;H(Et(K

$%

%#

%%eT]3)3/r/   c                    d }| j                   j                  |      df| j                   d<   | j                   j                  dd       | j                  | j                   j	                         d       | j                  | j                   j                         d       | j                   j                  dd       | j                  | j                   j                         d	       | j                   j                  dd
       | j                  | j                   j	                         d       | j                  | j                   j                         d       | j                   j                  d       | j                  | j                   j	                         d       | j                  | j                   j                         d       y )Nc                 N    | D ]   }d|j                         cxk  rdk  r y  y yrV  )rY  )contentletters     r-   r)  z-EntryTest.test_revalidation.<locals>.validate  s/    !flln33  4  " r/   z%Pr*  r\  avocadoTrC   r   r   a1bF)invalidr   )r.  r]  r^  r&   r)  rH   deleter_  )r*   r)  s     r-   test_revalidationzEntryTest.test_revalidation  sC   	 )-

(;(;H(Et(K

$%

%+,,.5))+R0

!U#)2.

%',,.6))+];

!,,.5))+R0r/   )r]   r^   r_   r   rL  rg   r%   r5  r:  rB  rD  rI  rx   rS  r`  ri  r   r   s   @r-   r#  r#  I  sQ    G !*-K#.9-F
:C
	HA60"1r/   r#  c                   N     e Zd ZdZddhZ fdZd Zd Zd Zd Z	d	 Z
d
 Z xZS )ComboboxTest)r   r   r   r$  r   r   r   r%  r   r&  r'  postcommandr(  rH   rQ   r   r   r)  r*  r   rd   r+  zCombobox.buttonr,  c                 L    t         |           | j                         | _        y r3   )rf   rg   r%   comborj   s    r-   rg   zComboboxTest.setUp  r/  r/   c                 B    t        j                  | j                  fi |S r3   )r   Comboboxr'   r   s     r-   r%   zComboboxTest.create      ||DII000r/   c           
      T    | j                         }| j                  |ddddddd       y )Nr   r  LY@fffffY@r   1irL   rN   s     r-   test_configure_heightz"ComboboxTest.test_configure_height  s)    3udAtLr/   c                 p   | j                   j                         }|dz
  d}}t        j                  dk7  r,| j	                  | j                   j                  ||      d       | j                   j                  d||       | j                   j                  d||       | j                   j                          y )Nr=   darwin.*downarrow\Z<ButtonPress-1>xy<ButtonRelease-1>)rn  rs   sysplatformassertRegexrq   event_generateupdate_idletasks)r*   rd   r}  r~  s       r-   _show_drop_down_listboxz$ComboboxTest._show_drop_down_listbox  s    

&&(qy!1<<8#TZZ00A68HI

!!"3qA!>

!!"5a!@

##%r/   c                    g dg| j                   d<   | j                   j                  dfd       | j                   j                          | j                   j                          | j                   j	                         }| j                          | j                   j                          | j                   j                  d       | j                   j                          | j                         y )Nr   r   z<<ComboboxSelected>>c                 &    j                  d      S rO  r   evtr   s    r-   r   z1ComboboxTest.test_virtual_event.<locals>.<lambda>  s    t,r/   z<Return>)rn  bindri   rp   rt   r  r  r   )r*   r   r   s     @r-   test_virtual_eventzComboboxTest.test_virtual_event  s     !s

8

.,	.



((*$$&



!!*-

 r/   c                 L   g fd| j                   d<   | j                   j                          | j                   j                          | j                          | j	                         d| j                   d<   | j                          | j                  t              d       y )Nc                  &     j                  d      S rO  r   r   s   r-   r   z9ComboboxTest.test_configure_postcommand.<locals>.<lambda>  s    GNN4,@r/   rl  r   r   )rn  ri   rp   r  r   r&   r  r*   r   s    @r-   test_configure_postcommandz'ComboboxTest.test_configure_postcommand  s|    $@

=!



$$&  %'

=!$$&Wq)r/   c                      fd} j                   j                  d   d        |dd        j                   j                  ddd        j                   j                  dd        j                   j                  dd	        j                   j                  dd       g d
 j                  d<    j                  j                  d        |dd        j                  j	                  d        |dd        j                  j                  d        |dd        j                  j                  d       d j                  d<    |dd        j                  j                  g d        j                   j                  d    j                  rdnd       g d j                  d<    j                   j                  d    j                  rdnd       g d j                  d<    j                   j                  d    j                  rdnd        j                  t        j                   j                  j                  t         j                  d                 j                  t        j                   j                  j                  d       t        j                   j                  g d      } j                  |d    j                  rdnd       |j                          y )Nc                     j                  j                  j                         |        j                  j                  j                         |       y r3   )r&   rn  r_  current)getvalcurrvalr*   s     r-   check_get_currentz=ComboboxTest.test_configure_values.<locals>.check_get_current  s;    TZZ^^-v6TZZ//17;r/   r   )rC   r   r   ro   mon tue wed thurmontuewedthurrD   *   gQ	@r   r   rW  r   cr  rm   r   rW  d)r   rm   r   r   r   r   rm   r   1r   21 {} 2za bza	bza
b{a b} {a	b} {a
b}za\tbz"a"z} {a\\tb {"a"} \}\ \{r   rm   r   r  r  r   1 2 {})rK  rn  rE   r  r  	configurer&   r  ru   rv   r   r  r   rp  r'   r   )r*   r  combo2s   `  r-   test_configure_valuesz"ComboboxTest.test_configure_values  s[   	< 	djj*H5"b!

H.@!> 	 	@

H.KL

H.JK

Hb1,

8

s#q!

1#q!

s#r" 	

r,

8"a  	

J/H-+/+;+;!	#
  7

8H-484D4D0.	0
  7

8H-484D4D0.	0
 	'**DJJ,>,>

8$%	' 	'**DJJ,>,>C dii
;)+/+;+;	Kr/   )r]   r^   r_   r   rL  rg   r%   rw  r  r  r  r  r   r   s   @r-   rk  rk    s:    G %j1K#1M&!"*:r/   rk  c                   L     e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
d	 Z xZS )
PanedWindowTest)r   r   r   orientrQ   r   rd   c                 L    t         |           | j                         | _        y r3   )rf   rg   r%   panedrj   s    r-   rg   zPanedWindowTest.setUpJ  r/  r/   c                 B    t        j                  | j                  fi |S r3   )r   PanedWindowr'   r   s     r-   r%   zPanedWindowTest.createN  r   r/   c                 "   | j                         }| j                  t        |d         d       d}t        | j                        dk  rd}| j                  |dd|       | j                  d      }| j                  t        |d         d       y )	Nr  verticalr   r   r   
horizontalr!   )r  )r%   r&   r7   r   r'   r(   r)   s       r-   test_configure_orientz%PanedWindowTest.test_configure_orientQ  s    VH-.
;3TYY'*>>7Fvx 	 	++\+2WX./>r/   c                    t        j                  | j                        }t        j                  |      }| j                  t        j
                  | j                  j                  |       |j                          |j                          t        j                  | j                        }t        j                  |      }| j                  t        j
                  | j                  j                  |       |j                          |j                          t        j                  | j                        }| j                  j                  |       | j                  t        j
                  | j                  j                  |       t        j                  | j                        }| j                  j                  |       | j                  | j                  j                  d      | j                  j                  d             | j                  t        j
                  | j                  j                  d       |j                          |j                          | j                  t        j
                  | j                  j                  d       y )Nr   r   rm   )r   r   r  ru   rv   r   addr   r'   r&   pane)r*   rn   child
good_childother_childs        r-   test_addzPanedWindowTest.test_add\  s   		$**%		% '**DJJNNEB		$))$		% '**DJJNNEBYYtyy)


z"'**DJJNNJGii

+

{#+TZZ__Q-?@'**DJJOOQ?'**DJJOOQ?r/   c                    | j                  t        j                  | j                  j                  d        | j                  t        j                  | j                  j                  d       | j                  j                  t        j                  | j                               | j                  j	                  d       | j                  t        j                  | j                  j                  d       y )Nr   )	ru   rv   r   r  forgetr  r   r   r'   rw   s    r-   test_forgetzPanedWindowTest.test_forgetw  s    '**DJJ,=,=tD'**DJJ,=,=qA

syy+,

!'**DJJ,=,=qAr/   c                    | j                  t        j                  | j                  j                  d d       | j                  t        j                  | j                  j                  dd        | j                  t        j                  | j                  j                  dd       t        j                  | j                        }t        j                  | j                        }t        j                  | j                        }t        dk\  rl| j                  j	                  d|       | j                  | j                  j                         t        |      f       | j                  j                  d       n6| j                  t        j                  | j                  j                  d|       | j                  | j                  j                         d       | j                  j	                  d|       | j                  j	                  d|       | j                  | j                  j                         t        |      t        |      f       | j                  j	                  d|       | j                  | j                  j                         t        |      t        |      f       | j                  j	                  d|       | j                  | j                  j                         t        |      t        |      t        |      f       | j                  j                         }| j                  j	                  d|       | j                  || j                  j                                | j                  j	                  ||       | j                  | j                  j                         t        |      t        |      t        |      f       y )Nr   rY   rC   r\  )ru   rv   r   r  r^  r   r   r'   r
   r&   panesr7   r  )r*   r  child2child3r  s        r-   test_insertzPanedWindowTest.test_insert  s   '**DJJ,=,=tQG'**DJJ,=,=q$G'**DJJ,=,=q!D		$))$499%499%JJa'TZZ--/#e*?JJa g..

0A0A1eL))+R0

%(

!U#))+c%j#f+-FG

!V$))+c&k3u:-FG

%())+[#e*c&k2	4 

  "

%(

 0 0 23
 	

&&)))+[#f+s5z2	4r/   c                 2   | j                  t        j                  | j                  j                  d       t        j                  | j                        }| j                  j                  |       | j                  | j                  j	                  d      t               | j                  | j                  j	                  dd       | j                  rdnd       | j                  | j                  j	                  dd      | j                  rdnd       | j                  | j                  j	                  d      | j                  j	                  t        |                   | j                  t        j                  | j                  j                  dd       y )Nr   weight0r  	somevalue)	badoption)ru   rv   r   r  r  r   r   r'   r  r4   dictr&   r  r7   )r*   r  s     r-   	test_panezPanedWindowTest.test_pane  s   '**DJJOOQ?		$))$

udjjooa0$748"..C	9 	H5"..C	9+TZZ__SZ-HI'**DJJOOQ! 	 	#r/   c                 f   | j                  t        j                  | j                  j                  d        | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d       t        j                  | j                  d      }| j                  j                  |d       | j                  t        j                  | j                  j                  d       t        j                  | j                  d      }| j                  j                  |       | j                  t        j                  | j                  j                  d       | j                  j                  dd	
       | j                  j	                  d      }| j                  j	                  dd       | j                  || j                  j	                  d             | j                  | j                  j	                  d      t               y )Nr   r   rW  r  r   r  r  Tboth)expandfilli  )ru   rv   r   r  sashposr   r   r  ri   assertNotEqualr4   rr   )r*   r  r  curr_poss       r-   test_sashposzPanedWindowTest.test_sashpos  sr   '**DJJ,>,>E'**DJJ,>,>C'**DJJ,>,>B		$**3/

uQ''**DJJ,>,>B4::C0

v'**DJJ,>,>B

t&1::%%a(

1d#Hdjj&8&8&;<djj003S9r/   )r]   r^   r_   r   rg   r%   r  r  r  r  r  r  r   r   s   @r-   r  r  C  s5    G
#4	?@6B&4P# :r/   r  c                   "    e Zd ZdZd Zd Zd Zy)RadiobuttonTest)r   r   r   r   r   r   r:   rH   rQ   r   re   r   r   r8   r   rd   c                 B    t        j                  | j                  fi |S r3   )r   Radiobuttonr'   r   s     r-   r%   zRadiobuttonTest.create  r   r/   c                 P    | j                         }| j                  |ddddd       y )Nr8   r   r   r   r   rL   rN   s     r-   test_configure_valuez$RadiobuttonTest.test_configure_value  s%    !S"lCr/   c           	      V   g fd}t        j                  | j                        }t        j                  | j                  ||d      }t        j                  | j                  ||d      }| j
                  rd }nt        }|j                         }| j                  |d       | j                   ||d         |j                                | j                  |j                          ||j                  j                  |d                      | j                         d	|d
<   |j                         }t        dk\  r| j
                  r| j                  |d       n| j                  t        |      d	       | j                  t!              d       | j                   ||d         |j                                | j                  |j                          ||j                  j                  |d                      | j                  t        |d         t        |d                y )Nc                  (     j                  d       yr  r   r   s   r-   r  z6RadiobuttonTest.test_configure_invoke.<locals>.cb_test  r  r/   r   )r   r   r8   r   c                     | S r3   rC   r}  s    r-   r   z7RadiobuttonTest.test_configure_invoke.<locals>.<lambda>      Qr/   r  r8   r   r   r   rY   rC   )rv   IntVarr'   r   r  r  rr   r   r&   r_  r	  r
  r   r
   r7   r  r  )r*   r  myvarr  cbtn2r<   r  r   s          @r-   test_configure_invokez%RadiobuttonTest.test_configure_invoke  s   	$ tyy)tyy'(-Q8		7).a9 DDkkm./d7m,eiik:%%d:&678	: illnD$4$4S"%SXr*S\1-eGn-uyy{;%%d:&678	: 	T*-.E*4E0FGr/   N)r]   r^   r_   r   r%   r  r  rC   r/   r-   r  r    s    G4D#Hr/   r  c                   "    e Zd ZdZd Zd Zd Zy)MenubuttonTest)r   r   r   	directionr   r   menur:   rH   rQ   r   re   r   r   rd   c                 B    t        j                  | j                  fi |S r3   )r   
Menubuttonr'   r   s     r-   r%   zMenubuttonTest.create
  r   r/   c                 d    | j                         }d} | j                  |dg|dt        dk\  i y )N)abovebelowr   r   flushr  r   rY   r   r   s      r-   test_configure_directionz'MenubuttonTest.test_configure_direction  s:    =FK 	7& 	7!+v!5	7r/   c                     | j                         }t        j                  |d      }| j                  |d|t               |j                          y )Nr  )r   r<   )r%   rv   MenurE   r7   r   )r*   r+   r  s      r-   test_configure_menuz"MenubuttonTest.test_configure_menu  s:    ||F037r/   N)r]   r^   r_   r   r%   r  r  rC   r/   r-   r  r    s    G37r/   r  c                        e Zd ZdZdZdZ fdZd Zd Zd Z	  e
dd	d
      ej                        Zd Zd Zd Zd Zd Z xZS )	ScaleTest)r   r   r   fromlengthr  rH   rQ   r   tor8   r   Fr  c                     t         |           | j                         | _        | j                  j	                          | j                  j                          y r3   )rf   rg   r%   scaleri   rp   rj   s    r-   rg   zScaleTest.setUp#  s7    [[]




r/   c                 B    t        j                  | j                  fi |S r3   )r   Scaler'   r   s     r-   r%   zScaleTest.create)  r   r/   c                 R    | j                         }| j                  |ddddd       y )Nr  r  -@333333.@Fr  r%   checkFloatParamrN   s     r-   test_configure_fromzScaleTest.test_configure_from,  s(    VVS$5Ir/   c                 P    | j                         }| j                  |ddddd       y )Nr     gffffff`@g33333`@5ir%   checkPixelsParamrN   s     r-   test_configure_lengthzScaleTest.test_configure_length0  s%    fhUE4Hr/   r   r   	   c           	      T    | j                         }| j                  |dddddd       y )Nr  ,  r  r  Fr  r  rN   s     r-   test_configure_tozScaleTest.test_configure_to6  s*    VT3dCeLr/   c           	      T    | j                         }| j                  |dddddd       y )Nr8   r  r  r  r  Fr  r  rN   s     r-   r  zScaleTest.test_configure_value:  s*    VWc4sOr/   c                    g d| j                   j                  dfd      }d| j                   d<   d| j                   d<   d| j                   d<   | j                         g d| j                   j                  d	d
       | j                   j                  dd       | j                   j                  d       | j                         y )N)r   r   r   z<<RangeChanged>>c                 $    j                         S r3   )pop)r  failures    r-   r   z-ScaleTest.test_custom_event.<locals>.<lambda>A  s    r/   
   r  from_r   r  rm   r=   )r  r  r   )r  )r  r  assertFalser  )r*   funcidr  s     @r-   test_custom_eventzScaleTest.test_custom_event>  s    !35NO

6 

7

4!

1+

1,

#!r/   c                 2   | j                   rd }nt        }| j                  j                         }| j	                  | j                  j                  |d      | j                  d          | j	                   || j                  j                  dd             || j                  d                | j	                  | j                  j                         | j                  d          d| j                  d<   | j	                  | j                  j                         | j                  d          | j                  t        j                  | j                  j
                  dd       | j                  t        j                  | j                  j
                  dd       y )Nc                     | S r3   rC   r  s    r-   r   z$ScaleTest.test_get.<locals>.<lambda>R  r  r/   r   r  r  r8      r   )	r  floatr  rs   r&   r_  ru   rv   r   )r*   r<   scale_widths      r-   test_getzScaleTest.test_getP  s   DDjj,,.Q7D9IJdjjnnQ23T$**V:L5MN)4::g+>? 

7)4::g+>?'**DJJNNBB'**DJJNNArBr/   c                    | j                   rd }nt        } || j                  d         }|dz   }| j                  j                  |       | j	                   || j                  j                               |        || j                  d         }| j                  j                  |dz
         | j	                   || j                  j                               |       t        j                  | j                        }|| j                  d<   |j                  |dz          | j	                   || j                  j                               |j                                | j	                   || j                  j                               |dz          ~t                |dz   | j                  d<   | j	                   || j                  j                               |dz          | j	                   || j                  j                                || j                  d                | j	                   || j                  j                  d	d	            |       | j	                   || j                  j                  | j                  j                         d	            |       | j                  t        j                  | j                  j                  d        y )
Nc                     | S r3   rC   r  s    r-   r   z$ScaleTest.test_set.<locals>.<lambda>c  r  r/   r  r  r  r   r   r=   r8   r   )r  r!  r  r  r&   r_  rv   	DoubleVarr'   r   rs   ru   r   )r*   r<   maxnew_maxminvars         r-   test_setzScaleTest.test_seta  s   DD 4::d#$(

wdjjnn./54::f%&

sQwdjjnn./5 		*!$

:adjjnn./;djjnn./q9 "Bh

7djjnn./r:djjnn./djj6I1JK 	djjnnQ23S9djjnnTZZ-C-C-EqIJCP'**DJJNNDAr/   )r]   r^   r_   r   r   rR   rg   r%   r  r  r	   r   rO   r  r  r  r#  r+  r   r   s   @r-   r  r    sh    G L!N.JI 0;q!Q/0G0\0\]MP"$C""Br/   r  c                   X   e Zd ZdZdZdZdZd Z edd      d        Z	  edd      e
j                        Z  edd      e
j                        Z  edd      ej                        Zd	 Zd
 Zd Zd Z  edd      e
j&                        Zd Z  edd      e
j*                        Zy)ProgressbarTest)r   r   r   r   r   r   r  r  modemaximumphasere   r   rQ   r   r8   r   FTr  c                 B    t        j                  | j                  fi |S r3   )r   Progressbarr'   r   s     r-   r%   zProgressbarTest.create  r   r/   r   r>   c                 \    | j                         }| j                  |ddddddddd	d
d       y )Nr   r   r   r   r   r   r   r   r   r   r   rA  rN   s     r-   test_configure_anchorz%ProgressbarTest.test_configure_anchor  s5    FHT3c4dHb	Jr/   c                 N    | j                         }| j                  |dddd       y )Nr  gfffffY@gYL@2ir  rN   s     r-   r  z%ProgressbarTest.test_configure_length  s#    fhtTBr/   c           	      T    | j                         }| j                  |dddddd       y )Nr/  fffffb@lS@r   r  Fr  r  rN   s     r-   test_configure_maximumz&ProgressbarTest.test_configure_maximum  s*    VYtQ%Pr/   c                 L    | j                         }| j                  |ddd       y )Nr.  determinateindeterminaterA  rN   s     r-   test_configure_modez#ProgressbarTest.test_configure_mode  s!    FFM?Kr/   c                      y r3   rC   rw   s    r-   test_configure_phasez$ProgressbarTest.test_configure_phase  s    r/   c           	      T    | j                         }| j                  |dddddd       y )Nr8   r8  r9  r   r  Fr  r  rN   s     r-   r  z$ProgressbarTest.test_configure_value  s/    VWeT1c"' 	 	)r/   N)r]   r^   r_   r   r   r   rR   r%   r	   r4  r   test_configure_fonttest_configure_foregroundr   r   r  r:  r>  r@  test_configure_textr  test_configure_wraplengthrC   r/   r-   r-  r-    s    G L!N4 AJ J
 ,+a+,@,T,TU 1Aq 12F2`2` a.[A./F/]/]^CQL ,+a+,@,T,TU)
 !2Aq 12F2`2` ar/   r-  ry  z"ttk.Scrollbar is special on MacOSXc                       e Zd ZdZdZd Zy)ScrollbarTest)r   r   r   r  rQ   r   r  c                 B    t        j                  | j                  fi |S r3   )r   	Scrollbarr'   r   s     r-   r%   zScrollbarTest.create      }}TYY1&11r/   Nr]   r^   r_   r   rR   r%   rC   r/   r-   rG  rG    s    G  N2r/   rG  c                   x     e Zd ZdZedk\  rdZ fdZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Z xZS )NotebookTest)r   r   r   r:   rQ   r   rd   rY   Fc                 |   t         |           | j                  d      | _        t	        j
                  | j                        | _        t	        j
                  | j                        | _        | j                  j                  | j                  d       | j                  j                  | j                  d       y )Nr   r:   rW  r  r  )
rf   rg   r%   nbr   r   r'   child1r  r  rj   s    r-   rg   zNotebookTest.setUp  sv    ++a+(ii		*ii		*DKKc*DKKc*r/   c                 B    t        j                  | j                  fi |S r3   )r   Notebookr'   r   s     r-   r%   zNotebookTest.create  rq  r/   c           	          | j                         }t        | j                        dk  r| j                  |dddd       y | j	                  |dddddd       y )	Nr   r      r   r   r   r   10cFr  r%   r   r'   checkIntegerParamr  rN   s     r-   rw  z"NotebookTest.test_configure_height  sQ    TYY'*4""68S$B!!&(E3ae!Tr/   c           	          | j                         }t        | j                        dk  r| j                  |dddd       y | j	                  |dddddd       y )	NrU  rd   r   r   r   rW  Fr  rX  rN   s     r-   r   z!NotebookTest.test_configure_width  sQ    TYY'*4""67CqA!!&'5#tQU!Sr/   c                    | j                   j                  d       | j                   j                  | j                         | j	                  t
        j                  | j                   j                  | j                         | j                  | j                   j                  d      d       | j                   j                  | j                         | j                  | j                   j                  d      d       | j                   j                  | j                         | j                  | j                   j                  d             | j                   j                  | j                  d       | j                   j                          | j                   j                          t         j"                  dk(  rd}nd	}| j                  | j                   j                  |      | j                   j                  d             t%        d
dd
      D ](  }	 | j                   j                  d|z  d       dk(  r y * | j'                  d       y # t
        j                  $ r Y Rw xY w)Nr   r\  r   r  rW  r  ry  z@20,5z@5,5r=   r  z@%d, 5zTab with text 'a' not found)rP  r  hider  ru   rv   r   tabrQ  r&   indexr  selectr   ri   rp   r  r  r  fail)r*   tb_idxr  s      r-   test_tab_identifiersz!NotebookTest.test_tab_identifiers  s   qT[[!'**DGGKKEu-q1DKK u-q1t{{#I./DKKc*<<8#FFV,dggkk).DEq#q!A77;;x!|$;73> ? " II34	 ## s   #II! I!c                    | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d        | j                  t        j                  | j                  j
                  d        | j                  t        j                  | j                  j
                  t        j                  | j                        d       | j                  j                         }| j                  j	                  | j                         | j                  j                  | j                         | j                  | j                  j                         |       t        j                  | j                        }| j                  j                  |d       | j                  j                         }| j                  j                  d      }| j                  j                  | j                        }| j                  j	                  | j                         | j                  j                  | j                         | j                  | j                  j                         |       | j                  | j                  j                  | j                        |       | j                  t        | j                        | j                  j                         |          | j                  | j                  j                  d      |dz          y )	Nro   r   option)unknownr  r  r  r   )ru   rv   r   rP  r\  r  r   r   r'   tabsrQ  r&   r^  r  r7   )r*   rf  r  currchild2_indexs        r-   test_add_and_hiddenz NotebookTest.test_add_and_hidden  s   '**DGGLL"='**DGGLL$?'**DGGLL$?'**DGGKK>'**DGGKK4999M 	 	 ww||~T[[!DKK .		$))$E$ww||~ww}}Y'ww}}T[[1T[[!DKK .t{{3\BT[[)477<<>,+GHy14!8<r/   c                     | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d        | j                  j                         }| j                  j                  | j                        }| j                  j	                  | j                         | j                  t        | j                        | j                  j                                | j                  t        |      dz
  t        | j                  j                                      | j                  j                  | j                         | j                  | j                  j                  | j                        d       | j                  || j                  j                  | j                               y )Nro   r   r   )ru   rv   r   rP  r  rf  r^  rQ  assertNotInr7   r&   r  r  r  )r*   rf  child1_indexs      r-   r  zNotebookTest.test_forget!  s;   '**DGGNNB?'**DGGNNDA'**DGGNNDAww||~ww}}T[[1t{{#T[[)477<<>:TQDGGLLN(;<DKK t{{3Q7L$''--*DEr/   c                 `   | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d        | j                  | j                  j	                  d      t               | j                  | j                  j	                  | j                        d       | j                  | j                  j	                  | j                        d       | j                  | j                  j	                  d      d       y )Nro   r\  r   r   rm   )
ru   rv   r   rP  r^  r4   rr   r&   rQ  r  rw   s    r-   
test_indexzNotebookTest.test_index0  s    '**DGGMM2>'**DGGMM4@dggmmE2C8t{{3Q7t{{3Q7u-q1r/   c                    | j                   j                         }| j                   j                  d|d          | j                  | j                   j                         |d   |d   f       | j                   j                  | j                  | j
                         | j                  | j                   j                         |       | j                   j                  d| j                         | j                  | j                   j                         |d   |d   f       | j                   j                  dd       | j                  | j                   j                         |       | j                  t        j                  | j                   j                  d|d          | j                  t        j                  | j                   j                  d|d          t        j                  | j                        }| j                   j                  d|       | j                  | j                   j                         |d   t        |      |d   f       | j                   j                  |       | j                  | j                   j                         |       | j                   j                  | j                  |       | j                  | j                   j                         t        |      f|z          | j                   j                  |       t        dk\  rU| j                   j                  d|       | j                  | j                   j                         g |t        |             n6| j                  t        j                  | j                   j                  d|       | j                  t        j                  | j                   j                  d|       | j                  t        j                  | j                   j                  dd        | j                  t        j                  | j                   j                  d d       | j                  t        j                  | j                   j                  d d        y )Nr   r   r\  rm   ro   rY   )rP  rf  r^  r&   rQ  r  ru   rv   r   r   r   r'   r7   r  r
   )r*   rf  r  s      r-   r  zNotebookTest.test_insert9  s   ww||~q$q'"$q'47);<t{{DKK0.udkk*$q'47);<ua .'**DGGNNAtAwG'**DGGNNBQH 499%q&!$q'3v;Q)HIv.t{{F+#f+4)?@vGGNN1f%TWW\\^-At-AS[-ABg..6J'**DGGNNBG 	'**DGGNNE4H'**DGGNND!D'**DGGNND$Gr/   c                    | j                   j                          | j                   j                          g g | j                  j	                  dfd       | j                   j	                  dfd       | j                  | j                   j                         t        | j                               | j                   j                  | j                         | j                         | j                  | j                   j                         t        | j                               | j                   j                          | j                         y )Nz<Unmap>c                 &    j                  d      S rO  r   r  s    r-   r   z*NotebookTest.test_select.<locals>.<lambda>d  s    t0Dr/   z<<NotebookTabChanged>>c                 &    j                  d      S rO  r   )r  tab_changeds    r-   r   z*NotebookTest.test_select.<locals>.<lambda>f  s    **40r/   )
rP  ri   rp   rQ  r  r&   r_  r7   r  r   )r*   r   rs  s    @@r-   test_selectzNotebookTest.test_select]  s    $DE-0	2 	)3t{{+;<t{{# )3t{{+;<$r/   c                    | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d       | j                  t        j                  | j                  j                  d        | j                  | j                  j	                  | j                        t               | j                  | j                  j	                  | j                  d       d       | j                  | j                  j	                  | j                  d      d       | j                  j	                  | j                  d       | j                  | j                  j	                  | j                  d       d       | j                  | j                  j	                  | j                  d      d       y )Nro   notabr  rW  re   abc)	ru   rv   r   rP  r]  r4   rQ  r  r&   rw   s    r-   test_tabzNotebookTest.test_tabp  s+   '**DGGKK<'**DGGKKA'**DGGKK>dggkk$++6=T[[t<cBT[[&93?DKKe,T[[t<eDT[[&95Ar/   c                 R   | j                  t        | j                  j                               d       | j                  j	                  | j
                         | j                  j	                  | j                         | j                  | j                  j                         d       y )Nrm   rC   )r&   r  rP  rf  r  rQ  r  rw   s    r-   test_configure_tabsz NotebookTest.test_configure_tabs}  sc    TWW\\^,a0t{{#t{{#,r/   c                 (   | j                   j                          | j                   j                          | j                   j                  d       t        j
                  dk7  rdnd}| j                  | j                   j                  dd      |       t        | j                   dd       | j                   j                          | j                   j                  d       | j                  | j                   j                         t        | j                               | j                   j                          | j                   j                  d       | j                  | j                   j                         t        | j                               | j                   j                          | j                   j                  d       | j                  | j                   j                         t        | j                               | j                   j                  | j                  dd	       | j                   j                  | j                  d
d	       | j                   j                          | j                   j                          | j                  | j                   j                  dd      |       t        | j                   dd       t        j
                  dk(  rd}d}nd}d}| j                   j                  |       | j                  | j                   j                         t        | j                               | j                   j                  |       | j                  | j                   j                         t        | j                               y )Nr   ry  r>  r   r=   z<Control-Tab>z<Shift-Control-Tab>rW  )re   r   r   z<Left>z<Right>z<Alt-a>z<Alt-e>)rP  ri   rp   r_  r  r  r&   rq   r   focus_forcer  r7   r  rQ  r]  enable_traversal)r*   focus_identify_asbeginr\  s       r-   test_traversalzNotebookTest.test_traversal  sZ   q'*||x'?GR))!Q/1BCTWWa+/)3t{{+;<45)3t{{+;<45)3t{{+;<DKKcQ7DKKcQ7  "))!Q/1BCTWWa+ <<8#ECECu%)3t{{+;<s#)3t{{+;<r/   )r]   r^   r_   r   r
   r   rg   r%   rw  r   rb  ri  r  rn  r  rt  rx  rz  r  r   r   s   @r-   rM  rM    s`    G V+1UT5<=8F2"HH%&B-$=r/   rM  c                   f     e Zd ZdZddhZ fdZd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Z xZS )SpinboxTest)r   r   r   r   r$  r   r   formatr  	incrementr%  r   r&  r'  r(  rH   rQ   r   r   r  r)  r*  r   rd   wrapr+  zSpinbox.fieldr,  c                     t         |           | j                         | _        | j                  j	                          y r3   )rf   rg   r%   spinri   rj   s    r-   rg   zSpinboxTest.setUp  s'    KKM			r/   c                 B    t        j                  | j                  fi |S r3   )r   Spinboxr'   r   s     r-   r%   zSpinboxTest.create  s    {{499///r/   c                    | j                   j                         }| j                   j                         }|dz
  }|dz  dz
  }| j                  | j                   j	                  ||      d       | j                   j                  d||       | j                   j                  d||       | j                   j                          y )Nr=   rm   z.*uparrow\Zr{  r|  r  r  rs   rt   r  rq   r  r  r*   rd   r   r}  r~  s        r-   _click_increment_arrowz"SpinboxTest._click_increment_arrow  s    		%%''')AIAIM++Aq1>B		  !2a1 =		  !4Q ?		""$r/   c                    | j                   j                         }| j                   j                         }|dz
  }|dz  dz   }| j                  | j                   j	                  ||      d       | j                   j                  d||       | j                   j                  d||       | j                   j                          y )Nr=   rm   r  rz  r{  r|  r  r  r  s        r-   _click_decrement_arrowz"SpinboxTest._click_decrement_arrow  s    		%%''')AIAIM++Aq13CD		  !2a1 =		  !4Q ?		""$r/   c                 *   g fd| j                   d<   | j                   j                          | j                          | j                   j                          | j                         | j	                          | j                  t              d       d| j                   d<   | j                   j                          | j                          | j	                          | j                   j                          | j                  t              d       y )Nc                  &     j                  d      S rO  r   r   s   r-   r   z4SpinboxTest.test_configure_command.<locals>.<lambda>  s    w~~d';r/   r   rm   r   )r  rp   r  r   r  r&   r  r  r  s    @r-   test_configure_commandz"SpinboxTest.test_configure_command  s    ;		)		##%		 ##%Wq)  "		)		""$##%##%		Wq)r/   c                    d| j                   d<   d| j                   d<   | j                   j                  d       | j                   j                          | j                          | j	                  | j                   j                         d       | j                          | j	                  | j                   j                         d       y )Nr   r  r=   r  r  5)r  r  rp   r  r&   r_  rw   s    r-   r  zSpinboxTest.test_configure_to  s    		&		$		a		##%#.##%#.r/   c                    d| j                   d<   d| j                   d<   | j                   j                  d       | j                   j                          | j                          | j	                  | j                   j                         d       | j                          | j	                  | j                   j                         d       y )Nr   r  r  r  rm   r  )r  r  rp   r  r&   r_  rw   s    r-   r  zSpinboxTest.test_configure_from  s    		&		$		a		##%#.##%#.r/   c                    d| j                   d<   d| j                   d<   d| j                   d<   | j                   j                  d       | j                   j                          | j                          | j	                  | j                   j                         d       d	| j                   d<   | j                   j                          | j                          | j	                  | j                   j                         d
       y )Nr   r  r  r  r  r  r   r  rm   3)r  r  rp   r  r&   r_  r  rw   s    r-   test_configure_incrementz$SpinboxTest.test_configure_increment  s    		&		$!"		+		a		##%#.!"		+		##%#.r/   c                 Z   | j                   j                  d       d| j                   d<   | j                   j                          | j                          | j                   j	                         }| j                  t        |      d       | j                  |j                  d      d       d| j                   d<   | j                   j                          | j                          | j                   j	                         }| j                  d|v       | j                  t        |      d       y )Nr   z%10.3fr  r  .r   r   )	r  r  rp   r  r_  r&   r  r^  r   )r*   r8   s     r-   test_configure_formatz!SpinboxTest.test_configure_format  s    		a&		(		##%		UR(S)1- 		(		##%		5()UQ'r/   c                 v   d| j                   d<   d| j                   d<   | j                   j                  d       d| j                   d<   | j                   j                          | j                          | j	                  | j                   j                         d       | j                          | j	                  | j                   j                         d       d	| j                   d<   | j                   j                          | j                          | j	                  | j                   j                         d       y )
Nr  r  r   r  Tr  10r  F)r  r  rp   r  r&   r_  r  rw   s    r-   test_configure_wrapzSpinboxTest.test_configure_wrap  s    		$		&		a 		&		##%$/##%#.!		&		##%#.r/   c                    | j                  | j                  d   d       | j                  | j                  ddd       | j                  | j                  dd       | j                  | j                  dd       | j                  | j                  dd       g d| j                  d<   | j                  j                  d       | j                  j	                          | j                          | j                  | j                  j                         d	       | j                          | j                  | j                  j                         d       | j                  j                  g d
       | j                  | j                  d   | j                  rdnd       g d| j                  d<   | j                  | j                  d   | j                  rdnd       g d| j                  d<   | j                  | j                  d   | j                  rdnd       t        j                  | j                  g d      }| j                  |d   | j                  rdnd       |j                          y )Nr   r   r  r  rD   r  r  rW  r  r  r  r  r  r  r  r  r  r  r  r  )r&   r  rE   r  rp   r  r_  r  r  r  r   r  r'   r   )r*   spin2s     r-   r  z!SpinboxTest.test_configure_values1  s   8,b1		8-?!> 	 	@		8-JK		8-IJ		8R0+		( 			c		##%#.##%#. 			:.8,+/+;+;!	#
 6		(8,484D4D0.	0
 6		(8,484D4D0.	0
 DIIj9x+/+;+;	Kr/   )r]   r^   r_   r   rL  rg   r%   r  r  r  r  r  r  r  r  r  r   r   s   @r-   r  r    sM    G #J/K
0%%*(
///("/&)r/   r  c                       e Zd ZdZ fdZd Zd Zd Zd Zd Z	 e
dd	      d
        Zd Z e
dd	      d        Z e
dd	      d        Z e
dd	      d        Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z xZ S )TreeviewTest)r   columnsr   displaycolumnsr   r:   
selectmode
selecttyper(  stripedrQ   r   titlecolumns
titleitemsr+  yscrollcommandc                 P    t         |           | j                  d      | _        y )Nr   rO  )rf   rg   r%   tvrj   s    r-   rg   zTreeviewTest.setUpf  s    ++a+(r/   c                 B    t        j                  | j                  fi |S r3   )r   Treeviewr'   r   s     r-   r%   zTreeviewTest.createj  rq  r/   c                     | j                         }| j                  |ddd       | j                  |dd       | j                  |ddt        dk\  rd       y d       y )Nr  a b crW  r  r  rD   r   rY   rC   )r%   rE   r
   rN   s     r-   test_configure_columnsz#TreeviewTest.test_configure_columnsm  sg    	7!0 	 	2	?;	2'1V'; 	 	EAC 	 	Er/   c                    | j                         }d|d<   | j                  |ddd       | j                  |dd       | j                  |ddd       | j                  |dd	       | j                  |dd
d       d}| j                  |dd|j                  d             | j                  |dd|j                  d             y )Nr  r  r  zb a c)r  rW  r  rD   #all)r  )rm   r   r   )rW  r  r  zInvalid column index "?d"?r!   z!Column index "?{}"? out of bounds)r   rm   r   r   )r   r  r  )r%   rE   r(   r  )r*   r+   r"   s      r-   test_configure_displaycolumnsz*TreeviewTest.test_configure_displaycolumnsu  s    +y 0'!0 	 	2 0/B 0&!* 	 	, 0)<v'7&B 	 	D4v'7&,mmA&6 	 	8v'7&,mmB&7 	 	9r/   c           	          | j                         }| j                  |dddddd       | j                  |ddd	d       y )
Nr   r  ru  r   3cFr  rs  rt  r  rN   s     r-   rw  z"TreeviewTest.test_configure_height  sC    fhT1dOfhu5Ir/   c                 N    | j                         }| j                  |dddd       y )Nr  r   browseextendedrA  rN   s     r-   test_configure_selectmodez&TreeviewTest.test_configure_selectmode  s&    FL"Hj	:r/   r   r>   c                 L    | j                         }| j                  |ddd       y )Nr  itemcellrA  rN   s     r-   test_configure_selecttypez&TreeviewTest.test_configure_selecttype  s!    FL&&Ar/   c                     | j                         }| j                  |ddd       | j                  |dd       | j                  |dd       | j                  |ddd       | j                  |ddd	       y )
Nr(  ztree headings)treeheadingsrD   )r  r  r  )r  r  )r  r9  rN   s     r-   r:  z TreeviewTest.test_configure_show  sq    !5 	 	7(<=(<=C
]Kr/   c                 H    | j                         }| j                  |d       y )Nr  )r%   checkBooleanParamrN   s     r-   test_configure_stripedz#TreeviewTest.test_configure_striped  s    vy1r/   c                 t    | j                         }| j                  |dddd       | j                  |dd       y )Nr  r   r   r=   r  r%   rY  r(   rN   s     r-   test_configure_titlecolumnsz(TreeviewTest.test_configure_titlecolumns  s5    v~q!Q?v~r:r/   c                 t    | j                         }| j                  |dddd       | j                  |dd       y )Nr  r   r   r=   r  r  rN   s     r-   test_configure_titleitemsz&TreeviewTest.test_configure_titleitems  s5    v|Q1=v|R8r/   c                 r   | j                   j                          | j                  | j                   j                  d      d       | j                   j	                          | j                   j                  dd      }| j                   j                         }| j                  |       | j                   j                  |d         }| j                  |       dg| j                   d<   | j                   j                  dd       | j                   j                  |d   d      }| j                   j                  dd       }| j                  st        |      }| j                  |d   |d   |z          | j                   j                  |d      }| j                  | j                   j                  |      d       y )	Nr   r\  r   testr  2   rd   #0)r  ri   r&   rH  rp   r^  get_childrenr   rG  columnr  rr   )r*   item_idchildrenrH  bbox_column0
root_widthrQ  s          r-   rI  zTreeviewTest.test_bbox  sF   b)2.''..U+77'')!ww||HQK(  & %X	vR(ww||HQK3WW^^D^5
ZJa$q'J*>? /f-r2r/   c                    | j                  | j                  j                         d       | j                  j                  dd      }| j	                  | j                  j                         t
               | j                  | j                  j                         d   |       | j                  j                  dd      }| j                  j                  dd      }| j                  j                  |||       | j                  | j                  j                  |      ||f       | j                  t        j                  | j                  j                  ||       | j                  j                  |       | j                  | j                  j                  |      d       | j                  j                  d       | j                  | j                  j                         d       y )NrC   r   r\  r   )
r&   r  r  r^  r4   r5   set_childrenru   rv   r   )r*   r  r  r  s       r-   test_childrenzTreeviewTest.test_children  sc   --/4''..U+dgg224e<--/2G< E*E*VWf5--f57HI 	'**GG  &&	2 	V$--f5r: 	R --/4r/   c                 v   | j                  | j                  j                  d      t               | j                  r1| j                  | j                  j                  dd       t
               | j                  j                  dd       | j                  | j                  j                  dd      | j                  rdnd       | j                  | j                  j                  dd       | j                  rdnd       | j                  t        j                  | j                  j                  dd       | j                  t        j                  | j                  j                  d       d	d
iddiddiddiddig}|D ]9  } | j                  t        j                  | j                  j                  dfi | ; y )Nr  r  r  rd   r  Xidrg  unknown_optionz
some valuestretchwrongr   minwidth)
r4   r  r  r  r  rr   r&   ru   rv   r   )r*   invalid_kwsr}   s      r-   test_columnzTreeviewTest.test_column  sb   dggnnT2D9!!$''..T."BCHt2&g6#//T	;D9#//T	; 	'**DGGNNDSI'**DGGNNIF|,	7/Cw'7!3j'5J
 BDg..  r/   c                    | j                  t        j                  | j                  j                  d       | j                  j                  dd      }| j                  j                  |d      }| j                  | j                  j                         |f       | j                  | j                  j                  |      |f       | j                  j	                  |       | j                  | j                  j                                | j                  t        j                  | j                  j                  |dd       | j                  j                  dd      }| j                  j                  dd      }| j                  | j                  j                         ||f       | j                  j	                  ||       | j                  | j                  j                                y )Nr  r   r\  )
ru   rv   r   r  rh  r^  r&   r  r  reattach)r*   r  item2item1s       r-   test_deletezTreeviewTest.test_delete  sX   '**DGGNNDA''..U+w.--/'=--g6	Bw--/0 	'**GGgr5	2 r5)r5)--/%@ue$--/0r/   c                    | j                   j                  dd      }| j                   j                  |d      }| j                   j                         }| j                   j                          | j	                  || j                   j                                | j	                  | j                   j                         |f       | j	                  | j                   j                  |      |f       | j                   j                  |       | j                  | j                   j                                | j                   j                  |dd       | j	                  | j                   j                         |f       | j	                  | j                   j                  |      |f       | j                   j                  |dd       | j	                  | j                   j                         ||f       | j	                  | j                   j                  |      d       | j                  t        j                  | j                   j                  ddd       | j                  t        j                  | j                   j                  d       | j                  t        j                  | j                   j                  |dd       | j                  t        j                  | j                   j                  |dd       | j                   j                  ||       | j	                  | j                   j                         d       | j	                  | j                   j                  |      d       y )Nr   r\  rC   nonexistentotherparentrg  )r  r^  r  detachr&   r  r  moveru   rv   r   )r*   r  r  prevs       r-   test_detach_reattachz!TreeviewTest.test_detach_reattach  su   ''..U+w. ww##%tww3356--/'=--g6	B 	w--/0 	"e,--/'=--g6	B 	UB&--/'51AB--g6; 	'**GGmR	8'**GGNNM	+'**GGe]E	;'**GGeR	4 	w&--/4--g6;r/   c                 p   | j                  | j                  j                  d      d       | j                  | j                  j                  d      d       | j                  | j                  j                  i       d       | j                  t        j
                  | j                  j                  d        y )N	somethingFr   T)r&   r  existsru   rv   r   rw   s    r-   test_existszTreeviewTest.test_exists<  s{    4e<+T2+U3
 	'**DGGNNDAr/   c                    | j                  | j                  j                         d       | j                  j                  dd      }| j                  j                  |       | j                  | j                  j                         |       | j                  j	                  |       | j                  | j                  j                         d       | j                  t        j                  | j                  j                  d       y )Nr   r\  r   )r&   r  r>  r^  rh  ru   rv   r   )r*   r  s     r-   
test_focuszTreeviewTest.test_focusF  s    "-r5)e%0u"- 	'**DGGMM4@r/   c                 *   | j                  | j                  j                  d      t               | j                  j                  dd       | j	                  | j                  j                  dd      d       | j	                  | j                  j                  dd       d       | j                  t        j                  | j                  j                  dd        | j                  t        j                  | j                  j                  dd       y )Nr  r   r  re   )r   r   )r   )r4   r  headingr  r&   ru   rv   r   rw   s    r-   test_headingzTreeviewTest.test_headingT  s    dggood3T: 	4(v6=D94@ 	'**DGGOOT 	 	 	'**DGGOOT 	 	r/   c           	           fd}g  j                   j                           j                   j                  dfd        j                   j                  dd        j                   j	                           |dd       s j                  d       g  j                   j                  j                  } j                   j                  dt         j                   j                  dd                     j                  | j                   j                  j                          |dd       s j                  d       y y )	Nc                 (   t         dk\  rWj                  j                  j                  |       d       j                  j                  j	                  | |      d       t        j                  | |       j                  j                          y )N)r   r   r  r  )r
   r&   r  identify_columnidentify_regionr   rp   )r}  r~  r*   s     r-   simulate_heading_clickzBTreeviewTest.test_heading_callback.<locals>.simulate_heading_clicke  si    V#  !8!8!;TB  !8!8A!>	J !Q/GGNNr/   r  c                  &     j                  d      S rO  r   r   s   r-   r   z4TreeviewTest.test_heading_callback.<locals>.<lambda>o  s    gnnT.Br/   r   r  r  r=   z>The command associated to the treeview heading wasn't invoked.)
r  ri   r  r  rp   r`  r   _tclCommandsr7   r&   )r*   r  commandsr   s   `  @r-   test_heading_callbackz"TreeviewTest.test_heading_callbackd  s    	 &BCt3' 	q!$II   77>>..c$''//$/*M&NO477>>#>#>?q!$II   r/   c                    | j                  t        j                  | j                  j                  d       | j                  | j                  j	                  d      d       | j                  j                  dd      }| j                  j                  dd      }| j                  j                  |d      }| j                  j                  |d      }| j                  | j                  j	                  |      d       | j                  | j                  j	                  |      d       | j                  | j                  j	                  |      d       | j                  | j                  j	                  |      d       | j                  j                  |dd       | j                  | j                  j	                  |      d       | j                  | j                  j	                  |      d       | j                  j                  |       | j                  | j                  j	                  |      d       | j                  j                  |       | j                  | j                  j	                  |      d       | j                  j                  |       | j                  t        j                  | j                  j                  |       y )Nwhatr   r   r\  r   )
ru   rv   r   r  r^  r&   r^  r  r  rh  )r*   r  r  c1c2s        r-   rn  zTreeviewTest.test_index  s   '**DGGMM6Br*A.r5)r5)WW^^E5)WW^^E5)u-q1r*A.r*A.u-q1UB"u-q1u-q1 	ur*A.rr*A. 	u'**DGGMM2>r/   c           	         | j                  t        j                  | j                  j                  dd       | j                  t        j                  | j                  j                  ddd       | j                  t        j                  | j                  j                  ddd       | j                  | j                  j                  | j                  j	                  ddd                   | j                  | j                  j                  | j                  j	                  ddd                   | j                  t        j                  | j                  j                  dd       | j                  j	                  ddd	      }| j                  |d	       | j                  t        j                  | j                  j                  ddd	       | j                  t        j                  | j                  j                  ddt        d	             d
}| j                  j	                  dd|f      }| j                  | j                  j                  |d      | j                  r|fn|       | j                  | j                  j                  |d       | j                  r|fn|       | j                  j                  || j                  j                  | j                  j                  |d                    | j                  | j                  j                  |d       | j                  r|fn|       | j                  | j                  j                  |      t               | j                  j                  |d       | j                  | j                  j                  |d              | j                  j	                  dddd|g      }| j                  | j                  j                  |d       | j                  rdd|fnd|z         | j                  j                  |g        | j                  | j                  j                  |d              | j                  j                  |d       | j                  | j                  j                  |d       | j                  rdnd       | j                  j	                  ddd|d|f      }| j                  | j                  j                  |d       | j                  r	d|d|fnd|d|d       | j                  | j                  j                  | j                  j	                  ddd      d       d       | j                  | j                  j                  | j                  j	                  dd|      d       |       | j                  j	                  ddd      }| j                  |d       | j                  j	                  ddd      }| j                  |d       | j                  t        j                  | j                  j                  ddd       | j                  t        j                  | j                  j                  ddd       y ) Nr   r\  r   )openpleaseTFmiddlez
first-itemu   ábar  r   r   rm   tagsr  r  z1 2 %sr   rm   )r  r  z1 2r  r8  z	{a b c} {}z
Label herer  r   r  g        z0.0)ru   rv   r   r  r^  r  rh  r&   r   r  r  r'   	splitlistr4   r  )r*   itemidr8   r  s       r-   test_insert_itemzTreeviewTest.test_insert_item  s   '**DGGNNFEJ 	'**DGGNNB 	 	'**DGGNNB 	 	r5t(LMNr5u(MNO 	'**DGGNNBI E<8.'**DGGNNB	'**DGGNNB|$	& ww~~b%	~:dH5%)%5%5%5	Bd48%)%5%5%5	B 	T$))"5"5dggll4PTl6U"VWd48%)%5%5%5	B 	dggll40$7 	T"%d489 ww~~b%q!Um~<d6.2.>.>#sE*!E)	+ 	T#d67T'd6'+'7'7U	D ww~~b%e$1&~ 'd48373C3CW./3C!&.	0
 	GGNN2u<N8t & E	 	GGNN2u5N1 & >	
 E1-%E3/''**DGGNNBuM'**DGGNNBrJr/   c                 z   | j                  t        | j                  j                  d       | j                  t        j
                  | j                  j                  d       | j                  t        j
                  | j                  j                  d       | j                  t        j
                  | j                  j                  d       | j                  t        j
                  | j                  j                  d       | j                  j                  dd      }| j                  j                  dd      }| j                  j                  |d      }| j                  j                  |d      }| j                  j                  |d      }| j                  | j                  j                         d       | j                  j                  ||       | j                  | j                  j                         ||f       | j                  j                  |       | j                  | j                  j                         |f       | j                  j                  ||       | j                  | j                  j                         |||f       | j                  j                  |       | j                  | j                  j                         ||||f       | j                  j                          | j                  | j                  j                         ||||f       | j                  j                  ||       | j                  | j                  j                         |||f       | j                  j                  |       | j                  | j                  j                         ||f       | j                  j                          | j                  | j                  j                         ||f       | j                  j                  ||       | j                  | j                  j                         ||f       | j                  j                  |       | j                  | j                  j                         |f       | j                  j                          | j                  | j                  j                         |f       | j                  j                  ddd       | j                  j                  d       | j                  | j                  j                         d       | j                  j                  ddd	       | j                  j                  d	       | j                  | j                  j                         d
       | j                  j                  ddd       | j                  j                  d       | j                  | j                  j                         d       | j                  j                  ddd       | j                  j                  d       | j                  | j                  j                         d       | j                  j                          | j                  | j                  j                         d       | j                  j                  ||f       | j                  | j                  j                         ||f       | j                  j                  ||f       | j                  | j                  j                         |||f       | j                  j                  ||f       | j                  | j                  j                         ||f       | j                  j                  ||f       | j                  | j                  j                         ||f       y )Nr   r   r   r\  rC   with spacesr  )r  {brace)r  
   unicode€)r  s   bytes€)u   bytesâ¬)ru   	TypeErrorr  	selectionrv   r   selection_setselection_addselection_removeselection_toggler^  r&   )r*   r  r  r  r  c3s         r-   test_selectionzTreeviewTest.test_selection  s   )TWW%6%6?'**DGG,A,A6J'**DGG,A,A6J'**DGG,D,DfM'**DGG,D,DfMr5)r5)WW^^E5)WW^^E5)WW^^E5)**,b1b%(**,r5k:b!**,re4b%(**,r2uo>e$**,ub"e.DE**,ub"e.DE  +**,r2uo>  $**,r5k:  "**,r5k:  R(**,r5k:  '**,re4  "**,re4r5]3m,**,.>?r5X.h'**,k:r5_5o.**,.@Ar5%9:23**,.DE**,b1 	r5k***,r5k:r5k***,ub%.@A  %-**,r5k:  "b***,r5k:r/   c                    ddg| j                   d<   | j                   j                  ddddg      }| j                  | j                   j                  |      ddd	       | j                   j                  |dd       | j                  | j                   j	                  |d       | j
                  rd
nd       dg| j                   d<   | j                  | j                   j                  |      ddi       | j                   j                  |dd       | j                  | j                   j                  |d      d       | j                  | j                   j	                  |d       | j
                  rdnd       | j                   j                  |dd       | j                  | j                   j                  |d      | j
                  rdnd       | j                  | j                   j	                  |d       | j
                  rdnd       | j                  | j                   j                  |      | j
                  rddinddi       | j                  t        j                  | j                   j                  |d       | j                  t        j                  | j                   j                  |dd       | j                  t        j                  | j                   j                  d       y )NABr  r   r\  rW  r  r  )r  r  )rW  rW  za a)r  )r  rW  zb a{   123)r  rW  z123 anotme)	r  r^  r&   r  r  r  ru   rv   r   )r*   r  s     r-   r+  zTreeviewTest.test_set7  s:   !3Z	ww~~b%c
~;T*#C,@AD#s#d48'+'7'7U	D "U	T*S#J7D#s#T#6<d48'+'7'7U	D 	D#s#T3/ $ 0 0e	=d48'+'7'7W	FT*'+'7'7#sc5\	K 	'**DGGKKsC'**DGGKKsCH 	'**DGGKKAr/   c                 j  	 g 	| j                   j                  dddg      }| j                   j                  dddg      }| j                   j                  dd	fd       | j                   j                  dd	fd       | j                   j                          | j                   j	                          t               }t               }t        d	d
d      D ]W  }t        |      dk(  r nG| j                   j                  |      }|s1||vs6|j                  |       |j                  |       Y | j                  t        |      d       |D ]  }t        | j                   d	|        | j                  t        	      d       t        	d d d   	dd d         D ]  }| j                  |d        y )Nr   r\  callr	  r{  c                 &    j                  d      S r   r   r  eventss    r-   r   z,TreeviewTest.test_tag_bind.<locals>.<lambda>\      a(r/   r  c                 &    j                  d      S )Nrm   r   r%  s    r-   r   z,TreeviewTest.test_tag_bind.<locals>.<lambda>^  r'  r/   r   r  r  rm   r  r   r  )r  r^  tag_bindri   rp   r  r  r  identify_rowr  r&   r   zip)
r*   r  r  pos_yfoundr  r  r~  r  r&  s
            @r-   test_tag_bindzTreeviewTest.test_tag_bindW  sj   r5x8r5x8!2(	*!4(	* 	q#r"A5zQgg**1-G7%/		!		'" # 	UQ'A !Q/ 
 	Va(vcc{F14a4L1CS&) 2r/   c                 4   | j                  t        | j                  j                         | j                  t        j
                  | j                  j                  dd       | j                  j                  dd       | j                  t        | j                  j                  dd            d       | j                  t        | j                  j                  dd             d       | j                  | j                  j                  d      t               y )Nr  blue)sky)r   r   )
ru   r  r  tag_configurerv   r   r&   r7   r4   r  rw   s    r-   test_tag_configurezTreeviewTest.test_tag_configurew  s    )TWW%:%:;'**DGG,A,A 	 	 f8TWW226<HI	TWW226d2KL	dgg33F;TBr/   c                 :   | j                   j                  ddddg      }| j                   j                  ddddg      }| j                  t        | j                   j                         | j                  t
        | j                   j                  dd       | j                  | j                   j	                  d|             | j                  | j                   j	                  d|             | j                  | j                   j	                  d|             | j                  | j                   j	                  d|             | j                  | j                   j	                  d	|             | j                  | j                   j	                  d	|             | j                  | j                   j	                  d      |f       | j                  | j                   j	                  d      |f       | j                  | j                   j	                  d	      d
       y )Nr   r\  zItem 1tag1)re   r
  zItem 2tag2znon-existingtag3rC   )	r  r^  ru   r  tag_hasr   r   r  r&   )r*   r  r  s      r-   test_tag_haszTreeviewTest.test_tag_has  ss   r5xvhGr5xvhG)TWW__5(DGGOOV^L67787867787805(;05(;0"5r/   )!r]   r^   r_   r   rg   r%   r  r  rw  r  r	   r  r:  r  r  r  rI  r  r  r  r  r  r  r  r   rn  r  r  r+  r.  r3  r9  r   r   s   @r-   r  r  ]  s    G)1E9"J
:
 AB BL A2 2 A; ;
 A9 9
325621.'<RBA F?<JKXD;LB@*@
C6r/   r  c                       e Zd ZdZdZd Zy)SeparatorTest)r   r   r  rQ   r   r  c                 B    t        j                  | j                  fi |S r3   )r   	Separatorr'   r   s     r-   r%   zSeparatorTest.create  rJ  r/   NrK  rC   r/   r-   r;  r;    s    G "N2r/   r;  c                       e Zd ZdZd Zy)SizegripTest)r   r   rQ   r   c                 B    t        j                  | j                  fi |S r3   )r   Sizegripr'   r   s     r-   r%   zSizegripTest.create  rq  r/   Nr   rC   r/   r-   r?  r?    s    G
1r/   r?  c                       e Zd Zd Zd Zy)DefaultRootTestc                 B    | j                  t        j                         y r3   )_test_widgetr   r   rw   s    r-   
test_framezDefaultRootTest.test_frame      #))$r/   c                 B    | j                  t        j                         y r3   )rE  r   r   rw   s    r-   
test_labelzDefaultRootTest.test_label  rG  r/   N)r]   r^   r_   rF  rI  rC   r/   r-   rC  rC    s    %%r/   rC  __main__)4unittestrv   r   r   test.supportr   r   r  test.test_ttk_textonlyr   test.test_tkinter.supportr   r	   r
   r   r   r   test.test_tkinter.widget_testsr   r   r   r   r   r   TestCasera   r   r   r   r   r   r   r   r#  rk  r  r  r  r  r-  skipIfr  rG  rM  r  r  r;  r?  rC  	tests_guir]   mainrC   r/   r-   <module>rT     s     ! - 
 -3 3P P 	3B2 3Bl5<!2!2 5<p-~  -..$h&7&7 . /. -.)8+<+<  /28* 8< -.I!8#4#4 I /I" -.!"H$5$5 ! /!0 -.SG'):): SG /SGl &(?@x1"H$5$5 x1 Ax1v &(?@z9h// z Azz &(?@D:((*;*; D: AD:N -.3H'):): 3H /3Hl&(9(9 0 -.hB"H$5$5 hB /hBV -./b((*;*; /b //bd )57-.2&(9(9 2 /72 -.b=%x'8'8 b= /b=J &(?@m)X.. m Am` -.r6%x'8'8 r6 /r6j -.2&(9(9 2 /2 -.1%x'8'8 1 /1%-x/@/@ % 	O\9>9noM=k<_
	 zHMMO r/   