HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-38.pyc
U

�i�_	��@sddlZddlZddlmZddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
mZmZmZmZmZmZmZed�dd�ZGd	d
�d
ee�Ze
e�Gdd�deej��Ze
e�Gd
d�deej��Ze
e�Gdd�deej��ZGdd�dee�Ze
e�Gdd�deej��Ze
e�Gdd�deej��Ze
e�Gdd�deej��Ze
e�Gdd�deej��Ze
e�Gdd�deej��Z Gdd�de ej�Z!e
ee�Gdd �d eej��Z"e
e�Gd!d"�d"e"ej��Z#e
e�Gd#d$�d$eej��Z$e
ee�Gd%d&�d&eej��Z%e
ee�Gd'd(�d(eej��Z&e
ee�Gd)d*�d*eej��Z'e
ee�Gd+d,�d,eej��Z(e
e�Gd-d.�d.eej��Z)e
e�Gd/d0�d0eej��Z*e
ee�Gd1d2�d2eej��Z+ee%ee"eeee&e e*e+e!e)ee'e(e#e$efZ,e-d3k�re�.�dS)4�N)�TclError)�requires)�tcl_version�requires_tcl�get_tk_patchlevel�	widget_eq)�add_standard_options�noconv�pixels_round�AbstractWidgetTest�StandardOptionsTests�IntegerSizeTests�PixelSizeTests�setUpModuleZguicCstt|��S�N)�float�round��x�r�E/opt/python38/lib/python3.8/tkinter/test/test_tkinter/test_widgets.py�float_roundsrc@s0eZdZeZdd�Zdd�Zdd�Zdd�Zd	S)
�AbstractToplevelTestcCsR|��}|�|d|jj���|j|dddd�|jdd�}|�|dd�dS)N�classZFooz2can't modify -class option after widget is created��errmsg)�class_)�create�assertEqual�	__class__�__name__�title�checkInvalidParam��self�widget�widget2rrr�
test_classs

�
�zAbstractToplevelTest.test_classcCsJ|��}|�|dd�|j|dddd�|jdd�}|�|dd�dS)N�colormap��newz5can't modify -colormap option after widget is createdr)r(�rrr"r#rrr�
test_colormap"s
�z"AbstractToplevelTest.test_colormapcCs^|��}|�|d|jrdnd�|j|dddd�|jdd�}|�|d|jrTdnd	�dS)
N�	containerr�0�z6can't modify -container option after widget is createdrT�r-�1)rr�wantobjectsr"r#rrr�test_container*s
�z#AbstractToplevelTest.test_containercCsJ|��}|�|dd�|j|dddd�|jdd�}|�|dd�dS)N�visualr)�defaultz3can't modify -visual option after widget is createdr)r4r+r#rrr�test_visual2s
�z AbstractToplevelTest.test_visualN)	r �
__module__�__qualname__r	�_conv_pad_pixelsr'r,r3r6rrrrrs
	rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ToplevelTest)�
