HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-37.pyc
B

��gj��@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�B/usr/local/lib/python3.7/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 created)r)r$)rrr)r r!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 created)rT)r(�1)rr�wantobjectsr)r r!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 created)r)r.)rrr)r r!r"rrr�test_visual2s
z AbstractToplevelTest.test_visualN)	r�
__module__�__qualname__r	�_conv_pad_pixelsr#r'r-r0rrrrrs
	rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ToplevelTest)�
background�borderwidthrr$r(�cursor�height�highlightbackground�highlightcolor�highlightthickness�menu�padx�pady�relief�screen�	takefocus�user.�widthcKstj|jf|�S)N)�tkinterZToplevel�root)r �kwargsrrrrEszToplevelTest.createcCs8|��}t�|j�}|j|d|td�|�|dd�dS)Nr<)�eqr%)rrD�MenurE�
checkParamr)r r!r<rrr�	test_menuHszToplevelTest.test_menucCsx|��}|�|dd�ytjd}Wntk
rD|�d�YnX|j|d|dd�|j|d�}|�|d|�dS)Nr@r%ZDISPLAYzNo $DISPLAY set.z3can't modify -screen option after widget is created)r)r@)rr�os�environ�KeyErrorZskipTestr)r r!Zdisplayr"rrr�test_screenNs
zToplevelTest.test_screenc	Csh|��}|�|dd�|jdd�}t|���}|j|d��"|j|d�}|�|d|�WdQRXdS)NrBr%T)r()�wid)rB)rr�hexZwinfo_idZsubTest)r r!�parentrOr"rrr�test_useZszToplevelTest.test_useN)rr1r2�OPTIONSrrJrNrRrrrrr4;s
r4c@seZdZdZdd�ZdS)�	FrameTest)r5r6rr$r(r7r8r9r:r;r=r>r?rAr.rCcKstj|jf|�S)N)rDZFramerE)r rFrrrrmszFrameTest.createN)rr1r2rSrrrrrrTdsrTc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�LabelFrameTest)r5r6rr$r(r7�font�
foregroundr8r9r:r;�labelanchor�labelwidgetr=r>r?rA�textr.rCcKstj|jf|�S)N)rDZ
LabelFramerE)r rFrrrr|szLabelFrameTest.createcCs>|��}|�|ddddddddd	d
ddd
�|�|dd�dS)NrX�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)rZ�namerYz.foo)�expected)rrD�LabelrErI�destroy)r r!�labelrrr�test_labelwidget�szLabelFrameTest.test_labelwidgetN)rr1r2rSrrgrnrrrrrUqsrUc@seZdZeZdd�ZdS)�AbstractLabelTestc
Cs$|��}|�|ddddddd�dS)Nr;rg�������?g������@�����10p)r�checkPixelsParam)r r!rrr�test_highlightthickness�sz)AbstractLabelTest.test_highlightthicknessN)rr1r2r	�_conv_pixelsrtrrrrro�sroc@seZdZdZdd�ZdS)�	LabelTest)�activebackground�activeforeground�anchorr5�bitmapr6�compoundr7�disabledforegroundrVrWr8r9r:r;�image�justifyr=r>r?�staterArZ�textvariable�	underlinerC�
wraplengthcKstj|jf|�S)N)rDrkrE)r rFrrrr�szLabelTest.createN)rr1r2rSrrrrrrv�s	rvc@s eZdZdZdd�Zdd�ZdS)�
ButtonTest) rwrxryr5rzr6�commandr{r7r/r|rVrWr8r9r:r;r}r~�
overreliefr=r>r?�repeatdelay�repeatintervalrrArZr�r�rCr�cKstj|jf|�S)N)rD�ButtonrE)r rFrrrr�szButtonTest.createcCs|��}|�|dddd�dS)Nr/Zactive�disabled�normal)rrf)r r!rrr�test_default�szButtonTest.test_defaultN)rr1r2rSrr�rrrrr��s
r�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�CheckbuttonTest)&rwrxryr5rzr6r�r{r7r|rVrWr8r9r:r;r}�indicatoronr~�	offrelief�offvalue�onvaluer�r=r>r?�selectcolor�selectimagerrArZr��
tristateimage�
tristatevaluer��variablerCr�cKstj|jf|�S)N)rDZCheckbuttonrE)r rFrrrr�szCheckbuttonTest.createcCs |��}|�|ddddd�dS)Nr�r*gffffff@r%z
any string)r�checkParams)r r!rrr�
test_offvalue�szCheckbuttonTest.test_offvaluecCs |��}|�|ddddd�dS)Nr�r*gffffff@r%z
any string)rr�)r r!rrr�test_onvalue�szCheckbuttonTest.test_onvalueN)rr1r2rSrr�r�rrrrr��s
r�c@s eZdZdZdd�Zdd�ZdS)�RadiobuttonTest)%rwrxryr5rzr6r�r{r7r|rVrWr8r9r:r;r}r�r~r�r�r=r>r?r�r�rrArZr�r�r�r��valuer�rCr�cKstj|jf|�S)N)rDZRadiobuttonrE)r rFrrrr�szRadiobuttonTest.createcCs |��}|�|ddddd�dS)Nr�r*gffffff@r%z
any string)rr�)r r!rrr�
test_value�szRadiobuttonTest.test_valueN)rr1r2rSrr�rrrrr��sr�c@speZdZdZee�Zdd�Zdd�Zdd�Z	e
jZe�
ejdkd	�d
d��Zdd
�Zdd�Zdd�Zdd�ZdS)�MenubuttonTest)rwrxryr5rzr6r{r7�	directionr|rVrWr8r9r:r;r}r�r~r<r=r>r?rrArZr�r�rCr�cKstj|jf|�S)N)rDZ
MenubuttonrE)r rFrrrr�szMenubuttonTest.createc	Cs"|��}|�|dddddd�dS)Nr�ZaboveZbelow�flush�left�right)rrf)r r!rrr�test_directionszMenubuttonTest.test_directioncCs"|��}|j|ddddtd�dS)Nr8�di����r)�conv)r�checkIntegerParam�str)r r!rrr�test_heightszMenubuttonTest.test_height�darwinz"crashes with Cocoa Tk (issue19733)c	Cs�|��}tj|jdd�}|j|d|td�d}|�tj��}d|d<WdQRX|dk	rh|�t|j	�|�|�tj��}|�
ddi�WdQRX|dk	r�|�t|j	�|�dS)NZimage1)Zmasterrir})r�zimage "spam" doesn't exist�spam)rrDZ
PhotoImagerErIr��assertRaisesrrZ	exceptionZ	configure)r r!r}r�cmrrr�
test_imageszMenubuttonTest.test_imagecCs4|��}tj|dd�}|j|d|td�|��dS)Nr<)ri)rG)rrDrHrIrrl)r r!r<rrrrJszMenubuttonTest.test_menucCs2|��}|�|ddddd�|j|dddd�dS)	Nr=�g������@gffffff@�12mrqr)rj)rrsrI)r r!rrr�	test_padx"szMenubuttonTest.test_padxcCs2|��}|�|ddddd�|j|dddd�dS)	Nr>r�g������@gffffff@r�rqr)rj)rrsrI)r r!rrr�	test_pady'szMenubuttonTest.test_padycCs"|��}|j|ddddtd�dS)NrCi�in���r)r�)rr�r�)r r!rrr�
test_width,szMenubuttonTest.test_widthN)rr1r2rS�staticmethodr
rurr�r�rrt�unittestZskipIf�sys�platformr�rJr�r�r�rrrrr��s
r�c@seZdZddd�ZdS)�OptionMenuTest�b��ar��ccKstj|jd|f|�|�S)N)rDZ
OptionMenurE)r r/�valuesrFrrrr3szOptionMenuTest.createN)r�r�)rr1r2rrrrrr�1sr�c@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�	EntryTest)r5r6r7�disabledbackgroundr|�exportselectionrVrWr9r:r;�insertbackground�insertborderwidth�
insertofftime�insertontime�insertwidth�invalidcommandr~�readonlybackgroundr?�selectbackground�selectborderwidth�selectforeground�showrrAr��validate�validatecommandrC�xscrollcommandcKstj|jf|�S)N)rDZEntryrE)r rFrrrrFszEntryTest.createcCs|��}|�|d�dS)Nr�)r�checkColorParam)r r!rrr�test_disabledbackgroundIsz!EntryTest.test_disabledbackgroundc
Cs:|jdd�}|�|ddddddd	�|j|dd
dd�dS)
Nr�)r�r�rg�������?g������@rprqrr�<�2)rj)rrsrI)r r!rrr�test_insertborderwidthMsz EntryTest.test_insertborderwidthcCst|��}|�|dddd�|j|dddd�|j|dddd�td	�d
kr^|j|dd	dd�n|j|dd	dd�dS)Nr�g�������?g������@rrg�������?�)rjrqg�������?rr*)rrsrIr
)r r!rrr�test_insertwidthTszEntryTest.test_insertwidthcCs$|��}|�|d�|�|d�dS)Nr�Zinvcmd)r�checkCommandParam)r r!rrr�test_invalidcommand^szEntryTest.test_invalidcommandcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_readonlybackgroundcsz!EntryTest.test_readonlybackgroundcCs6|��}|�|dd�|�|dd�|�|dd�dS)Nr��*r%� )rrI)r r!rrr�	test_showgszEntryTest.test_showcCs|��}|�|dddd�dS)Nrr�r��readonly)rrf)r r!rrr�
test_statemszEntryTest.test_statec
Cs$|��}|�|ddddddd�dS)Nr��all�keyZfocusZfocusinZfocusout�none)rrf)r r!rrr�
test_validaterszEntryTest.test_validatecCs$|��}|�|d�|�|d�dS)Nr�Zvcmd)rr�)r r!rrr�test_validatecommandwszEntryTest.test_validatecommandN)rr1r2rSrr�r�r�r�r�r�r�r�r�rrrrr�7s
r�c@s|eZdZdZdd�ZdZdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�SpinboxTest),rwr5r6�buttonbackground�buttoncursor�buttondownrelief�buttonupreliefr�r7r�r|r�rVrW�format�fromr9r:r;�	incrementr�r�r�r�r�r�r~r?r�r�r�r�r�r�rrAr��tor�r�r�rC�wrapr�cKstj|jf|�S)N)rDZSpinboxrE)r rFrrrr�szSpinboxTest.createNcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_buttonbackground�sz!SpinboxTest.test_buttonbackgroundcCs|��}|�|d�dS)Nr�)r�checkCursorParam)r r!rrr�test_buttoncursor�szSpinboxTest.test_buttoncursorcCs|��}|�|d�dS)Nr�)r�checkReliefParam)r r!rrr�test_buttondownrelief�sz!SpinboxTest.test_buttondownreliefcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�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)rrIr)r r!rrr�test_format�szSpinboxTest.test_formatcCs>|��}|�|dd�|�|dddd�|j|dddd	�dS)
Nr�gY@r�i����gffffff$@gffffff'@��z*-to value must be greater than -from value)r)rrI�checkFloatParamr)r r!rrr�	test_from�s