background�borderwidthrr(r-�cursor�height�highlightbackground�highlightcolor�highlightthickness�menu�padx�pady�relief�screen�	takefocus�user4�widthcKstj|jf|�Sr)�tkinterZToplevel�root�r$�kwargsrrrrEszToplevelTest.createcCs8|��}t�|j�}|j|d|td�|�|dd�dS)NrB��eqr))rrJ�MenurK�
checkParamr�r$r%rBrrr�	test_menuHszToplevelTest.test_menucCsx|��}|�|dd�ztjd}Wntk
rD|�d�YnX|j|d|dd�|j|d�}|�|d|�dS)NrFr)ZDISPLAYzNo $DISPLAY set.z3can't modify -screen option after widget is createdr)rF)rr�os�environ�KeyErrorZskipTestr")r$r%Zdisplayr&rrr�test_screenNs
�zToplevelTest.test_screenc	Csh|��}|�|dd�|jdd�}t|���}|j|d��"|j|d�}|�|d|�W5QRXdS)NrHr)Tr0)�wid)rH)rr�hexZwinfo_idZsubTest)r$r%�parentrXr&rrr�test_useZszToplevelTest.test_useN)r r7r8�OPTIONSrrSrWr[rrrrr:;s
r:c@seZdZdZdd�ZdS)�	FrameTest)r;r<rr(r-r=r>r?r@rArCrDrErGr4rIcKstj|jf|�Sr)rJZFramerKrLrrrrmszFrameTest.createN�r r7r8r\rrrrrr]dsr]c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�LabelFrameTest)r;r<rr(r-r=�font�
foregroundr>r?r@rA�labelanchor�labelwidgetrCrDrErG�textr4rIcKstj|jf|�Sr)rJZ
LabelFramerKrLrrrr|szLabelFrameTest.createcCs>|��}|�|ddddddddd	d
ddd
�|�|dd�dS)Nrb�e�en�es�n�ne�nw�s�se�sw�wZwnZws�center)r�checkEnumParamr"�r$r%rrr�test_labelanchors �zLabelFrameTest.test_labelanchorcCs8|��}tj|jddd�}|j|d|dd�|��dS)NZMupp�foo)rd�namercz.foo��expected)rrJ�LabelrKrQ�destroy)r$r%�labelrrr�test_labelwidget�szLabelFrameTest.test_labelwidgetN)r r7r8r\rrrrzrrrrr_qs	r_c@seZdZeZdd�ZdS)�AbstractLabelTestc
Cs$|��}|�|ddddddd�dS)NrAr��������?�������@�����10p�r�checkPixelsParamrqrrr�test_highlightthickness�s�z)AbstractLabelTest.test_highlightthicknessN)r r7r8r	�_conv_pixelsr�rrrrr{�sr{c@seZdZdZdd�ZdS)�	LabelTest)�activebackground�activeforeground�anchorr;�bitmapr<�compoundr=�disabledforegroundr`rar>r?r@rA�image�justifyrCrDrE�staterGrd�textvariable�	underlinerI�
wraplengthcKstj|jf|�Sr)rJrwrKrLrrrr�szLabelTest.createNr^rrrrr��s
r�c@s eZdZdZdd�Zdd�ZdS)�
ButtonTest) r�r�r�r;r�r<�commandr�r=r5r�r`rar>r?r@rAr�r��
overreliefrCrDrE�repeatdelay�repeatintervalr�rGrdr�r�rIr�cKstj|jf|�Sr)rJ�ButtonrKrLrrrr�szButtonTest.createcCs|��}|�|dddd�dS)Nr5Zactive�disabled�normal�rrprqrrr�test_default�szButtonTest.test_defaultN)r r7r8r\rr�rrrrr��sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�CheckbuttonTest)&r�r�r�r;r�r<r�r�r=r�r`rar>r?r@rAr��indicatoronr��	offrelief�offvalue�onvaluer�rCrDrE�selectcolor�selectimager�rGrdr��
tristateimage�
tristatevaluer��variablerIr�cKstj|jf|�Sr)rJZCheckbuttonrKrLrrrr�szCheckbuttonTest.createcCs |��}|�|ddddd�dS)Nr�r/�ffffff@r)�
any string�r�checkParamsrqrrr�
test_offvalue�szCheckbuttonTest.test_offvaluecCs |��}|�|ddddd�dS)Nr�r/r�r)r�r�rqrrr�test_onvalue�szCheckbuttonTest.test_onvalueN)r r7r8r\rr�r�rrrrr��sr�c@s eZdZdZdd�Zdd�ZdS)�RadiobuttonTest)%r�r�r�r;r�r<r�r�r=r�r`rar>r?r@rAr�r�r�r�r�rCrDrEr�r�r�rGrdr�r�r�r��valuer�rIr�cKstj|jf|�Sr)rJZRadiobuttonrKrLrrrr�szRadiobuttonTest.createcCs |��}|�|ddddd�dS)Nr�r/r�r)r�r�rqrrr�
test_value�szRadiobuttonTest.test_valueN)r r7r8r\rr�rrrrr��s
r�c@speZdZdZee�Zdd�Zdd�Zdd�Z	e
jZe�
ejdkd	�d
d��Zdd
�Zdd�Zdd�Zdd�ZdS)�MenubuttonTest)r�r�r�r;r�r<r�r=�	directionr�r`rar>r?r@rAr�r�r�rBrCrDrEr�rGrdr�r�rIr�cKstj|jf|�Sr)rJZ
MenubuttonrKrLrrrr�szMenubuttonTest.createc	Cs"|��}|�|dddddd�dS)Nr�ZaboveZbelow�flush�left�rightr�rqrrr�test_directions�zMenubuttonTest.test_directioncCs"|��}|j|ddddtd�dS)Nr>�d���r��conv�r�checkIntegerParam�strrqrrr�test_heightszMenubuttonTest.test_height�darwinz"crashes with Cocoa Tk (issue19733)c	Cs�|��}tj|jdd�}|j|d|td�d}|�tj��}d|d<W5QRX|dk	rh|�t|j	�|�|�tj��}|�
ddi�W5QRX|dk	r�|�t|j	�|�dS)NZimage1)Zmasterrtr�r�zimage "spam" doesn't exist�spam)rrJZ
PhotoImagerKrQr��assertRaisesrr�	exceptionZ	configure)r$r%r�r�cmrrr�
test_imageszMenubuttonTest.test_imagecCs4|��}tj|dd�}|j|d|td�|��dS)NrB)rtrN)rrJrPrQrrxrRrrrrSszMenubuttonTest.test_menucCs2|��}|�|ddddd�|j|dddd�dS)	NrC�皙����@�ffffff@�12mrrru�rr�rQrqrrr�	test_padx"szMenubuttonTest.test_padxcCs2|��}|�|ddddd�|j|dddd�dS)	NrDr�r�r�r�rrrur�rqrrr�	test_pady'szMenubuttonTest.test_padycCs"|��}|j|ddddtd�dS)NrI��n���rr�r�rqrrr�
test_width,szMenubuttonTest.test_widthN)r r7r8r\�staticmethodr
r�rr�r�rr��unittestZskipIf�sys�platformr�rSr�r�r�rrrrr��s�
r�c@seZdZddd�ZdS)�OptionMenuTest�b��ar��ccKstj|jd|f|�|�Sr)rJZ
OptionMenurK)r$r5�valuesrMrrrr3szOptionMenuTest.createN)r�r�)r r7r8rrrrrr�1sr�c@sheZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�	EntryTest)r;r<r=�disabledbackgroundr��exportselectionr`rar?r@rA�insertbackground�insertborderwidth�
insertofftime�insertontime�insertwidth�invalidcommandr��readonlybackgroundrE�selectbackground�selectborderwidth�selectforeground�showr�rGr��validate�validatecommandrI�xscrollcommandcKstj|jf|�Sr)rJZEntryrKrLrrrrFszEntryTest.createcCs|��}|�|d�dS)Nr��rZcheckColorParamrqrrr�test_disabledbackgroundIsz!EntryTest.test_disabledbackgroundc
Cs:|jdd�}|�|ddddddd	�|j|dd
dd�dS)
Nr�)r�r�rr|r}r~rr��<�2rur�rqrrr�test_insertborderwidthMs�z EntryTest.test_insertborderwidthcCst|��}|�|dddd�|j|dddd�|j|dddd�td	�d
kr^|j|dd	dd�n|j|dd	dd�dS)Nr�r|�������@r�g�������?�rurg�������?rr/)rr�rQr
rqrrr�test_insertwidthTszEntryTest.test_insertwidthcCs$|��}|�|d�|�|d�dS)Nr�Zinvcmd�rZcheckCommandParamrqrrr�test_invalidcommand^szEntryTest.test_invalidcommandcCs|��}|�|d�dS)Nr�r�rqrrr�test_readonlybackgroundcsz!EntryTest.test_readonlybackgroundcCs6|��}|�|dd�|�|dd�|�|dd�dS)Nr��*r)� �rrQrqrrr�	test_showgszEntryTest.test_showcCs|��}|�|dddd�dS)Nr�r�r��readonlyr�rqrrr�
test_statems�zEntryTest.test_statec
Cs$|��}|�|ddddddd�dS)Nr��all�keyZfocusZfocusinZfocusout�noner�rqrrr�
test_validaters�zEntryTest.test_validatecCs$|��}|�|d�|�|d�dS)Nr�Zvcmdr�rqrrr�test_validatecommandwszEntryTest.test_validatecommandcCs$|��}|�dd�|�|���|�dd�|�|��d�|�|���|�d�|�	d�|�|��d�|�dd�|�|��d	�|�
�|�|���|�dd�|�d�|�|��d
�|�d�|�|��d�|�d�|�|��d
�|�d�|�|��d�|�d�dS�NrZ12345�endr/r��2r���4Z1234Z234�Z2345�r�insertZassertFalseZselection_presentZselection_rangerZ
selection_getZ
assertTrueZselection_fromZselection_to�selection_clearZselection_adjustrqrrr�test_selection_methods|s.





z EntryTest.test_selection_methodsN)r r7r8r\rr�r�r�r�r�r�r�r�r�rrrrrr�7s

r�c@s�eZdZdZdd�ZdZdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�SpinboxTest),r�r;r<�buttonbackground�buttoncursor�buttondownrelief�buttonupreliefr�r=r�r�r�r`ra�format�fromr?r@rA�	incrementr�r�r�r�r�r�r�rEr�r�r�r�r�r�r�rGr��tor�r�r�rI�wrapr�cKstj|jf|�Sr)rJZSpinboxrKrLrrrr�szSpinboxTest.createNcCs|��}|�|d�dS)Nr	r�rqrrr�test_buttonbackground�sz!SpinboxTest.test_buttonbackgroundcCs|��}|�|d�dS)Nr
�rZcheckCursorParamrqrrr�test_buttoncursor�szSpinboxTest.test_buttoncursorcCs|��}|�|d�dS)Nr�rZcheckReliefParamrqrrr�test_buttondownrelief�sz!SpinboxTest.test_buttondownreliefcCs|��}|�|d�dS)Nrrrqrrr�test_buttonuprelief�szSpinboxTest.test_buttonupreliefcCs�|��}|�|dd�|�|dd�|�|dd�|�|dd�|�|dd�|�|dd�|�|dd�|�|dd	�|�|dd
�|�|dd�|�|dd�|�|dd
�dS)Nr
z%2fz%2.2fz%.2fz%2.fz%2e-1fz2.2z%2.-2fz%-2.02fz% 2.02fz	% -2.200fz%09.200fz%d�rrQr"rqrrr�test_format�szSpinboxTest.test_formatcCs>|��}|�|dd�|�|dddd�|j|dddd	�dS)
NrgY@r����ffffff$@�ffffff'@���*-to value must be greater than -from valuer�rrQ�checkFloatParamr"rqrrr�	test_from�s
�zSpinboxTest.test_fromc	Cs"|��}|�|dddddd�dS)Nr���r/rg������)@r�rr rqrrr�test_increment�szSpinboxTest.test_incrementcCs>|��}|�|dd�|�|dddd�|j|dddd	�dS)
NrgY�rrrri8���rrrrqrrr�test_to�s
�zSpinboxTest.test_tocCs\|��}|�|dd�|�|dd�|j|dddd�|j|dddd�|�|dd�dS)Nr�r)zmon tue wed thur)ZmonZtueZwedZthurru)�*g��Q�	@r)r�z42 3.14 {} {any string})rrrQrqrrr�test_values�s
�
�zSpinboxTest.test_valuescCs|��}|�|d�dS)Nr�rZcheckBooleanParamrqrrr�	test_wrap�szSpinboxTest.test_wrapcCs`|��}|�|�d��|�tj|jd�|�tj|jd�|�t|j�|�t|jdd�dS)Nr�noindexr/)r�assertIsBoundingBox�bboxr�rJr�	TypeErrorrqrrr�	test_bbox�szSpinboxTest.test_bboxcCs|��}|�dd�|�|���|�dd�|�|��d�|�|���|�d�|�	d�|�|��d�|�dd�|�|��d	�|�
�|�|���|�dd�|�d�|�|��d
�|�d�|�|��d�|�d�|�|��d
�|�d�|�|��d�dSr�rrqrrrr�s,