zSpinboxTest.test_fromc	Cs"|��}|�|dddddd�dS)Nr����r*gffffff$@g������)@r)rr�)r r!rrr�test_increment�szSpinboxTest.test_incrementcCs>|��}|�|dd�|�|dddd�|j|dddd	�dS)
Nr�gY�r�i����gffffff$@gffffff'@i8���z*-to value must be greater than -from value)r)rrIr�r)r r!rrr�test_to�s

zSpinboxTest.test_tocCs\|��}|�|dd�|�|dd�|j|dddd�|j|dddd�|�|dd�dS)Nr�r%zmon tue wed thur)ZmonZtueZwedZthur)rj)�*g��Q�	@r%z
any stringz42 3.14 {} {any string})rrrI)r r!rrr�test_values�s

zSpinboxTest.test_valuescCs|��}|�|d�dS)Nr�)r�checkBooleanParam)r r!rrr�	test_wrap�szSpinboxTest.test_wrapcCs`|��}|�|�d��|�tj|jd�|�tj|jd�|�t|j�|�t|jdd�dS)Nr�noindexr*)r�assertIsBoundingBox�bboxr�rDr�	TypeError)r r!rrr�	test_bbox�szSpinboxTest.test_bboxcCsP|��}|�|��d�|�d�|�|��d�|�d�|�|��d�dS)Nr�ZbuttonupZ
buttondown)rrZselection_element)r r!rrr�test_selection_element�s

z"SpinboxTest.test_selection_element)rr1r2rSrr�r�r�r�r�r�r�r�r�r�r�r�rrrrrr�}sr�c@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))�autoseparatorsr5�blockcursorr6r7�endliner�rVrWr8r9r:r;�inactiveselectbackgroundr�r�r�r��insertunfocussedr��maxundor=r>r?r�r�r��setgrid�spacing1�spacing2�spacing3�	startliner�tabs�tabstylerA�undorCr�r��yscrollcommand)��TcKstj|jf|�S)N)rDZTextrE)r rFrrrr�szTextTest.createcCs|��}|�|d�dS)Nr)rr�)r r!rrr�test_autoseparators�szTextTest.test_autoseparatorsrrcCs|��}|�|d�dS)Nr)rr�)r r!rrr�test_blockcursor�szTextTest.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>sz(TextTest.test_endline.<locals>.<genexpr>r��endrr�r%)rji����r�zexpected integer but got "spam")rr�r��
z1-startline must be less than or equal to -endline)r�join�range�insertrIr)r r!rZrrr�test_endlines

zTextTest.test_endlinecCsD|��}|�|ddddd�|j|dddd�|j|dd	dd�dS)
Nr8r�g�����LY@gfffff�Y@Z3ci����r*)rjr)rrsrI)r r!rrrr�szTextTest.test_heightcCs|��}|�|dddd�dS)Nrrrr�)rr�)r r!rrr�test_maxundoszTextTest.test_maxundocCs|��}|�|d�dS)Nr)rr�)r r!rrr�test_inactiveselectbackgroundsz&TextTest.test_inactiveselectbackgroundrpcCs|��}|�|dddd�dS)NrZhollowr�Zsolid)rrf)r r!rrr�test_insertunfocussed!szTextTest.test_insertunfocussedc
Cs*|��}|j|dddddttdkd�dS)Nr�g�������?g������@rqrr)rr)r��	keep_orig)rrsr	r)r r!rrr�test_selectborderwidth's
zTextTest.test_selectborderwidthcCs2|��}|�|ddddd�|j|dddd�dS)	Nr	�gffffff5@g������6@z0.5c���r)rj)rrsrI)r r!rrr�
test_spacing1-szTextTest.test_spacing1cCs2|��}|�|ddddd�|j|dddd�dS)	Nr
rg������@gffffff@z0.1cr�r)rj)rrsrI)r r!rrr�
test_spacing22szTextTest.test_spacing2cCs2|��}|�|ddddd�|j|dddd�dS)	Nrr%gffffff5@g������6@z0.5ci����r)rj)rrsrI)r r!rrr�
test_spacing37szTextTest.test_spacing3cCs�|��}d�dd�td�D��}|�d|�|j|dddd	�|j|dd
dd	�|j|dddd
�|�|dd�|�|dd�|j|dddd
�dS)Nrcss|]
}dVqdS)zLine %dNr)rrrrrr?sz*TextTest.test_startline.<locals>.<genexpr>r�rrr�r%)rji����r�zexpected integer but got "spam")rrrr��Fz1-startline must be less than or equal to -endline)rrrrrIr)r r!rZrrr�test_startline<s

zTextTest.test_startlinecCs6|��}tdkr"|�|ddd�n|�|ddd�dS)N)rrrr�r�)rrr�rf)r r!rrrr�JszTextTest.test_statecCst|��}t�dkr&|j|dddd�n|�|dd�|j|dddd�|j|dddd�|j|dd	d
tdkd�dS)
N)rr�r
)gffffff$@g33333�4@�1i�2i)z10.2z20.7r-r.)rjz10.2 20.7 1i 2iz2c left 4c 6c center)Z2cr�Z4cZ6crer�zbad screen distance "spam")rr)rr#)rrrIrr)r r!rrr�	test_tabsQs





zTextTest.test_tabscCs|��}|�|ddd�dS)NrZtabularZ
wordprocessor)rrf)r r!rrr�
test_tabstyle`szTextTest.test_tabstylecCs|��}|�|d�dS)Nr)rr�)r r!rrr�	test_undoeszTextTest.test_undocCs>|��}|�|dd�|j|dddd�|j|dddd�dS)NrCi�in���r*)rjr)rr�rI)r r!rrrr�iszTextTest.test_widthcCs:|��}tdkr$|�|dddd�n|�|dddd�dS)N)rrr��charr�Zword)rrr�rf)r r!rrrr�oszTextTest.test_wrapcCsp|��}|�|�d��|�|�d��|�tj|jd�|�tj|jd�|�t|j�|�t|jdd�dS)Nz1.1rr�)rr�r��assertIsNoner�rDrr�)r r!rrrr�vszTextTest.test_bboxN)rr1r2rSr�
_stringifyrrrrrr�r r!r"r$r'r(r)r+r�r/r0r1r�r�r�rrrrr�s.rc@sXeZdZdZeZdZdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�ZdS)�
CanvasTest)r5r6�closeenough�confiner7r8r9r:r;r�r�r�r�r��offsetr?�scrollregionr�r�r�rrAr��xscrollincrementr�yscrollincrementrCTcKstj|jf|�S)N)rDZCanvasrE)r rFrrrr�szCanvasTest.createc	Cs$|��}|j|dddddtd�dS)Nr6�g333333@g������@���)r�)rr�r)r r!rrr�test_closeenough�szCanvasTest.test_closeenoughcCs|��}|�|d�dS)Nr7)rr�)r r!rrr�test_confine�szCanvasTest.test_confinec
Csd|��}|�|dd�|�|dddddddd	d
d�|�|dd�|�|dd
�|�|dd�dS)Nr8z0,0r^r_r[rbrarcrdr`rez10,20z#5,6r�)rrr�rIr)r r!rrr�test_offset�szCanvasTest.test_offsetcCsv|��}|�|dd�|j|dddd�|�|dd�|j|dddd�|�|dd	�|�|dd
�|�|dd�dS)Nr9z0 0 200 150)rrr��)rjr%r�zbad scrollRegion "spam")r)rrr�r�)rrr�)rrr�rAr)rrIr)r r!rrr�test_scrollregion�s

zCanvasTest.test_scrollregioncCs |��}|j|ddddd�dS)Nrr�r�z0bad state value "{}": must be normal or disabled)r)rrf)r r!rrrr��szCanvasTest.test_statec
Cs$|��}|�|ddddddd�dS)Nr:�(rg������D@g������E@i���z0.5i)rrs)r r!rrr�test_xscrollincrement�sz CanvasTest.test_xscrollincrementc
Cs$|��}|�|ddddddd�dS)Nr;rrgffffff&@g333333+@i����z0.1i)rrs)r r!rrr�test_yscrollincrement�sz CanvasTest.test_yscrollincrementN)rr1r2rSrrur4rr>r?r@rBr�rDrErrrrr5�s	r5c@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)�activestyler5r6r7r|r�rVrWr8r9r:r;r~�listvariabler?r�r�r��
selectmoderrrArCr�rcKstj|jf|�S)N)rDZListboxrE)r rFrrrr�szListboxTest.createcCs|��}|�|dddd�dS)NrGZdotboxr�r�)rrf)r r!rrr�test_activestyle�szListboxTest.test_activestylerrprcCs&|��}t�|j�}|�|d|�dS)NrH)rrDZ	DoubleVarrEZcheckVariableParam)r r!�varrrr�test_listvariable�szListboxTest.test_listvariablecCsD|��}|�|dd�|�|dd�|�|dd�|�|dd�dS)NrIZsingleZbrowseZmultipleZextended)rrI)r r!rrr�test_selectmode�s
zListboxTest.test_selectmodecCs|��}|�|ddd�dS)Nrr�r�)rrf)r r!rrrr��szListboxTest.test_statec	Cs\|��}|�td��|�d�WdQRXd��}|jd|��x"t|�D]\}}|j||d�qJW|�t��|��WdQRX|�td��|�d�WdQRX|�	|�dd�d	�|�	|�dd�d
�|�	|�dd�d	�|�d�}|�
|t�x`|��D]T\}}|�
t|�d�t|�d
k�r|�	||�d|��|�	|d|�d|���qWdS)Nzitem number "0" out of rangerz)red orange yellow green blue white violetr)r5zbad listbox index "red"�redr5)r5r5�
Backgroundr%rN)r5r5rOr%Zvioletz@0,0)r�rr�)r)r�assertRaisesRegexr�
itemconfigure�splitr�	enumerater�r�r�assertIsInstance�dict�itemsZassertIn�len�itemcget)r r!ZcolorsrZcolor�d�k�vrrr�test_itemconfigure�s0
zListboxTest.test_itemconfigurec	Cs�|��}|�ddddd�|jd
||i�|�|�d|�d|�|�|�d|�|�|�td��|jd|d	i�WdQRXdS)Nrr�r�r�rZrrPzunknown color name "spam"r�)r)r)rrrRrrYrQr)r rir�r!rrr�check_itemconfigureszListboxTest.check_itemconfigurecCs|�dd�dS)Nr5z#ff0000)r^)r rrr�test_itemconfigure_backgroundsz)ListboxTest.test_itemconfigure_backgroundcCs|�dd�dS)N�bgz#ff0000)r^)r rrr�test_itemconfigure_bgsz!ListboxTest.test_itemconfigure_bgcCs|�dd�dS)NZfgz#110022)r^)r rrr�test_itemconfigure_fgsz!ListboxTest.test_itemconfigure_fgcCs|�dd�dS)NrWz#110022)r^)r rrr�test_itemconfigure_foregroundsz)ListboxTest.test_itemconfigure_foregroundcCs|�dd�dS)Nr�z#110022)r^)r rrr�#test_itemconfigure_selectbackgroundsz/ListboxTest.test_itemconfigure_selectbackgroundcCs|�dd�dS)Nr�z#654321)r^)r rrr�#test_itemconfigure_selectforegroundsz/ListboxTest.test_itemconfigure_selectforegroundcCs�|��}|jd	dd�td�D���|��|�|�d��|�|�d��|�|�d��|�t|jd�|�t|jd�|�t	|j�|�t	|jdd�dS)
Nrcss|]}d|VqdS)zel%dNr)rrrrrr"sz'ListboxTest.test_box.<locals>.<genexpr>rr�rr�r*)r)
rrr�packr�r�r3r�rr�)r �lbrrr�test_box szListboxTest.test_boxcCsl|��}|jd	dd�td�D���|�dtj�|�dd�|�d�|�|��d�|�	t
|jd�dS)
Nrcss|]}d|VqdS)zel%dNr)rrrrrr.sz0ListboxTest.test_curselection.<locals>.<genexpr>rr�rPrp)r�r�rPrp)r)rrrZselection_clearrDZENDZ
selection_setrZcurselectionr�r�)r rgrrr�test_curselection,s
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|VqdS)zel%dNr)rrrrrr7sz'ListboxTest.test_get.<locals>.<genexpr>r�el0r��el3r�el7r%r�r)rkZel4�el5)rmZel6rlr)rjr�r*r�g333333@)r)rrrr�getr�rr�)r rgrrr�test_get5s"zListboxTest.test_getN)rr1r2rSrrJrrZtest_justifyrLrMr�r]r^r_rarbrcrdrerhrirorrrrrF�s$
		rFc@steZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	ScaleTest)rwr5�bigincrementr6r�r7�digitsrVrWr�r9r:r;rm�length�orientr?r�r��
resolution�	showvalue�sliderlength�sliderreliefrrA�tickintervalr��troughcolorr�rC�verticalcKstj|jf|�S)N)rDZScalerE)r rFrrrrVszScaleTest.createcCs|��}|�|dddd�dS)Nrqg������(@g������7@r&)rr�)r r!rrr�test_bigincrementYszScaleTest.test_bigincrementcCs|��}|�|ddd�dS)Nrrrr)rr�)r r!rrr�test_digits]szScaleTest.test_digitscCs"|��}|j|ddddtd�dS)Nr�r�g������-@g333333.@)r�)rr�r)r r!rrrr�aszScaleTest.test_fromcCs(|��}|�|dd�|�|dd�dS)Nrmz
any stringr%)rrI)r r!rrr�
test_labeleszScaleTest.test_labelcCs |��}|�|ddddd�dS)Nrs�gffffff`@g33333�`@�5i)rrs)r r!rrr�test_lengthjszScaleTest.test_lengthcCs |��}|�|ddddd�dS)Nrug������@rg������@rq)rr�)r r!rrr�test_resolutionnszScaleTest.test_resolutioncCs|��}|�|d�dS)Nrv)rr�)r r!rrr�test_showvaluerszScaleTest.test_showvaluec	Cs"|��}|�|dddddd�dS)Nrwrgffffff&@g333333/@r=Z3m)rrs)r r!rrr�test_sliderlengthvszScaleTest.test_sliderlengthcCs|��}|�|d�dS)Nrx)rr�)r r!rrr�test_sliderrelief{szScaleTest.test_sliderreliefc	Cs8|��}|j|dddddtd�|j|dddtd	�dS)
Nryr*g333333@gffffff@r)r�rqr�)rjr�)rr�rrI)r r!rrr�test_tickintervals
zScaleTest.test_tickintervalc	Cs$|��}|j|dddddtd�dS)Nr�i,g������-@g333333.@i����)r�)rr�r)r r!rrrr��szScaleTest.test_toN)rr1r2rS�default_orientrr|r}r�r~r�r�r�r�r�r�r�rrrrrpIsrpc@sLeZdZdZeZdZdZdd�Zdd�Z	dd	�Z
d
d�Zdd
�Zdd�Z
dS)�
ScrollbarTest)rw�activereliefr5r6r�r7�elementborderwidthr9r:r;Zjumprtr?r�r�rArzrCTr{cKstj|jf|�S)N)rDZ	ScrollbarrE)r rFrrrr�szScrollbarTest.createcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_activerelief�szScrollbarTest.test_activereliefcCs |��}|�|ddddd�dS)Nr�g333333@gffffff@rq�1m)rrs)r r!rrr�test_elementborderwidth�sz%ScrollbarTest.test_elementborderwidthcCs |��}|j|ddddd�dS)Nrtr{�
horizontalz4bad orientation "{}": must be vertical or horizontal)r)rrf)r r!rrr�test_orient�szScrollbarTest.test_orientcCs^|��}x&dD]}|�|�|�|��|�qW|�d�|�|���|�t|jdd�dS)N)�arrow1Zslider�arrow2r%r�r�)rZactivaterr3r�r�)r �sbr[rrr�
test_activate�s


zScrollbarTest.test_activatecCs�|��}|�dd�|�|��d�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jd�|�t|jddd�dS)	Ng�������?g�������?)g�������?g�������?�abc�defg333333�?gffffff�?g�������?)r�setrrnr�rr�)r r�rrr�test_set�szScrollbarTest.test_setN)rr1r2rSrrur4r�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)r5r6r7�	handlepad�
handlesizer8�opaqueresizert�proxybackground�proxyborderwidth�proxyreliefr?�
sashcursor�sashpad�
sashrelief�	sashwidth�
showhandlerCr�cKstj|jf|�S)N)rDZPanedWindowrE)r rFrrrr�szPanedWindowTest.createc	Cs"|��}|�|dddddd�dS)Nr�rg������@gffffff@r=r�)rrs)r r!rrr�test_handlepad�szPanedWindowTest.test_handlepadc
Cs&|��}|j|ddddddtd�dS)Nr�rg������"@g333333%@r=�2m)r�)rrsr	)r r!rrr�test_handlesize�szPanedWindowTest.test_handlesizecCs(|��}|j|dddddddtd�	dS)	Nr8r�g�����LY@gfffff�Y@i����rr-)r�)rrsr	)r r!rrrr��szPanedWindowTest.test_heightcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_opaqueresize�sz!PanedWindowTest.test_opaqueresizerrprcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_proxybackground�sz$PanedWindowTest.test_proxybackgroundcCs(|��}|j|dddddddtd�	dS)	Nr�rg�������?g333333@rprqrr)r�)rrsr	)r r!rrr�test_proxyborderwidth�sz%PanedWindowTest.test_proxyborderwidthcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_proxyrelief�sz PanedWindowTest.test_proxyreliefcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_sashcursor�szPanedWindowTest.test_sashcursorc	Cs"|��}|�|dddddd�dS)Nr�rg�������?g������@rqr�)rrs)r r!rrr�test_sashpad�szPanedWindowTest.test_sashpadcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_sashrelief�szPanedWindowTest.test_sashreliefc
Cs&|��}|j|ddddddtd�dS)Nr�rg333333&@g333333/@r=r�)r�)rrsr	)r r!rrr�test_sashwidth�szPanedWindowTest.test_sashwidthcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_showhandleszPanedWindowTest.test_showhandlecCs(|��}|j|dddddddtd�	dS)	NrCi�gfffff6y@g�����Iy@in���rr�)r�)rrsr	)r r!rrrr�szPanedWindowTest.test_widthcCs:|��}t�|�}t�|�}|�|�|�|�|||fS)N)rrDr��add)r �pr�r�rrr�create2s