z"SpinboxTest.test_selection_methodscCsP|��}|�|��d�|�d�|�|��d�|�d�|�|��d�dS)Nr�ZbuttonupZ
buttondown)rrZselection_elementrqrrr�test_selection_elements

z"SpinboxTest.test_selection_element)r r7r8r\rr�rrrrrr!r$r%r'r)r.rr/rrrrr�s rc@s�eZdZdZedkrdZdd�Zdd�Zedd	�d
d��Z	edd	�dd
��Z
dd�Zdd�Zedd	�dd��Z
edd�dd��Zdd�Zdd�Zdd�Zdd�Zedd	�dd ��Zd!d"�Zd#d$�Zedd	�d%d&��Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�TextTest))�autoseparatorsr;�blockcursorr<r=�endliner�r`rar>r?r@rA�inactiveselectbackgroundr�r�r�r��insertunfocussedr��maxundorCrDrEr�r�r��setgrid�spacing1�spacing2�spacing3�	startliner��tabs�tabstylerG�undorIrr��yscrollcommand��rTcKstj|jf|�Sr)rJZTextrKrLrrrr)szTextTest.createcCs|��}|�|d�dS)Nr1r(rqrrr�test_autoseparators,szTextTest.test_autoseparatorsrArcCs|��}|�|d�dS)Nr2r(rqrrr�test_blockcursor0szTextTest.test_blockcursorcCs�|��}d�dd�td�D��}|�d|�|j|dddd	�|j|dd
dd	�|j|dddd
�|�|dd�|�|dd�|j|dddd
�dS)N�
css|]
}dVqdS�zLine %dNr��.0�irrr�	<genexpr>8sz(TextTest.test_endline.<locals>.<genexpr>r�r�r3rr)rurr��expected integer but got "spam"rr�r;��
�1-startline must be less than or equal to -endline�r�join�rangerrQr"�r$r%rdrrr�test_endline5s
�
�zTextTest.test_endlinecCsD|��}|�|ddddd�|j|dddd�|j|dd	dd�dS)
Nr>r�������LY@�fffff�Y@Z3cr�r/rurr�rqrrrr�CszTextTest.test_heightcCs|��}|�|dddd�dS)Nr6rrr"�rr�rqrrr�test_maxundoIszTextTest.test_maxundocCs|��}|�|d�dS)Nr4r�rqrrr�test_inactiveselectbackgroundMsz&TextTest.test_inactiveselectbackgroundr~cCs|��}|�|dddd�dS)Nr5Zhollowr�Zsolidr�rqrrr�test_insertunfocussedRs�zTextTest.test_insertunfocussedc
Cs*|��}|j|dddddttdkd�dS)Nr�r|r}rr�r@)r��	keep_orig)rr�r	rrqrrr�test_selectborderwidthXs�zTextTest.test_selectborderwidthcCs2|��}|�|ddddd�|j|dddd�dS)	Nr8��ffffff5@皙����6@�0.5c���rrur�rqrrr�
test_spacing1^szTextTest.test_spacing1cCs2|��}|�|ddddd�|j|dddd�dS)	Nr9r皙����@�ffffff@z0.1cr"rrur�rqrrr�
test_spacing2cszTextTest.test_spacing2cCs2|��}|�|ddddd�|j|dddd�dS)	Nr:r[r\r]r^rrrur�rqrrr�
test_spacing3hszTextTest.test_spacing3cCs�|��}d�dd�td�D��}|�d|�|j|dddd	�|j|dd
dd	�|j|dddd
�|�|dd�|�|dd�|j|dddd
�dS)NrDcss|]
}dVqdSrErrFrrrrIpsz*TextTest.test_startline.<locals>.<genexpr>r�r�r;rr)rurr�rJrrLr3r��FrMrNrQrrr�test_startlinems
�
�zTextTest.test_startlinecCs6|��}tdkr"|�|ddd�n|�|ddd�dS)Nr@r�r�r��rrr�rprqrrrr�{szTextTest.test_statecCst|��}t�dkr&|j|dddd�n|�|dd�|j|dddd�|j|dddd�|j|dd	d
tdkd�dS)
N�rAr�r<)rg33333�4@�1i�2i)z10.2z20.7rjrkruz10.2 20.7 1i 2iz2c left 4c 6c center)Z2cr�Z4cZ6cror�zbad screen distance "spam"r@)rrY)rrrQr"rrqrrr�	test_tabs�s 

�
�
�
�zTextTest.test_tabscCs|��}|�|ddd�dS)Nr=ZtabularZ
wordprocessorr�rqrrr�
test_tabstyle�szTextTest.test_tabstylecCs|��}|�|d�dS)Nr>r(rqrrr�	test_undo�szTextTest.test_undocCs>|��}|�|dd�|j|dddd�|j|dddd�dS)NrIr�r�r/rur)rr�rQrqrrrr��szTextTest.test_widthcCs:|��}tdkr$|�|dddd�n|�|dddd�dS)Nr@r�charr�Zwordrgrqrrrr)�szTextTest.test_wrapcCsp|��}|�|�d��|�|�d��|�tj|jd�|�tj|jd�|�t|j�|�t|jdd�dS)Nz1.1r�r*)rr+r,�assertIsNoner�rJrr-rqrrrr.�szTextTest.test_bboxN)r r7r8r\r�
_stringifyrrBrrCrRr�rVrWrXrZr`rcrdrfr�rlrmrnr�r)r.rrrrr0s:








r0c@sjeZdZdZeZdZdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zedd�dd��ZdS)�
CanvasTest)r;r<�closeenough�confiner=r>r?r@rAr�r�r�r�r��offsetrE�scrollregionr�r�r�r�rGr��xscrollincrementr?�yscrollincrementrITcKstj|jf|�Sr)rJZCanvasrKrLrrrr�szCanvasTest.createc	Cs$|��}|j|dddddtd�dS)Nrs��333333@r����r�)rr rrqrrr�test_closeenough�s�zCanvasTest.test_closeenoughcCs|��}|�|d�dS)Nrtr(rqrrr�test_confine�szCanvasTest.test_confinec
Csd|��}|�|dd�|�|dddddddd	d
d�|�|dd�|�|dd
�|�|dd�dS)Nruz0,0rhrirerlrkrmrnrjroz10,20z#5,6r�)rrr�rQr"rqrrr�test_offset�s �zCanvasTest.test_offsetcCsv|��}|�|dd�|j|dddd�|�|dd�|j|dddd�|�|dd	�|�|dd
�|�|dd�dS)Nrvz0 0 200 150)rrr�rur)r�zbad scrollRegion "spam"r)rrrr�)rrr)rrrrrrrqrrr�test_scrollregion�s
�
�zCanvasTest.test_scrollregioncCs |��}|j|ddddd�dS)Nr�r�r�z0bad state value "{}": must be normal or disabledrr�rqrrrr��s�zCanvasTest.test_statec
Cs$|��}|�|ddddddd�dS)Nrw�(rg������D@g������E@i���z0.5ir�rqrrr�test_xscrollincrement�s�z CanvasTest.test_xscrollincrementc
Cs$|��}|�|ddddddd�dS)NrxrLr�ffffff&@g333333+@rz0.1ir�rqrrr�test_yscrollincrement�s�z CanvasTest.test_yscrollincrementrAr~cCsH|��}|jdddddd�}|jdddddd�}|�|�\}}}}|�|�\}}}}|�ddd	�|�|�\}	}
}}|�|�\}}}}|�|	d�|�|
d	�|�||||	�|�||||
�|�||�|jddd
�|�|�\}
}}}|�|�\}}}}|�|d�|�||�|�||	||
�|�||
||�dS)Nr/r[�group)Ztags�r�rerr�)�y)rZcreate_rectangler,ZmovetorZ	tag_lower)r$r%Zi1Zi2Zx1Zy1�_Zx2Zy2Zx1_2Zy1_2Zx2_2Zy2_2Zx1_3Zy1_3Zx2_3Zy2_3rrr�test_moveto�s(zCanvasTest.test_movetoN)r r7r8r\rr�rqrr|r}r~r�r�r�r�rr�rrrrrr�s
	rrc@s�eZdZdZdd�Zdd�Zeddd�ej�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S)&�ListboxTest)�activestyler;r<r=r�r�r`rar>r?r@rAr��listvariablerEr�r�r��
selectmoder7r�rGrIr�r?cKstj|jf|�Sr)rJZListboxrKrLrrrrszListboxTest.createcCs|��}|�|dddd�dS)Nr�Zdotboxr�r�r�rqrrr�test_activestyles�zListboxTest.test_activestylerAr~rcCs&|��}t�|j�}|�|d|�dS)Nr�)rrJZ	DoubleVarrKZcheckVariableParam)r$r%�varrrr�test_listvariable"szListboxTest.test_listvariablecCsD|��}|�|dd�|�|dd�|�|dd�|�|dd�dS)Nr�ZsingleZbrowseZmultipleZextendedr�rqrrr�test_selectmode's
zListboxTest.test_selectmodecCs|��}|�|ddd�dS)Nr�r�r�r�rqrrrr�.szListboxTest.test_statec	CsP|��}|�td��|�d�W5QRXd��}|jd|��t|�D]\}}|j||d�qH|�t��|��W5QRX|�td��|�d�W5QRX|�	|�dd�d	�|�	|�dd�d
�|�	|�dd�d	�|�d�}|�
|t�|��D]P\}}|�
t|�d�t|�d
kr�|�	||�d|��|�	|d|�d|��q�dS)Nzitem number "0" out of rangerz)red orange yellow green blue white violetr�)r;zbad listbox index "red"�redr;)r;r;�
Backgroundr)r�)r;r;r�r)Zvioletz@0,0)r�rrr)r�)r�assertRaisesRegexr�
itemconfigure�splitr�	enumerater�r-r�assertIsInstance�dict�itemsZassertIn�len�itemcget)r$r%ZcolorsrHZcolor�d�k�vrrr�test_itemconfigure2s6���
zListboxTest.test_itemconfigurec	Cs�|��}|�ddddd�|jd
||i�|�|�d|�d|�|�|�d|�|�|�td��|jd|d	i�W5QRXdS)Nr�r�r�r�r�rrzunknown color name "spam"r�)r)r)rrr�rr�r�r)r$rtr�r%rrr�check_itemconfigureMszListboxTest.check_itemconfigurecCs|�dd�dS)Nr;�#ff0000�r��r$rrr�test_itemconfigure_backgroundVsz)ListboxTest.test_itemconfigure_backgroundcCs|�dd�dS)N�bgr�r�r�rrr�test_itemconfigure_bgYsz!ListboxTest.test_itemconfigure_bgcCs|�dd�dS)NZfg�#110022r�r�rrr�test_itemconfigure_fg\sz!ListboxTest.test_itemconfigure_fgcCs|�dd�dS)Nrar�r�r�rrr�test_itemconfigure_foreground_sz)ListboxTest.test_itemconfigure_foregroundcCs|�dd�dS)Nr�r�r�r�rrr�#test_itemconfigure_selectbackgroundbsz/ListboxTest.test_itemconfigure_selectbackgroundcCs|�dd�dS)Nr�z#654321r�r�rrr�#test_itemconfigure_selectforegroundesz/ListboxTest.test_itemconfigure_selectforegroundcCs�|��}|jd	dd�td�D���|��|�|�d��|�|�d��|�|�d��|�t|jd�|�t|jd�|�t	|j�|�t	|jdd�dS)
Nrcss|]}d|VqdS�zel%dNrrFrrrrIjsz'ListboxTest.test_box.<locals>.<genexpr>rAr"rLr*r/)r)
rrrP�packr+r,rpr�rr-�r$Zlbrrr�test_boxhszListboxTest.test_boxcCsl|��}|jd	dd�td�D���|�dtj�|�dd�|�d�|�|��d�|�	t
|jd�dS)
Nrcss|]}d|VqdSr�rrFrrrrIvsz0ListboxTest.test_curselection.<locals>.<genexpr>rAr�rr~)r�r�rr~)r)rrrPrrJZENDZ
selection_setrZcurselectionr�r-r�rrr�test_curselectionts
zListboxTest.test_curselectioncCs6|��}|jddd�td�D���|�|�d�d�|�|�d�d�|�|�d�d	�|�|�d�d
�|�|�d�d
�|�|�dd�d
�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�t|jd�|�t|jd�|�t|j�|�t|jdd�|�t|jddd�|�t|jd�dS)Nrcss|]}d|VqdSr�rrFrrrrIsz'ListboxTest.test_get.<locals>.<genexpr>rA�el0r��el3r��el7r)r"r)r�Zel4�el5)r�Zel6r�r)r�r*r/r�rz)r)rrrPr�getr�rr-r�rrr�test_get}s"zListboxTest.test_getN)r r7r8r\rr�rrZtest_justifyr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�s$		r�c@steZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	ScaleTest)r�r;�bigincrementr<r�r=�digitsr`rarr?r@rAry�length�orientrEr�r��
resolution�	showvalue�sliderlength�sliderreliefr�rG�tickintervalr�troughcolorr�rI�verticalcKstj|jf|�Sr)rJZScalerKrLrrrr�szScaleTest.createcCs|��}|�|dddd�dS)Nr�g������(@g������7@r_r#rqrrr�test_bigincrement�szScaleTest.test_bigincrementcCs|��}|�|ddd�dS)Nr�rrrUrqrrr�test_digits�szScaleTest.test_digitscCs"|��}|j|ddddtd�dS)Nrr��������-@�333333.@r��rr rrqrrrr!�szScaleTest.test_fromcCs(|��}|�|dd�|�|dd�dS)Nryr�r)r�rqrrr�
test_label�szScaleTest.test_labelcCs |��}|�|ddddd�dS)Nr��gffffff`@g33333�`@�5ir�rqrrr�test_length�szScaleTest.test_lengthcCs |��}|�|ddddd�dS)Nr�g������@rg������@rr#rqrrr�test_resolution�szScaleTest.test_resolutioncCs|��}|�|d�dS)Nr�r(rqrrr�test_showvalue�szScaleTest.test_showvaluec	Cs"|��}|�|dddddd�dS)Nr�rLr��333333/@r{Z3mr�rqrrr�test_sliderlength�s�zScaleTest.test_sliderlengthcCs|��}|�|d�dS)Nr�rrqrrr�test_sliderrelief�szScaleTest.test_sliderreliefc	Cs8|��}|j|dddddtd�|j|dddtd	�dS)
Nr�r/�333333@rbrr�rr�)rvr�)rr rrQrqrrr�test_tickinterval�s��zScaleTest.test_tickintervalc	Cs$|��}|j|dddddtd�dS)Nri,r�r�rr�r�rqrrrr%�s�zScaleTest.test_toN)r r7r8r\�default_orientrr�r�r!r�r�r�r�r�r�r�r%rrrrr��s	r�c@sLeZdZdZeZdZdZdd�Zdd�Z	dd	�Z
d
d�Zdd
�Zdd�Z
dS)�
ScrollbarTest)r��activereliefr;r<r�r=�elementborderwidthr?r@rAZjumpr�rEr�r�rGr�rITr�cKstj|jf|�Sr)rJZ	ScrollbarrKrLrrrr�szScrollbarTest.createcCs|��}|�|d�dS)Nr�rrqrrr�test_activerelief�szScrollbarTest.test_activereliefcCs |��}|�|ddddd�dS)Nr�r�r�r�1mr�rqrrr�test_elementborderwidth�sz%ScrollbarTest.test_elementborderwidthcCs |��}|j|ddddd�dS)Nr�r��
horizontalz4bad orientation "{}": must be vertical or horizontalrr�rqrrr�test_orient�s�zScrollbarTest.test_orientcCsZ|��}dD]}|�|�|�|��|�q|�d�|�|���|�t|jdd�dS)N)�arrow1Zslider�arrow2r)r�r�)rZactivaterrpr�r-)r$�sbrerrr�
test_activate�s