zPanedWindowTest.create2cCs�|��\}}}|�t|j�|�|�}|�|t�xP|��D]D\}}|�t|�d�|�||�||��|�|d|�	||��q<WdS)NrrP)
r�r�r��
paneconfigurerUrVrWrrX�panecget)r r�r�r�rZr[r\rrr�test_paneconfigures
z"PanedWindowTest.test_paneconfigureFcCsrdd�}|jr|rt|�}|jr(|r(t}|j|f||i�|�||�||�d�|�|�||�||��|�dS)NcSs|S)Nr)rrrr�<lambda>�z5PanedWindowTest.check_paneconfigure.<locals>.<lambda>rP)r,r�r�rr�)r r�r�rir�rj�	stringifyr�rrr�check_paneconfigures

z#PanedWindowTest.check_paneconfigurec	Cs.|�t|��|j|f|di�WdQRXdS)NZbadValue)rQrr�)r r�r�ri�msgrrr�check_paneconfigure_bad(sz'PanedWindowTest.check_paneconfigure_badcCs8|��\}}}|�||d|t|��|�||dd�dS)NZafterzbad window path name "badValue")r�r�r�r�)r r�r�r�rrr�test_paneconfigure_after,s
z(PanedWindowTest.test_paneconfigure_aftercCs8|��\}}}|�||d|t|��|�||dd�dS)NZbeforezbad window path name "badValue")r�r�r�r�)r r�r�r�rrr�test_paneconfigure_before2s
z)PanedWindowTest.test_paneconfigure_beforecCs>|��\}}}|j||dddt�dkd�|�||dd�dS)Nr8r)rrr,)r�zbad screen distance "badValue")r�r�rr�)r r�r�r�rrr�test_paneconfigure_height8s