zScrollbarTest.test_activatecCs�|��}|�dd�|�|��d�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jd�|�t|jddd�dS)	N皙�����?皙�����?)r�r��abc�defg333333�?gffffff�?g�������?)r�setrr�r�rr-)r$r�rrr�test_set�szScrollbarTest.test_setN)r r7r8r\rr�rqr�rr�r�r�r�r�rrrrr��s		r�c@s.eZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	e
d
dd�dd��Ze
d
dd�dd��Ze
d
dd�dd��Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd@d'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Ze
d
d�d1d2��Zd3d4�Zd5d6�Zd7d8�Zd9d:�Ze
d
d�d;d<��Z d=d>�Z!d?S)A�PanedWindowTest)r;r<r=�	handlepad�
handlesizer>�opaqueresizer��proxybackground�proxyborderwidth�proxyreliefrE�
sashcursor�sashpad�
sashrelief�	sashwidth�
showhandlerIr�cKstj|jf|�Sr)rJZPanedWindowrKrLrrrrszPanedWindowTest.createc	Cs"|��}|�|dddddd�dS)Nr�rrarbr{r�r�rqrrr�test_handlepadszPanedWindowTest.test_handlepadc
Cs&|��}|j|ddddddtd�dS)Nr�rAg������"@g333333%@r{�2mr��rr�r	rqrrr�test_handlesizes�zPanedWindowTest.test_handlesizecCs(|��}|j|dddddddtd�	dS)	Nr>r�rSrTr�rrjr�r�rqrrrr� s�zPanedWindowTest.test_heightcCs|��}|�|d�dS)Nr�r(rqrrr�test_opaqueresize%sz!PanedWindowTest.test_opaqueresizerAr~rcCs|��}|�|d�dS)Nr�r�rqrrr�test_proxybackground)sz$PanedWindowTest.test_proxybackgroundcCs(|��}|j|dddddddtd�	dS)	Nr�rr|g333333@r~rr�r�r�rqrrr�test_proxyborderwidth.s�z%PanedWindowTest.test_proxyborderwidthcCs|��}|�|d�dS)Nr�rrqrrr�test_proxyrelief5sz PanedWindowTest.test_proxyreliefcCs|��}|�|d�dS)Nr�rrqrrr�test_sashcursor:szPanedWindowTest.test_sashcursorc	Cs"|��}|�|dddddd�dS)Nr�rAr|r}rr�r�rqrrr�test_sashpad>szPanedWindowTest.test_sashpadcCs|��}|�|d�dS)Nr�rrqrrr�test_sashreliefBszPanedWindowTest.test_sashreliefc
Cs&|��}|j|ddddddtd�dS)Nr�rLg333333&@r�r{r�r�r�rqrrr�test_sashwidthFs�zPanedWindowTest.test_sashwidthcCs|��}|�|d�dS)Nr�r(rqrrr�test_showhandleKszPanedWindowTest.test_showhandlecCs(|��}|j|dddddddtd�	dS)	NrIr�gfffff6y@g�����Iy@r�rr�r�r�rqrrrr�Os�zPanedWindowTest.test_widthcCs:|��}t�|�}t�|�}|�|�|�|�|||fSr)rrJr��add�r$�pr�r�rrr�create2Ts



zPanedWindowTest.create2cCs�|��\}}}|�t|j�|�|�}|�|t�|��D]D\}}|�t|�d�|�||�||��|�|d|�	||��q:dS)Nrr)
rr�r-�
paneconfigurer�r�r�rr��panecget)r$rr�r�r�r�r�rrr�test_paneconfigure\s
z"PanedWindowTest.test_paneconfigureFcCsrdd�}|jr|rt|�}|jr(|r(t}|j|f||i�|�||�||�d�|�|�||�||��|�dS)NcSs|Srrrrrr�<lambda>g�z5PanedWindowTest.check_paneconfigure.<locals>.<lambda>r)r2r�rrr)r$rr�rtr�rv�	stringifyr�rrr�check_paneconfigurefs

z#PanedWindowTest.check_paneconfigurec	Cs.|�t|��|j|f|di�W5QRXdS)NZbadValue)r�rr)r$rr�rt�msgrrr�check_paneconfigure_badpsz'PanedWindowTest.check_paneconfigure_badcCs8|��\}}}|�||d|t|��|�||dd�dS)NZafter�bad window path name "badValue"�rr
r�rrrrr�test_paneconfigure_afterts