z)PanedWindowTest.test_paneconfigure_heightcCs4|��\}}}|�||ddd�|�||dd�dS)NZhideFrz)expected boolean value but got "badValue")r�r�r�)r r�r�r�rrr�test_paneconfigure_hide?s
z'PanedWindowTest.test_paneconfigure_hidecCs4|��\}}}|�||ddd�|�||dd�dS)NZminsizerzbad screen distance "badValue")r�r�r�)r r�r�r�rrr�test_paneconfigure_minsizeFs
z*PanedWindowTest.test_paneconfigure_minsizecCs4|��\}}}|�||ddd�|�||dd�dS)Nr=g�������?r*zbad screen distance "badValue")r�r�r�)r r�r�r�rrr�test_paneconfigure_padxLs
z'PanedWindowTest.test_paneconfigure_padxcCs4|��\}}}|�||ddd�|�||dd�dS)Nr>g�������?r*zbad screen distance "badValue")r�r�r�)r r�r�r�rrr�test_paneconfigure_padyRs
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 w)r�r�r�)r r�r�r�rrr�test_paneconfigure_stickyXs
z)PanedWindowTest.test_paneconfigure_stickycCs4|��\}}}|�||ddd�|�||dd�dS)NZstretchZalw�alwayszEbad stretch "badValue": must be always, first, last, middle, or never)r�r�r�)r r�r�r�rrr�test_paneconfigure_stretch`s
z*PanedWindowTest.test_paneconfigure_stretchcCs>|��\}}}|j||dddt�dkd�|�||dd�dS)NrCr)rrr,)r�zbad screen distance "badValue")r�r�rr�)r r�r�r�rrr�test_paneconfigure_widthhs

z(PanedWindowTest.test_paneconfigure_widthN)F)"rr1r2rSr�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s<


r�c@s\eZdZdZeZdd�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�ZdS)�MenuTest)rwZactiveborderwidthrxr5r6r7r|rVrW�postcommandr?r�rA�tearoff�tearoffcommandr�typecKstj|jf|�S)N)rDrHrE)r rFrrrr{szMenuTest.createcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_postcommand~szMenuTest.test_postcommandcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_tearoff�szMenuTest.test_tearoffcCs|��}|�|d�dS)Nr�)rr�)r r!rrr�test_tearoffcommand�szMenuTest.test_tearoffcommandcCs|��}|�|dd�dS)Nrz
any string)rrI)r r!rrr�
test_title�szMenuTest.test_titlecCs|��}|�|dddd�dS)Nr�r�r�Zmenubar)rrf)r r!rrr�	test_type�szMenuTest.test_typec	Cs�|��}|jdd�|�t|j�|�td��|�d�WdQRX|�d�}|�|t�xd|�	�D]X\}}|�|t
�|�|t�|�t
|�d�|�|d|�|�|�d|�|d�qdW|��dS)	N�test)rmzbad menu entry index "foo"rhr*rrrP)r�add_commandr�r��entryconfigurerQrrUrVrWr��tuplerrX�	entrycgetrl)r �m1rZr[r\rrr�test_entryconfigure�s
zMenuTest.test_entryconfigurecCsN|��}|jdd�|�|�dd�d�|jddd�|�|�dd�d�dS)Nr�)rmr*rmZchanged)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�rmr*r�)r�)	rrDZ
BooleanVarrEZadd_checkbuttonrr�r�r�)r r�Zv1Zv2rrr�test_entryconfigure_variable�s
z%MenuTest.test_entryconfigure_variableN)rr1r2rSr	rurr�r�r�r�r�r�r�r�rrrrr�psr�c@s$eZdZdZeZdd�Zdd�ZdS)�MessageTest)ry�aspectr5r6r7rVrWr9r:r;r~r=r>r?rArZr�rCcKstj|jf|�S)N)rDZMessagerE)r rFrrrr�szMessageTest.createcCs|��}|�|dddd�dS)Nr��ri���)rr�)r r!rrr�test_aspect�szMessageTest.test_aspectN)rr1r2rSr	r3rr�rrrrr��sr��__main__)/r�rDrrKr�Ztest.supportrZtkinter.test.supportrrrrZtkinter.test.widget_testsrr	r
rrr
rrrrZTestCaser4rTrUrorvr�r�r�r�r�r�r�rr5rFrpr�r�r�r�Z	tests_guir�mainrrrr�<module>st(%(	AEhBB21D