�z(PanedWindowTest.test_paneconfigure_aftercCs8|��\}}}|�||d|t|��|�||dd�dS)N�beforer
rrrrr�test_paneconfigure_beforezs

�z)PanedWindowTest.test_paneconfigure_beforecCs>|��\}}}|j||dddt�dkd�|�||dd�dS)Nr>rLrh�r	�bad screen distance "badValue"�rr
rrrrrr�test_paneconfigure_height�s�
�z)PanedWindowTest.test_paneconfigure_heightcCs4|��\}}}|�||ddd�|�||dd�dS)NZhideFrz)expected boolean value but got "badValue"�rr
rrrrr�test_paneconfigure_hide�s

�z'PanedWindowTest.test_paneconfigure_hidecCs4|��\}}}|�||ddd�|�||dd�dS)NZminsizerLrrrrrr�test_paneconfigure_minsize�s

�z*PanedWindowTest.test_paneconfigure_minsizecCs4|��\}}}|�||ddd�|�||dd�dS)NrCr|r/rrrrrr�test_paneconfigure_padx�s

�z'PanedWindowTest.test_paneconfigure_padxcCs4|��\}}}|�||ddd�|�||dd�dS)NrDr|r/rrrrrr�test_paneconfigure_pady�s

�z'PanedWindowTest.test_paneconfigure_padycCs4|��\}}}|�||ddd�|�||dd�dS)NZstickyZnsewZneswz[bad stickyness value "badValue": must be a string containing zero or more of n, e, s, and wrrrrr�test_paneconfigure_sticky�s

�z)PanedWindowTest.test_paneconfigure_stickycCs4|��\}}}|�||ddd�|�||dd�dS)NZstretchZalw�alwayszEbad stretch "badValue": must be always, first, last, middle, or neverrrrrr�test_paneconfigure_stretch�s

�z*PanedWindowTest.test_paneconfigure_stretchcCs>|��\}}}|j||dddt�dkd�|�||dd�dS)NrIrLrhrrrrrrr�test_paneconfigure_width�s�
�z(PanedWindowTest.test_paneconfigure_widthN)F)"r r7r8r\r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�rrr
rrrrrrrrrrrrrrrr�sF	










r�c@s\eZdZdZeZdd�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�ZdS)�MenuTest)r�Zactiveborderwidthr�r;r<r=r�r`ra�postcommandrEr�rG�tearoff�tearoffcommandr!�typecKstj|jf|�Sr)rJrPrKrLrrrr�szMenuTest.createcCs|��}|�|d�dS)Nr r�rqrrr�test_postcommand�szMenuTest.test_postcommandcCs|��}|�|d�dS)Nr!r(rqrrr�test_tearoff�szMenuTest.test_tearoffcCs|��}|�|d�dS)Nr"r�rqrrr�test_tearoffcommand�szMenuTest.test_tearoffcommandcCs|��}|�|dd�dS)Nr!r�r�rqrrr�
test_title�szMenuTest.test_titlecCs|��}|�|dddd�dS)Nr#r�r!Zmenubarr�rqrrr�	test_type�s�zMenuTest.test_typec	Cs�|��}|jdd�|�t|j�|�td��|�d�W5QRX|�d�}|�|t�|�	�D]X\}}|�|t
�|�|t�|�t
|�d�|�|d|�|�|�d|�|d�qb|��dS)	N�test�ryzbad menu entry index "foo"rsr/rrr)r�add_commandr�r-�entryconfigurer�rr�r�r�r��tuplerr��	entrycgetrx)r$�m1r�r�r�rrr�test_entryconfigure�s
zMenuTest.test_entryconfigurecCsN|��}|jdd�|�|�dd�d�|jddd�|�|�dd�d�dS)Nr)r*r/ry�changed)rr+rr.r,)r$r/rrr�test_entryconfigure_label�s
z"MenuTest.test_entryconfigure_labelcCs||��}t�|j�}t�|j�}|j|dddd�|�t|�dd��t|��|jd|d�|�t|�dd��t|��dS)NTFZNonsense)r�r�r�ryr/r�)r�)	rrJZ
BooleanVarrKZadd_checkbuttonrr�r.r,)r$r/Zv1Zv2rrr�test_entryconfigure_variable�s
�z%MenuTest.test_entryconfigure_variableN)r r7r8r\r	r�rr$r%r&r'r(r0r2r3rrrrr�src@s$eZdZdZeZdd�Zdd�ZdS)�MessageTest)r��aspectr;r<r=r`rar?r@rAr�rCrDrErGrdr�rIcKstj|jf|�Sr)rJZMessagerKrLrrrrszMessageTest.createcCs|��}|�|dddd�dS)Nr5�ri���rUrqrrr�test_aspectszMessageTest.test_aspectN)r r7r8r\r	r9rr7rrrrr4�sr4�__main__)/r�rJrrTr�Ztest.supportrZtkinter.test.supportrrrrZtkinter.test.widget_testsrr	r
rrr
rrrrZTestCaser:r]r_r{r�r�r�r�r�r�r�rr0rrr�r�r�r�rr4Z	tests_guir �mainrrrr�<module>s�(%(	A^YB21D