HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/tkinter/test/test_tkinter/__pycache__/test_widgets.cpython-311.opt-2.pyc
�

��VcM����ddlZddlZddlmZddlZddlmZddlmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZed��d�ZGd�d	e
e��Zee��Gd
�deej����Zee��Gd�d
eej����Zee��Gd�deej����ZGd�de
e��Zee��Gd�deej����Zee��Gd�deej����Zee��Gd�deej����Zee��Gd�deej����Zee��Gd�deej����ZGd�deej��Zeee��Gd�de
ej����Zee��Gd �d!eej����Z ee��Gd"�d#e
ej����Z!eee��Gd$�d%e
ej����Z"eee��Gd&�d'e
ej����Z#eee��Gd(�d)e
ej����Z$eee��Gd*�d+e
ej����Z%ee��Gd,�d-e
ej����Z&ee��Gd.�d/e
ej����Z'eee��Gd0�d1e
ej����Z(Gd2�d3e
ej��Z)ee"eeeeee#ee'e(ee&ee$e%e e!ee)fZ*e+d4krej,��dSdS)5�N)�TclError)�requires)�requires_tcl�get_tk_patchlevel�	widget_eq�AbstractDefaultRootTest)�add_standard_options�AbstractWidgetTest�StandardOptionsTests�IntegerSizeTests�PixelSizeTests�setUpModule�guic�:�tt|����S�N)�float�round)�xs �:D:\Python311\Lib\tkinter\test\test_tkinter\test_widgets.py�float_roundrs����q���?�?��c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�AbstractToplevelTestFc�4�|���}|�|d|jj�����|�|ddd���|�d���}|�|dd��dS)N�class�Fooz2can't modify -class option after widget is created��errmsg)�class_)�create�assertEqual�	__class__�__name__�title�checkInvalidParam��self�widget�widget2s   r�test_configure_classz)AbstractToplevelTest.test_configure_classs����������������)�2�8�8�:�:�	<�	<�	<����v�w��K�	�	M�	M�	M��+�+�U�+�+�+�������)�5�1�1�1�1�1rc��|���}|�|dd��|�|ddd���|�d���}|�|dd��dS)N�colormap��newz5can't modify -colormap option after widget is createdr)r,�r r!r%r&s   r�test_configure_colormapz,AbstractToplevelTest.test_configure_colormap"s�������������
�+�R�0�0�0����v�z�5�N�	�	P�	P�	P��+�+�u�+�-�-�������,�e�4�4�4�4�4rc� �|���}|�|d|jrdnd��|�|ddd���|�d���}|�|d|jrdnd	��dS)
N�	containerr�0�z6can't modify -container option after widget is createdrT�r2�1)r r!�wantobjectsr%r&s   r�test_configure_containerz-AbstractToplevelTest.test_configure_container*s��������������,�4�3C�.L�a�a��M�M�M����v�{�A�O�	�	Q�	Q�	Q��+�+��+�-�-�������-�D�4D�/M�q�q�#�N�N�N�N�Nrc��|���}|�|dd��|�|ddd���|�d���}|�|dd��dS)N�visualr-�defaultz3can't modify -visual option after widget is createdr)r:r/r&s   r�test_configure_visualz*AbstractToplevelTest.test_configure_visual2s��������������)�2�.�.�.����v�x��L�	�	N�	N�	N��+�+�Y�+�/�/�������*�I�6�6�6�6�6rN)r#�
__module__�__qualname__�_conv_pad_pixelsr*r0r8r<�rrrrsY��������2�2�2�5�5�5�O�O�O�7�7�7�7�7rrc�*�eZdZdZd�Zd�Zd�Zd�ZdS)�ToplevelTest)�
background�borderwidthrr,r2�cursor�height�highlightbackground�highlightcolor�highlightthickness�menu�padx�pady�relief�screen�	takefocus�user:�widthc�0�tj|jfi|��Sr)�tkinter�Toplevel�root�r'�kwargss  rr zToplevelTest.createEs�����	�4�4�V�4�4�4rc���|���}tj|j��}|�|d|t
���|�|dd��dS)NrJ��eqr-)r rS�MenurU�
checkParamr�r'r(rJs   r�test_configure_menuz ToplevelTest.test_configure_menuHsV���������|�D�I�&�&����������;�;�;�������+�+�+�+�+rc�n�|���}|�|dd��	tjd}n%#t$r|�d��YnwxYw|�|d|d���|�|���}|�|d|��dS)NrNr-�DISPLAYzNo $DISPLAY set.z3can't modify -screen option after widget is createdr)rN)r r!�os�environ�KeyError�skipTestr%)r'r(�displayr)s    r�test_configure_screenz"ToplevelTest.test_configure_screenNs��������������)�2�.�.�.�	.��j��+�G�G���	.�	.�	.��M�M�,�-�-�-�-�-�	.�������v�x��L�	�	N�	N�	N��+�+�W�+�-�-�������*�G�4�4�4�4�4s�A�A'�&A'c��|���}|�|dd��|�d���}t|�����}|�|���5|�|���}|�|d|��ddd��dS#1swxYwYdS)NrPr-Tr5)�wid)rP)r r!�hex�winfo_id�subTest)r'r(�parentrhr)s     r�test_configure_usezToplevelTest.test_configure_useZs����������������+�+�+����t��,�,���&�/�/�#�#�$�$��
�\�\�c�\�
"�
"�	2�	2��k�k�c�k�*�*�G����W�U�^�S�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�>3B>�>C�CN)r#r=r>�OPTIONSr r^rfrmr@rrrBrB;sW�������G�5�5�5�,�,�,�
5�
5�
5�2�2�2�2�2rrBc��eZdZdZd�ZdS)�	FrameTest)rCrDrr,r2rErFrGrHrIrKrLrMrOr:rQc�0�tj|jfi|��Sr)rS�FramerUrVs  rr zFrameTest.createm����}�T�Y�1�1�&�1�1�1rN�r#r=r>rnr r@rrrprpds*�������G�2�2�2�2�2rrpc�$�eZdZdZd�Zd�Zd�ZdS)�LabelFrameTest)rCrDrr,r2rE�font�
foregroundrFrGrHrI�labelanchor�labelwidgetrKrLrMrO�textr:rQc�0�tj|jfi|��Sr)rS�
LabelFramerUrVs  rr zLabelFrameTest.create|����!�$�)�6�6�v�6�6�6rc��|���}|�|ddddddddd	d
ddd
��|�|dd��dS)Nry�e�en�es�n�ne�nw�s�se�sw�w�wn�ws�center)r �checkEnumParamr%�r'r(s  r�test_configure_labelanchorz)LabelFrameTest.test_configure_labelanchorse�����������F�M���t�S�$����t�S�$��	>�	>�	>�	
���v�}�h�?�?�?�?�?rc��|���}tj|jdd���}|�|d|d���|���dS)N�Mupp�foo)r{�namerzz.foo��expected)r rS�LabelrUr\�destroy)r'r(�labels   r�test_configure_labelwidgetz)LabelFrameTest.test_configure_labelwidget�sR���������
�d�i�f�5�A�A�A������
�u�v��F�F�F�
�
�
�����rN)r#r=r>rnr r�r�r@rrrvrvqsK�������G�7�7�7�@�@�@�����rrvc��eZdZdZd�ZdS)�AbstractLabelTestFc
�f�|���}|�|ddddddd��dS)NrIr��������?�������@�����10p�r �checkPixelsParamr�s  r�!test_configure_highlightthicknessz3AbstractLabelTest.test_configure_highlightthickness�sC�����������f�&:���c�1�b�%�	9�	9�	9�	9�	9rN)r#r=r>�_conv_pixelsr�r@rrr�r��s(�������L�9�9�9�9�9rr�c��eZdZdZd�ZdS)�	LabelTest)�activebackground�activeforeground�anchorrC�bitmaprD�compoundrE�disabledforegroundrwrxrFrGrHrI�image�justifyrKrLrM�staterOr{�textvariable�	underlinerQ�
wraplengthc�0�tj|jfi|��Sr)rSr�rUrVs  rr zLabelTest.create�rsrNrtr@rrr�r��s*�������G�2�2�2�2�2rr�c��eZdZdZd�Zd�ZdS)�
ButtonTest) r�r�r�rCr�rD�commandr�rEr;r�rwrxrFrGrHrIr�r��
overreliefrKrLrM�repeatdelay�repeatintervalr�rOr{r�r�rQr�c�0�tj|jfi|��Sr)rS�ButtonrUrVs  rr zButtonTest.create�����~�d�i�2�2�6�2�2�2rc�`�|���}|�|dddd��dS)Nr;�active�disabled�normal�r r�r�s  r�test_configure_defaultz!ButtonTest.test_configure_default�s1�����������F�I�x��X�N�N�N�N�NrN)r#r=r>rnr r�r@rrr�r��s>������	,�G�3�3�3�O�O�O�O�Orr�c�$�eZdZdZd�Zd�Zd�ZdS)�CheckbuttonTest)&r�r�r�rCr�rDr�r�rEr�rwrxrFrGrHrIr��indicatoronr��	offrelief�offvalue�onvaluer�rKrLrM�selectcolor�selectimager�rOr{r��
tristateimage�
tristatevaluer��variablerQr�c�0�tj|jfi|��Sr)rS�CheckbuttonrUrVs  rr zCheckbuttonTest.create�����"�4�9�7�7��7�7�7rc�b�|���}|�|ddddd��dS)Nr�r4�ffffff@r-�
any string�r �checkParamsr�s  r�test_configure_offvaluez'CheckbuttonTest.test_configure_offvalue�s3�������������Q��R��F�F�F�F�Frc�b�|���}|�|ddddd��dS)Nr�r4r�r-r�r�r�s  r�test_configure_onvaluez&CheckbuttonTest.test_configure_onvalue�s3�������������A�s�B��E�E�E�E�ErN)r#r=r>rnr r�r�r@rrr�r��sP�������G�8�8�8�G�G�G�F�F�F�F�Frr�c��eZdZdZd�Zd�ZdS)�RadiobuttonTest)%r�r�r�rCr�rDr�r�rEr�rwrxrFrGrHrIr�r�r�r�r�rKrLrMr�r�r�rOr{r�r�r�r��valuer�rQr�c�0�tj|jfi|��Sr)rS�RadiobuttonrUrVs  rr zRadiobuttonTest.create�r�rc�b�|���}|�|ddddd��dS)Nr�r4r�r-r�r�r�s  r�test_configure_valuez$RadiobuttonTest.test_configure_value�s3�������������!�S�"�l�C�C�C�C�CrN)r#r=r>rnr r�r@rrr�r��s>�������G�8�8�8�D�D�D�D�Drr�c�T�eZdZdZeZd�Zd�Zd�Ze	j
Z
d�Zd�Zd�Z
d�Zd	�Zd
S)�MenubuttonTest)r�r�r�rCr�rDr�rE�	directionr�rwrxrFrGrHrIr�r�r�rJrKrLrMr�rOr{r�r�rQr�c�0�tj|jfi|��Sr)rS�
MenubuttonrUrVs  rr zMenubuttonTest.create�r~rc	�d�|���}|�|dddddd��dS)Nr��above�below�flush�left�rightr�r�s  r�test_configure_directionz'MenubuttonTest.test_configure_directions@�����������F�K���'�6�7�	<�	<�	<�	<�	<rc�n�|���}|�|ddddt���dS)NrF�d���r��conv�r �checkIntegerParam�strr�s  r�test_configure_heightz$MenubuttonTest.test_configure_heights6�����������v�x��d�A�C��H�H�H�H�Hrc�d�|���}tj|jd���}|�|d|t
���d}|�tj��5}d|d<ddd��n#1swxYwY|�(|�t|j	��|��|�tj��5}|�
ddi��ddd��n#1swxYwY|�*|�t|j	��|��dSdS)N�image1)�masterr�r�r�zimage "spam" doesn't exist�spam)r rS�
PhotoImagerUr\r��assertRaisesrr!�	exception�	configure)r'r(r�r�cms     r�test_configure_imagez#MenubuttonTest.test_configure_image
s����������"�$�)�(�C�C�C��������S��9�9�9�.��
�
�
�w�/�
0�
0�	%�B�$�F�7�O�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��	8����S���.�.��7�7�7�
�
�
�w�/�
0�
0�	0�B����g�v�.�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��	8����S���.�.��7�7�7�7�7�	8�	8s$�/B�B�B�C9�9C=�C=c��|���}tj|d���}|�|d|t���|���dS)NrJ)r�rY)r rSr[r\rr�r]s   rr^z"MenubuttonTest.test_configure_menusN���������|�F��0�0�0����������;�;�;��������rc��|���}|�|ddddd��|�|ddd���dS)	NrK�皙����@�ffffff@�12mr�rr��r r�r\r�s  r�test_configure_padxz"MenubuttonTest.test_configure_padx!�M�����������f�f�a��c�5�A�A�A�������Q��7�7�7�7�7rc��|���}|�|ddddd��|�|ddd���dS)	NrLrrrrr�rr�rr�s  r�test_configure_padyz"MenubuttonTest.test_configure_pady&rrc�n�|���}|�|ddddt���dS)NrQ��n���rr�r�r�s  r�test_configure_widthz#MenubuttonTest.test_configure_width+s6�����������v�w��T�1�3��G�G�G�G�GrN)r#r=r>rnrr�r r�r�rr�r�r^rr
rr@rrr�r��s�������
�G��L�7�7�7�<�<�<�
I�I�I�
	�>�&�8�8�8����8�8�8�
8�8�8�
H�H�H�H�Hrr�c��eZdZdd�Zd�ZdS)�OptionMenuTest�b��ar�cc�:�tj|jd|g|�Ri|��Sr)rS�
OptionMenurU)r'r;�valuesrWs    rr zOptionMenuTest.create2s)���!�$�)�T�7�N�V�N�N�N�v�N�N�Nrc��|�td��5tj|jddd���ddd��dS#1swxYwYdS)Nz^unknown option -image$rr-)r�)�assertRaisesRegexrrSrrU�r's r�test_bad_kwargzOptionMenuTest.test_bad_kwarg5s���
�
#�
#�H�.H�
I�
I�	?�	?���t�y�$��2�>�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�A�A�AN)rr)r#r=r>r rr@rrrr0s;������O�O�O�O�?�?�?�?�?rrc�T�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�	EntryTest)rCrDrE�disabledbackgroundr��exportselectionrwrxrGrHrI�insertbackground�insertborderwidth�
insertofftime�insertontime�insertwidth�invalidcommandr��readonlybackgroundrM�selectbackground�selectborderwidth�selectforeground�showr�rOr��validate�validatecommandrQ�xscrollcommandc�0�tj|jfi|��Sr)rS�EntryrUrVs  rr zEntryTest.createIrsrc�Z�|���}|�|d��dS)Nr�r �checkColorParamr�s  r�!test_configure_disabledbackgroundz+EntryTest.test_configure_disabledbackgroundL�,�����������V�%9�:�:�:�:�:rc
��|�d���}|�|ddddddd	��|�|dd
d���dS)
Nr�)r$r!rr�r�r�r�r��<�2r�rr�s  r� test_configure_insertborderwidthz*EntryTest.test_configure_insertborderwidthPsb�������-�-�����f�&9���c�1�b�%�	9�	9�	9�	
���� 3�R�&��I�I�I�I�Irc��|���}|�|dddd��|�|ddd���|�|ddd���|�|dd	d
���dS)Nr$r��������@r�g�������?�r�r�g�������?r4rr�s  r�test_configure_insertwidthz$EntryTest.test_configure_insertwidthWs�����������f�m�S�#�u�E�E�E�����
�s�Q��?�?�?�����
�r�A��>�>�>�����
�s�Q��?�?�?�?�?rc��|���}|�|d��|�|d��dS)Nr%�invcmd�r �checkCommandParamr�s  r�test_configure_invalidcommandz'EntryTest.test_configure_invalidcommand^sB�����������v�'7�8�8�8����v�x�0�0�0�0�0rc�Z�|���}|�|d��dS)Nr&r1r�s  r�!test_configure_readonlybackgroundz+EntryTest.test_configure_readonlybackgroundcr4rc��|���}|�|dd��|�|dd��|�|dd��dS)Nr*�*r-� �r r\r�s  r�test_configure_showzEntryTest.test_configure_showgsW��������������,�,�,�������+�+�+�������,�,�,�,�,rc�`�|���}|�|dddd��dS)Nr�r�r��readonlyr�r�s  r�test_configure_statezEntryTest.test_configure_statems<�����������F�G�&��*�	>�	>�	>�	>�	>rc
�f�|���}|�|ddddddd��dS)Nr+�all�key�focus�focusin�focusout�noner�r�s  r�test_configure_validatez!EntryTest.test_configure_validatersG�����������F�J��u�g�y�*�f�	F�	F�	F�	F�	Frc��|���}|�|d��|�|d��dS)Nr,�vcmdr?r�s  r�test_configure_validatecommandz(EntryTest.test_configure_validatecommandwsB�����������v�'8�9�9�9����v�v�.�.�.�.�.rc�F�|���}|�dd��|�|�����|�dd��|�|���d��|�|�����|�d��|�	d��|�|���d��|�dd��|�|���d	��|�
��|�|�����|�dd��|�d��|�|���d
��|�d��|�|���d��|�d��|�|���d
��|�d��|�|���d��|�d��dS�Nr�12345�endr4r;�2r��4�1234�234��2345�r �insert�assertFalse�selection_present�selection_ranger!�
selection_get�
assertTrue�selection_from�selection_to�selection_clear�selection_adjustr�s  r�test_selection_methodsz EntryTest.test_selection_methods|sU���������
�
�a��!�!�!�����1�1�3�3�4�4�4����q�%�(�(�(�����-�-�/�/��9�9�9�����0�0�2�2�3�3�3����a� � � ����A��������-�-�/�/��5�5�5����q�!�$�$�$�����-�-�/�/��5�5�5���� � � �����1�1�3�3�4�4�4����q�%�(�(�(�����"�"�"�����-�-�/�/��8�8�8�����"�"�"�����-�-�/�/��7�7�7�����"�"�"�����-�-�/�/��8�8�8�����"�"�"�����-�-�/�/��9�9�9�����"�"�"�"�"rN)r#r=r>rnr r3r8r<rArCrHrKrSrVrmr@rrrr:s��������G�2�2�2�;�;�;�J�J�J�@�@�@�1�1�1�
;�;�;�-�-�-�>�>�>�
F�F�F�
/�/�/�
#�#�#�#�#rrc�j�eZdZdZd�ZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZdS)�SpinboxTest),r�rCrD�buttonbackground�buttoncursor�buttondownrelief�buttonupreliefr�rErr�rrwrx�format�fromrGrHrI�	incrementr r!r"r#r$r%r�rMr&r�r�r'r(r)r�rOr��tor+r,rrQ�wrapr-c�0�tj|jfi|��Sr)rS�SpinboxrUrVs  rr zSpinboxTest.create������t�y�3�3�F�3�3�3rNc�Z�|���}|�|d��dS)Nrpr1r�s  r�test_configure_buttonbackgroundz+SpinboxTest.test_configure_buttonbackground�s,�����������V�%7�8�8�8�8�8rc�Z�|���}|�|d��dS)Nrq�r �checkCursorParamr�s  r�test_configure_buttoncursorz'SpinboxTest.test_configure_buttoncursor��+�����������f�n�5�5�5�5�5rc�Z�|���}|�|d��dS)Nrr�r �checkReliefParamr�s  r�test_configure_buttondownreliefz+SpinboxTest.test_configure_buttondownrelief�s,�����������f�&8�9�9�9�9�9rc�Z�|���}|�|d��dS)Nrsr�r�s  r�test_configure_buttonupreliefz)SpinboxTest.test_configure_buttonuprelief�s,�����������f�&6�7�7�7�7�7rc�V�|���}|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd	��|�|dd
��|�|dd��|�|dd��|�|dd
��dS)Nrtz%2fz%2.2fz%.2fz%2.fz%2e-1fz2.2z%2.-2fz%-2.02fz% 2.02fz	% -2.200fz%09.200fz%d�r r\r%r�s  r�test_configure_formatz!SpinboxTest.test_configure_format�s%�������������%�0�0�0������'�2�2�2������&�1�1�1������&�1�1�1����v�x��:�:�:����v�x��7�7�7����v�x��:�:�:������)�4�4�4������)�4�4�4������+�6�6�6������*�5�5�5����v�x��6�6�6�6�6rc��|���}|�|dd��|�|dddd��|�|ddd�	��dS)
NrwgY@ru����ffffff$@�ffffff'@���*-to value must be greater than -from valuer�r r\�checkFloatParamr%r�s  r�test_configure_fromzSpinboxTest.test_configure_from�sv�������������e�,�,�,����V�V�S�$��=�=�=����v�v�s�C�	�	E�	E�	E�	E�	Erc	�d�|���}|�|dddddd��dS)Nrv���r4r�g������)@r�r r�r�s  r�test_configure_incrementz$SpinboxTest.test_configure_increment�s5�����������V�[�"�a��t�Q�G�G�G�G�Grc��|���}|�|dd��|�|dddd��|�|ddd�	��dS)
NrugY�rwr�r�r�i8���r�rr�r�s  r�test_configure_tozSpinboxTest.test_configure_to�sv��������������/�/�/����V�T�3��d�;�;�;����v�t�T�C�	�	E�	E�	E�	E�	Erc�&�|���}|�|dd��|�|dd��|�|ddd���|�|ddd���|�|dd��dS)Nrr-zmon tue wed thur)�mon�tue�wed�thurr�)�*g��Q�	@r-r�z42 3.14 {} {any string})r r!r\r�s  r�test_configure_valuesz!SpinboxTest.test_configure_values�s��������������)�2�.�.�.������*<�=�=�=������*G�!3�	�	5�	5�	5������*F�!:�	�	<�	<�	<������"�-�-�-�-�-rc�Z�|���}|�|d��dS)Nrx�r �checkBooleanParamr�s  r�test_configure_wrapzSpinboxTest.test_configure_wrap��+�����������v�v�.�.�.�.�.rc��|���}|�|�d����|�tj|jd��|�tj|jd��|�t|j��|�t|jdd��dS)Nr�noindexr4)r �assertIsBoundingBox�bboxr�rSr�	TypeErrorr�s  r�	test_bboxzSpinboxTest.test_bbox�s���������� � ����Q���0�0�0����'�*�F�K��C�C�C����'�*�F�K��>�>�>����)�V�[�1�1�1����)�V�[�!�Q�7�7�7�7�7rc��|���}|�dd��|�|�����|�dd��|�|���d��|�|�����|�d��|�	d��|�|���d��|�dd��|�|���d	��|�
��|�|�����|�dd��|�d��|�|���d
��|�d��|�|���d��|�d��|�|���d
��|�d��|�|���d��dSrXrbr�s  rrmz"SpinboxTest.test_selection_methods�sA���������
�
�a��!�!�!�����1�1�3�3�4�4�4����q�%�(�(�(�����-�-�/�/��9�9�9�����0�0�2�2�3�3�3����a� � � ����A��������-�-�/�/��5�5�5����q�!�$�$�$�����-�-�/�/��5�5�5���� � � �����1�1�3�3�4�4�4����q�%�(�(�(�����"�"�"�����-�-�/�/��8�8�8�����"�"�"�����-�-�/�/��7�7�7�����"�"�"�����-�-�/�/��8�8�8�����"�"�"�����-�-�/�/��9�9�9�9�9rc�r�|���}|�|���d��|�d��|�|���d��|�d��|�|���d��dS)NrR�buttonup�
buttondown)r r!�selection_elementr�s  r�test_selection_elementz"SpinboxTest.test_selection_elements�������������1�1�3�3�V�<�<�<�� � ��,�,�,�����1�1�3�3�Z�@�@�@�� � ��.�.�.�����1�1�3�3�\�B�B�B�B�Br)r#r=r>rnr rHr}r�r�r�r�r�r�r�r�r�r�rmr�r@rrroro�s�������G�"4�4�4���9�9�9�6�6�6�:�:�:�8�8�8�
7�
7�
7�E�E�E�H�H�H�E�E�E�	.�	.�	.�/�/�/�8�8�8�:�:�:�0C�C�C�C�Crroc��eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
ed	d
��d���Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TextTest))�autoseparatorsrC�blockcursorrDrE�endlinerrwrxrFrGrHrI�inactiveselectbackgroundr r!r"r#�insertunfocussedr$�maxundorKrLrMr'r(r)�setgrid�spacing1�spacing2�spacing3�	startliner��tabs�tabstylerO�undorQrxr-�yscrollcommandc�0�tj|jfi|��Sr)rS�TextrUrVs  rr zTextTest.create'����|�D�I�0�0��0�0�0rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_autoseparatorsz&TextTest.test_configure_autoseparators*�,�����������v�'7�8�8�8�8�8rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_blockcursorz#TextTest.test_configure_blockcursor.�+�����������v�}�5�5�5�5�5rc���|���}d�d�td��D����}|�d|��|�|ddd���|�|dd	d���|�|dd
d���|�|dd
��|�|dd��|�|ddd���dS)N�
c3�K�|]}dV��dS�zLine %dNr@��.0�is  r�	<genexpr>z2TextTest.test_configure_endline.<locals>.<genexpr>4�"����7�7�q��7�7�7�7�7�7rr�rZr�r�r-r�r�r��expected integer but got "spam"rr7r���
�1-startline must be less than or equal to -endline�r �join�rangercr\r%�r'r(r{s   r�test_configure_endlinezTextTest.test_configure_endline2s���������y�y�7�7�E�#�J�J�7�7�7�7�7���
�
�e�T�"�"�"�����	�3���<�<�<�����	�3���<�<�<����v�y�&�8�	�	:�	:�	:�����	�2�.�.�.������R�0�0�0����v�y�"�J�	�	L�	L�	L�	L�	Lrc���|���}|�|ddddd��|�|ddd���|�|dd	d���dS)
NrFr�������LY@�fffff�Y@�3cr�r4r�rrr�s  rr�zTextTest.test_configure_height?sg�����������f�h��U�E�4�H�H�H������$���;�;�;������!�a��8�8�8�8�8rc�`�|���}|�|dddd��dS)Nr�rr`r��r r�r�s  r�test_configure_maxundozTextTest.test_configure_maxundoEs1�����������v�y�!�Q��;�;�;�;�;rc�Z�|���}|�|d��dS)Nr�r1r�s  r�'test_configure_inactiveselectbackgroundz0TextTest.test_configure_inactiveselectbackgroundIs,�����������V�%?�@�@�@�@�@r�r�c�`�|���}|�|dddd��dS)Nr��hollowrR�solidr�r�s  r�test_configure_insertunfocussedz(TextTest.test_configure_insertunfocussedMs=�����������F�$6�$�f�g�	7�	7�	7�	7�	7rc	�f�|���}|�|dddddd���dS)Nr(r�r�r�r�Fr�r�r�s  r� test_configure_selectborderwidthz)TextTest.test_configure_selectborderwidthSsF�����������f�&9�!�3��E��	�	?�	?�	?�	?�	?rc��|���}|�|ddddd��|�|ddd���dS)	Nr���ffffff5@皙����6@�0.5c���rr�rr�s  r�test_configure_spacing1z TextTest.test_configure_spacing1XsM�����������f�j�"�d�D�&�I�I�I�����
�B���;�;�;�;�;rc��|���}|�|ddddd��|�|ddd���dS)	Nr�r`皙����@�ffffff@z0.1cr�rr�rr�s  r�test_configure_spacing2z TextTest.test_configure_spacing2]sM�����������f�j�!�S�#�v�F�F�F�����
�B���;�;�;�;�;rc��|���}|�|ddddd��|�|ddd���dS)	Nr�r�r�r�r�r�rr�rr�s  r�test_configure_spacing3z TextTest.test_configure_spacing3bsM�����������f�j�"�d�D�&�I�I�I�����
�C�!��<�<�<�<�<rc���|���}d�d�td��D����}|�d|��|�|ddd���|�|dd	d���|�|dd
d���|�|dd
��|�|dd��|�|ddd���dS)Nr�c3�K�|]}dV��dSr�r@r�s  rr�z4TextTest.test_configure_startline.<locals>.<genexpr>ir�rr�rZr�r�r-r�r�r�r�rr�r�r7�Fr�r�r�s   r�test_configure_startlinez!TextTest.test_configure_startlinegs���������y�y�7�7�E�#�J�J�7�7�7�7�7���
�
�e�T�"�"�"������S�2��>�>�>������S�2��>�>�>����v�{�F�8�	�	:�	:�	:������R�0�0�0�����	�2�.�.�.����v�{�B�J�	�	L�	L�	L�	L�	Lrc�^�|���}|�|ddd��dS�Nr�r�r�r�r�s  rrKzTextTest.test_configure_statet�/�����������F�G�Z��B�B�B�B�Brc���|���}|�|dd��|�|ddd���|�|ddd���|�|ddd	�
��dS)Nr�)r�g33333�4@�1i�2iz10.2 20.7 1i 2i)z10.2z20.7rrr�z2c left 4c 6c center)�2cr��4c�6cr�r�zbad screen distance "spam"rr�r�s  r�test_configure_tabszTextTest.test_configure_tabsxs��������������(@�A�A�A������(9�!=�	�	?�	?�	?������(>�!E�	�	G�	G�	G����v�v�v�&B�	�	D�	D�	D�	D�	Drc�^�|���}|�|ddd��dS)Nr��tabular�
wordprocessorr�r�s  r�test_configure_tabstylez TextTest.test_configure_tabstyle�s/�����������F�J�	�?�K�K�K�K�Krc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_undozTextTest.test_configure_undo�r�rc��|���}|�|dd��|�|ddd���|�|ddd���dS)NrQrr
r4r�r)r r�r\r�s  rrzTextTest.test_configure_width�sa�����������v�w��4�4�4���������:�:�:�������Q��7�7�7�7�7rc�`�|���}|�|dddd��dS)Nrx�charrR�wordr�r�s  rr�zTextTest.test_configure_wrap�s1�����������F�F�F�F�F�C�C�C�C�Crc���|���}|�|�d����|�|�d����|�t
j|jd��|�t
j|jd��|�t|j��|�t|jdd��dS)Nz1.1rZr�)r r�r��assertIsNoner�rSrr�r�s  rr�zTextTest.test_bbox�s���������� � ����U�!3�!3�4�4�4����&�+�+�e�,�,�-�-�-����'�*�F�K��C�C�C����'�*�F�K��>�>�>����)�V�[�1�1�1����)�V�[�%��?�?�?�?�?rN)r#r=r>rnr r�r�r�r�r�r�rr�r�r�r�r�r�rKr	r
rrr�r�r@rrr�r�sz�������G�1�1�1�9�9�9�6�6�6�L�L�L�9�9�9�<�<�<�A�A�A��\�!�Q���7�7���7�
?�?�?�
<�<�<�
<�<�<�
=�=�=�
L�L�L�C�C�C�D�D�D�L�L�L�/�/�/�8�8�8�D�D�D�@�@�@�@�@rr�c�t�eZdZdZeZdZd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zedd��d
���ZdS)�
CanvasTest)rCrD�closeenough�confinerErFrGrHrIr r!r"r#r$�offsetrM�scrollregionr'r(r)r�rOr-�xscrollincrementr��yscrollincrementrQTc�0�tj|jfi|��Sr)rS�CanvasrUrVs  rr zCanvasTest.create�r�rc	�p�|���}|�|dddddt���dS)Nr��333333@r:���r�)r r�rr�s  r�test_configure_closeenoughz%CanvasTest.test_configure_closeenough�sE�����������V�]�B��S�"�"'�	�	)�	)�	)�	)�	)rc�Z�|���}|�|d��dS)Nrr�r�s  r�test_configure_confinez!CanvasTest.test_configure_confine��+�����������v�y�1�1�1�1�1rc
�.�|���}|�|dd��|�|dddddddd	d
d��|�|dd��|�|dd
��|�|dd��dS)Nrz0,0r�r�r�r�r�r�r�r�r�z10,20z#5,6r�)r r!r�r\r%r�s  r�test_configure_offsetz CanvasTest.test_configure_offset�s��������������)�5�1�1�1�������T�3��c�4��d�H�	F�	F�	F������'�2�2�2������&�1�1�1����v�x��8�8�8�8�8rc�x�|���}|�|dd��|�|ddd���|�|dd��|�|ddd���|�|dd	��|�|dd
��|�|dd��dS)Nrz0 0 200 150)rrr��r�r-r�zbad scrollRegion "spam"r)rrr�r�)rrr�)rrr�r+rr�r�s  r�test_configure_scrollregionz&CanvasTest.test_configure_scrollregion�s��������������
�>�>�>������0@�!.�	�	0�	0�	0�������3�3�3����v�~�v�&?�	�	A�	A�	A����v�~�7J�K�K�K����v�~�{�C�C�C����v�~�7J�K�K�K�K�Krc�b�|���}|�|dddd���dS)Nr�r�r�z0bad state value "{}": must be normal or disabledrr�r�s  rrKzCanvasTest.test_configure_state�sF�����������F�G�Z��I�	�	K�	K�	K�	K�	Krc
�f�|���}|�|ddddddd��dS)Nr�(rg������D@g������E@i���z0.5ir�r�s  r�test_configure_xscrollincrementz*CanvasTest.test_configure_xscrollincrement��C�����������f�&8� �!�T�4��f�	>�	>�	>�	>�	>rc
�f�|���}|�|ddddddd��dS)Nrr�r�ffffff&@g333333+@r�z0.1ir�r�s  r�test_configure_yscrollincrementz*CanvasTest.test_configure_yscrollincrement�r1rr�r�c���|���}|�ddddd���}|�ddddd���}|�|��\}}}}|�|��\}}}}|�ddd	��|�|��\}	}
}}|�|��\}}}}|�|	d��|�|
d	��|�||z
||	z
��|�||z
||
z
��|�||��|�dd�
��|�|��\}
}}}|�|��\}}}}|�|d��|�||��|�||	z
||
z
��|�||
z
||z
��dS)Nr4r��group)�tags�r7r�r�r�)�y)r �create_rectangler��movetor!�	tag_lower)r'r(�i1�i2�x1�y1�_�x2�y2�x1_2�y1_2�x2_2�y2_2�x1_3�y1_3�x2_3�y2_3s                 r�test_movetozCanvasTest.test_moveto�s���������
�
$�
$�Q��2�r��
$�
@�
@��
�
$�
$�R��R��'�
$�
B�
B���{�{�2�����B��1��{�{�2�����B��1��
�
�g�s�C�(�(�(�!�;�;�r�?�?���d�A�q�!�;�;�r�?�?���d�A�q�����s�#�#�#�����s�#�#�#�����b��$��+�.�.�.�����b��$��+�.�.�.�����R� � � ��
�
�g��
�$�$�$�!�;�;�r�?�?���d�A�q�!�;�;�r�?�?���d�A�q�����r�"�"�"�����t�$�$�$�������d�T�k�2�2�2�������d�T�k�2�2�2�2�2rN)r#r=r>rnrr��
_stringifyr r$r&r)r,rKr0r4rrLr@rrrr�s��������G��L��J�3�3�3�)�)�)�
2�2�2�9�9�9�
L�
L�
L�K�K�K�
>�>�>�
>�>�>�
�\�!�Q���3�3���3�3�3rrc��eZdZdZd�Zd�Zeddd��ej��Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�ListboxTest)�activestylerCrDrEr�rrwrxrFrGrHrIr��listvariablerMr'r(r)�
selectmoder�r�rOrQr-r�c�0�tj|jfi|��Sr)rS�ListboxrUrVs  rr zListboxTest.creater{rc�`�|���}|�|dddd��dS)NrP�dotboxrRr�r�r�s  r�test_configure_activestylez&ListboxTest.test_configure_activestyles<�����������F�M�$�f�k�	;�	;�	;�	;�	;rr�r�r`c��|���}tj|j��}|�|d|��dS)NrQ)r rS�	DoubleVarrU�checkVariableParam)r'r(�vars   r�test_configure_listvariablez'ListboxTest.test_configure_listvariables?�����������	�*�*��������<�<�<�<�<rc���|���}|�|dd��|�|dd��|�|dd��|�|dd��dS)NrR�single�browse�multiple�extendedrGr�s  r�test_configure_selectmodez%ListboxTest.test_configure_selectmodesm�������������h�7�7�7������h�7�7�7������j�9�9�9������j�9�9�9�9�9rc�^�|���}|�|ddd��dSrr�r�s  rrKz ListboxTest.test_configure_staterrc�&�|���}|�td��5|�d��ddd��n#1swxYwYd���}|jdg|�R�t
|��D]\}}|�||����|�t��5|���ddd��n#1swxYwY|�td��5|�d��ddd��n#1swxYwY|�	|�dd��d	��|�	|�dd��d
��|�	|�dd��d	��|�d��}|�
|t��|���D]�\}}|�
t|��d��t|��d
krZ|�	||�d|����|�	|d|�d|������dS)Nzitem number "0" out of rangerz)red orange yellow green blue white violetrZ)rCzbad listbox index "red"�redrC)rCrC�
Backgroundr-re)rCrCrfr-�violetz@0,0)r;r`r`r\)r rr�
itemconfigure�splitrc�	enumerater�r�r!�assertIsInstance�dict�items�assertIn�len�itemcget)r'r(�colorsr��color�d�k�vs        r�test_itemconfigurezListboxTest.test_itemconfiguresG��������
�
#�
#�H�.L�
M�
M�	$�	$�� � ��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�<�B�B�D�D����
�e�%�f�%�%�%�%�!�&�)�)�	6�	6�H�A�u�� � ��u� �5�5�5�5�
�
�
�y�
)�
)�	#�	#�� � �"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
#�
#�H�.G�
H�
H�	(�	(�� � ��'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�����-�-�a��>�>�N�	P�	P�	P�����-�-�e�\�B�B�Q�	S�	S�	S�����-�-�f�l�C�C�N�	P�	P�	P�
� � ��#�#�����a��&�&�&��G�G�I�I�	>�	>�D�A�q��M�M�#�a�&�&�&�)�)�)��1�v�v��{�
>�� � ��F�$8�$8��A�$>�$>�?�?�?�� � ��1��v���q�!�'<�'<�=�=�=��		>�	>s5�A�A�A�C&�&C*�-C*�D.�.D2�5D2c��|���}|�ddddd��|jd
i||i��|�|�d|��d|��|�|�d|��|��|�td��5|jd
i|d	i��ddd��dS#1swxYwYdS)NrZrrrrsrr\zunknown color name "spam"r�)r)r rcrhr!rprr)r'r�r�r(s    r�check_itemconfigurezListboxTest.check_itemconfigure:s-���������
�
�e�S�#�s�C�0�0�0����0�0�4��-�0�0�0�����-�-�a��6�6�q�9�5�A�A�A��������D�1�1�5�9�9�9�
�
#�
#�H�.I�
J�
J�	6�	6� �F� �5�5�t�V�n�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�2C�C�Cc�2�|�dd��dS)NrC�#ff0000�rxrs r�test_itemconfigure_backgroundz)ListboxTest.test_itemconfigure_backgroundC���� � ��y�9�9�9�9�9rc�2�|�dd��dS)N�bgrzr{rs r�test_itemconfigure_bgz!ListboxTest.test_itemconfigure_bgF���� � ��y�1�1�1�1�1rc�2�|�dd��dS)N�fg�#110022r{rs r�test_itemconfigure_fgz!ListboxTest.test_itemconfigure_fgIr�rc�2�|�dd��dS)Nrxr�r{rs r�test_itemconfigure_foregroundz)ListboxTest.test_itemconfigure_foregroundLr}rc�2�|�dd��dS)Nr'r�r{rs r�#test_itemconfigure_selectbackgroundz/ListboxTest.test_itemconfigure_selectbackgroundO���� � �!3�Y�?�?�?�?�?rc�2�|�dd��dS)Nr)z#654321r{rs r�#test_itemconfigure_selectforegroundz/ListboxTest.test_itemconfigure_selectforegroundRr�rc��|���}|jdgd�td��D���R�|���|�|�d����|�|�d����|�|�d����|�t|jd��|�t|jd��|�t|j��|�t|jdd��dS)Nrc3� K�|]	}d|zV��
dS�zel%dNr@r�s  rr�z'ListboxTest.test_box.<locals>.<genexpr>W�&����4�4�a�v��z�4�4�4�4�4�4rr�r�r�r�r4)
r rcr��packr�r�rr�rr��r'�lbs  r�test_boxzListboxTest.test_boxUs��
�[�[�]�]����	�!�5�4�4�5��8�8�4�4�4�5�5�5�5�
���	�	�	�� � �������,�,�,����"�'�'�"�+�+�&�&�&����"�'�'�"�+�+�&�&�&����(�B�G�Y�7�7�7����(�B�G�T�2�2�2����)�R�W�-�-�-����)�R�W�a��3�3�3�3�3rc��|���}|jdgd�td��D���R�|�dtj��|�dd��|�d��|�|���d��|�	t|jd��dS)Nrc3� K�|]	}d|zV��
dSr�r@r�s  rr�z0ListboxTest.test_curselection.<locals>.<genexpr>cr�rr�r;r\r�)r;rr\r�)r rcr�rkrS�END�
selection_setr!�curselectionr�r�r�s  r�test_curselectionzListboxTest.test_curselectionas���
�[�[�]�]����	�!�5�4�4�5��8�8�4�4�4�5�5�5�5�
���1�g�k�*�*�*�
����A����
�������������*�*�L�9�9�9����)�R�_�a�8�8�8�8�8rc���|���}|jdgd�td��D���R�|�|�d��d��|�|�d��d��|�|�d��d��|�|�d��d	��|�|�d
��d	��|�|�dd��d��|�|�dd��d
��|�|�dd��d��|�|�dd��d��|�t|jd��|�t|jd��|�t|j��|�t|jdd��|�t|jddd��|�t|jd��dS)Nrc3� K�|]	}d|zV��
dSr�r@r�s  rr�z'ListboxTest.test_get.<locals>.<genexpr>lr�rr��el0r�el3rZ�el7r-r�r`)r��el4�el5)r��el6r�r@)r�r�r4r;r")r rcr�r!�getr�rr�r�s  r�test_getzListboxTest.test_getjs��
�[�[�]�]����	�!�5�4�4�5��8�8�4�4�4�5�5�5�5����������E�*�*�*����������E�*�*�*�����������.�.�.����������B�'�'�'����������R�(�(�(��������1���'<�=�=�=��������5�)�)�+@�A�A�A��������1���r�*�*�*��������1���x�0�0�0����(�B�F�I�6�6�6����(�B�F�D�1�1�1����)�R�V�,�,�,����(�B�F�E�9�=�=�=����)�R�V�Q��1�5�5�5����(�B�F�C�0�0�0�0�0rN)r#r=r>rnr rWrr�test_configure_justifyr\rbrKrvrxr|r�r�r�r�r�r�r�r�r@rrrOrO�s8������	�G�4�4�4�;�;�;�
3�\�\�!�Q��2�2�3G�3^�_�_��=�=�=�
:�:�:�C�C�C�>�>�>�66�6�6�:�:�:�2�2�2�2�2�2�:�:�:�@�@�@�@�@�@�
4�
4�
4�9�9�9�1�1�1�1�1rrOc�^�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�	ScaleTest)r�rC�bigincrementrDr�rE�digitsrwrxrurGrHrIr��length�orientrMr�r��
resolution�	showvalue�sliderlength�sliderreliefr�rO�tickintervalrw�troughcolorr�rQ�verticalc�0�tj|jfi|��Sr)rS�ScalerUrVs  rr zScaleTest.create�rsrc�`�|���}|�|dddd��dS)Nr�g������(@g������7@r�r�r�s  r�test_configure_bigincrementz%ScaleTest.test_configure_bigincrement�s1�����������V�^�T�4��D�D�D�D�Drc�^�|���}|�|ddd��dS)Nr�r`rr�r�s  r�test_configure_digitszScaleTest.test_configure_digits�s/�����������v�x��A�6�6�6�6�6rc��|���}t��dkrtnt}|�|dddd|���dS)N)r�r�r�rur��������-@�333333.@r�)r rrrr�)r'r(r�s   rr�zScaleTest.test_configure_from�sO��������)�+�+�z�9�J�u�u�{�����V�V�S�$��4��H�H�H�H�Hrc��|���}|�|dd��|�|dd��dS)Nr�r�r-rGr�s  r�test_configure_labelzScaleTest.test_configure_label�sA��������������6�6�6�������,�,�,�,�,rc�b�|���}|�|ddddd��dS)Nr��gffffff`@g33333�`@�5ir�r�s  r�test_configure_lengthzScaleTest.test_configure_length�s3�����������f�h��U�E�4�H�H�H�H�Hrc�b�|���}|�|ddddd��dS)Nr�g������@rg������@r�r�r�s  r�test_configure_resolutionz#ScaleTest.test_configure_resolution�s3�����������V�\�3��3��C�C�C�C�Crc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_showvaluez"ScaleTest.test_configure_showvalue�s+�����������v�{�3�3�3�3�3rc	�d�|���}|�|dddddd��dS)Nr�r�r3�333333/@r#�3mr�r�s  r�test_configure_sliderlengthz%ScaleTest.test_configure_sliderlength�s@�����������f�n� �$��b�$�	8�	8�	8�	8�	8rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_sliderreliefz%ScaleTest.test_configure_sliderrelief�r�rc	��|���}|�|dddddt���|�|dddt�	��dS)
Nr�r4�333333@r�rr�r�r;)r�r�)r r�rr\r�s  r�test_configure_tickintervalz%ScaleTest.test_configure_tickinterval�sk�����������V�^�Q��S�!�"-�	�	/�	/�	/�������Q�(�	�	*�	*�	*�	*�	*rc	�p�|���}|�|dddddt���dS)Nrwi,r�r�r�r�)r r�rr�s  rr�zScaleTest.test_configure_to�sE�����������V�T�3��d�C�"-�	�	/�	/�	/�	/�	/rN)r#r=r>rn�default_orientr r�r�r�r�r�r�r�r�r�r�r�r@rrr�r�~s��������G� �N�2�2�2�E�E�E�7�7�7�I�I�I�
-�-�-�
I�I�I�D�D�D�4�4�4�8�8�8�
6�6�6�*�*�*�/�/�/�/�/rr�c�B�eZdZdZeZdZdZd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
S)�
ScrollbarTest)r��activereliefrCrDr�rE�elementborderwidthrGrHrI�jumpr�rMr�r�rOr�rQTr�c�0�tj|jfi|��Sr)rS�	ScrollbarrUrVs  rr zScrollbarTest.create�s��� ���5�5�f�5�5�5rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_activereliefz)ScrollbarTest.test_configure_activerelief�r�rc�b�|���}|�|ddddd��dS)Nr�r�rr��1mr�r�s  r�!test_configure_elementborderwidthz/ScrollbarTest.test_configure_elementborderwidth�s4�����������f�&:�C��b�$�O�O�O�O�Orc�b�|���}|�|dddd���dS)Nr�r��
horizontalz4bad orientation "{}": must be vertical or horizontalrr�r�s  r�test_configure_orientz#ScrollbarTest.test_configure_orient�sF�����������F�H�j�,�M�	�	O�	O�	O�	O�	Orc�n�|���}dD]?}|�|��|�|���|���@|�d��|�|�����|�t
|jdd��dS)N)�arrow1�slider�arrow2r-r�r�)r �activater!rr�r�)r'�sbr�s   r�
test_activatezScrollbarTest.test_activate�s���
�[�[�]�]��/�	/�	/�A��K�K��N�N�N����R�[�[�]�]�A�.�.�.�.�
���B�������"�+�+�-�-�(�(�(����)�R�[�(�H�E�E�E�E�Erc��|���}|�dd��|�|���d��|�t
|jdd��|�t
|jdd��|�t
|jdd��|�t|jd��|�t|jddd��dS)	N皙�����?皙�����?)r�r��abc�defg333333�?gffffff�?g�������?)r �setr!r�r�rr�)r'r�s  r�test_setzScrollbarTest.test_set�s���
�[�[�]�]��
���s�C������������:�.�.�.����(�B�F�E�5�9�9�9����(�B�F�C��7�7�7����(�B�F�C��6�6�6����)�R�V�S�1�1�1����)�R�V�S�#�s�;�;�;�;�;rN)r#r=r>rnrr�rMr�r r�r�r�r�r�r@rrr�r��s��������G��L��J��N�6�6�6�6�6�6�P�P�P�O�O�O�
F�F�F�<�<�<�<�<rr�c�0�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	e
dd	d
��d���Ze
dd	d
��d���Ze
dd	d
��d
���Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Z d!�Z!d"S)#�PanedWindowTest)rCrDrE�	handlepad�
handlesizerF�opaqueresizer��proxybackground�proxyborderwidth�proxyreliefrM�
sashcursor�sashpad�
sashrelief�	sashwidth�
showhandlerQr�c�0�tj|jfi|��Sr)rS�PanedWindowrUrVs  rr zPanedWindowTest.creater�rc	�d�|���}|�|dddddd��dS)Nr�r`r�r�r#r�r�r�s  r�test_configure_handlepadz(PanedWindowTest.test_configure_handlepads5�����������f�k�1�c�3��D�I�I�I�I�Irc
�h�|���}|�|ddddddd���dS)	Nr�r�g������"@g333333%@r#�2mFr�r�r�s  r�test_configure_handlesizez)PanedWindowTest.test_configure_handlesize	sG�����������f�l�A�s�D�"�d�#(�	�	*�	*�	*�	*�	*rc�j�|���}|�|dddddddd�	�	�	dS)
NrFr�r�r�r�rrFr�r�r�s  rr�z%PanedWindowTest.test_configure_heightsI�����������f�h��U�E�4��D�#(�	�	*�	*�	*�	*�	*rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_opaqueresizez+PanedWindowTest.test_configure_opaqueresizes+�����������v�~�6�6�6�6�6rr�r�r`c�Z�|���}|�|d��dS)Nr�r1r�s  r�test_configure_proxybackgroundz.PanedWindowTest.test_configure_proxybackgrounds,�����������V�%6�7�7�7�7�7rc�j�|���}|�|dddddddd�	�	�	dS)
Nr�rr�g333333@r�r�r�Fr�r�r�s  r�test_configure_proxyborderwidthz/PanedWindowTest.test_configure_proxyborderwidthsK�����������f�&8���c�1�b�%�#(�	�	*�	*�	*�	*�	*rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_proxyreliefz*PanedWindowTest.test_configure_proxyrelief#s+�����������f�m�4�4�4�4�4rc�Z�|���}|�|d��dS)Nr�rr�s  r�test_configure_sashcursorz)PanedWindowTest.test_configure_sashcursor(�+�����������f�l�3�3�3�3�3rc	�d�|���}|�|dddddd��dS)Nr�r�r�r�r�rr�r�s  r�test_configure_sashpadz&PanedWindowTest.test_configure_sashpad,s5�����������f�i��C��b�$�G�G�G�G�Grc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_sashreliefz)PanedWindowTest.test_configure_sashrelief0r
rc
�h�|���}|�|ddddddd���dS)	Nr�r�g333333&@r�r#r�Fr�r�r�s  r�test_configure_sashwidthz(PanedWindowTest.test_configure_sashwidth4sG�����������f�k�2�t�T�2�t�#(�	�	*�	*�	*�	*�	*rc�Z�|���}|�|d��dS)Nr�r�r�s  r�test_configure_showhandlez)PanedWindowTest.test_configure_showhandle9s+�����������v�|�4�4�4�4�4rc�j�|���}|�|dddddddd�	�	�	dS)
NrQrgfffff6y@g�����Iy@r
rr�Fr�r�r�s  rrz$PanedWindowTest.test_configure_width=sI�����������f�g�s�E�5�$��4�#(�	�	*�	*�	*�	*�	*rc���|���}tj|��}tj|��}|�|��|�|��|||fSr)r rSr��add�r'�prrs    r�create2zPanedWindowTest.create2BsV���K�K�M�M���N�1�����N�1����	���a����	���a�����!�Q�w�rc��|���\}}}|�t|j��|�|��}|�|t
��|���D]�\}}|�t|��d��|�||�||����|�|d|�	||������dS)Nr`r\)
rr�r��
paneconfigurerkrlrmr!ro�panecget)r'rrrrsrtrus       r�test_paneconfigurez"PanedWindowTest.test_paneconfigureJs����,�,�.�.���1�a����)�Q�_�5�5�5�
�O�O�A�������a��&�&�&��G�G�I�I�	5�	5�D�A�q����S��V�V�Q�'�'�'����Q�����1� 5� 5�6�6�6����Q�q�T�1�:�:�a��#3�#3�4�4�4�4�	5�	5rc��|jst|��}|j|fi||i��|�|�||��d|��|�|�||��|��dS)Nr\)r7r�rr!r)r'rrr�r�r�s      r�check_paneconfigurez#PanedWindowTest.check_paneconfigureTs�����	%��8�}�}�H�����+�+�d�E�]�+�+�+��������D�1�1�!�4�h�?�?�?�������A�t�,�,�h�7�7�7�7�7rc��|�t|��5|j|fi|di��ddd��dS#1swxYwYdS)N�badValue)rrr)r'rrr��msgs     r�check_paneconfigure_badz'PanedWindowTest.check_paneconfigure_bad[s���
�
#�
#�H�c�
2�
2�	5�	5��A�O�A�4�4�$�
�!3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s
�:�>�>c	��|���\}}}|�||d|t|����|�||dd��dS)N�after�bad window path name "badValue"�rr!r�r%rs    r�test_paneconfigure_afterz(PanedWindowTest.test_paneconfigure_after_sg���,�,�.�.���1�a�� � ��A�w��3�q�6�6�:�:�:��$�$�Q��7�%F�	H�	H�	H�	H�	Hrc	��|���\}}}|�||d|t|����|�||dd��dS)N�beforer(r)rs    r�test_paneconfigure_beforez)PanedWindowTest.test_paneconfigure_beforeesg���,�,�.�.���1�a�� � ��A�x��C��F�F�;�;�;��$�$�Q��8�%F�	H�	H�	H�	H�	Hrc��|���\}}}|�||ddd��|�||dd��dS)NrFr��bad screen distance "badValue"�rr!r%rs    r�test_paneconfigure_heightz)PanedWindowTest.test_paneconfigure_heightksa���,�,�.�.���1�a�� � ��A�x��R�8�8�8��$�$�Q��8�%E�	G�	G�	G�	G�	Grc��|���\}}}|�||ddd��|�||dd��dS)N�hideFrz)expected boolean value but got "badValue"r0rs    r�test_paneconfigure_hidez'PanedWindowTest.test_paneconfigure_hideqsa���,�,�.�.���1�a�� � ��A�v�u�a�8�8�8��$�$�Q��6�%P�	R�	R�	R�	R�	Rrc��|���\}}}|�||ddd��|�||dd��dS)N�minsizer�r/r0rs    r�test_paneconfigure_minsizez*PanedWindowTest.test_paneconfigure_minsizewsa���,�,�.�.���1�a�� � ��A�y�"�b�9�9�9��$�$�Q��9�%E�	G�	G�	G�	G�	Grc��|���\}}}|�||ddd��|�||dd��dS)NrKr�r4r/r0rs    r�test_paneconfigure_padxz'PanedWindowTest.test_paneconfigure_padx}�a���,�,�.�.���1�a�� � ��A�v�s�A�6�6�6��$�$�Q��6�%E�	G�	G�	G�	G�	Grc��|���\}}}|�||ddd��|�||dd��dS)NrLr�r4r/r0rs    r�test_paneconfigure_padyz'PanedWindowTest.test_paneconfigure_pady�r:rc��|���\}}}|�||ddd��|�||dd��dS)N�sticky�nsew�neswz[bad stickyness value "badValue": must be a string containing zero or more of n, e, s, and wr0rs    r�test_paneconfigure_stickyz)PanedWindowTest.test_paneconfigure_sticky�s^���,�,�.�.���1�a�� � ��A�x���@�@�@��$�$�Q��8�&6�	7�	7�	7�	7�	7rc��|���\}}}|�||ddd��|�||dd��dS)N�stretch�alw�alwayszEbad stretch "badValue": must be always, first, last, middle, or neverr0rs    r�test_paneconfigure_stretchz*PanedWindowTest.test_paneconfigure_stretch�sd���,�,�.�.���1�a�� � ��A�y�%��B�B�B��$�$�Q��9�&M�	N�	N�	N�	N�	Nrc��|���\}}}|�||ddd��|�||dd��dS)NrQr�r/r0rs    r�test_paneconfigure_widthz(PanedWindowTest.test_paneconfigure_width�sa���,�,�.�.���1�a�� � ��A�w��B�7�7�7��$�$�Q��7�%E�	G�	G�	G�	G�	GrN)"r#r=r>rnr�r r�rr�rrrrr
rrrrrrrrr!r%r*r-r1r4r7r9r<rArFrHr@rrr�r��s:�������G�"�N�8�8�8�J�J�J�*�*�*�
*�*�*�
7�7�7��\�!�Q����8�8���8��\�!�Q����*�*���*��\�!�Q����5�5���5�4�4�4�H�H�H�4�4�4�*�*�*�
5�5�5�*�*�*�
���5�5�5�8�8�8�5�5�5�H�H�H�H�H�H�G�G�G�R�R�R�G�G�G�G�G�G�G�G�G�7�7�7�N�N�N�G�G�G�G�Grr�c�L�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�MenuTest)r��activeborderwidthr�rCrDrEr�rwrx�postcommandrMr�rO�tearoff�tearoffcommandr$�typeFc�0�tj|jfi|��Sr)rSr[rUrVs  rr zMenuTest.create�r�rc�Z�|���}|�|d��dS)NrLr?r�s  r�test_configure_postcommandz#MenuTest.test_configure_postcommand�r�rc�Z�|���}|�|d��dS)NrMr�r�s  r�test_configure_tearoffzMenuTest.test_configure_tearoff�r'rc�Z�|���}|�|d��dS)NrNr?r�s  r�test_configure_tearoffcommandz&MenuTest.test_configure_tearoffcommand�r�rc�\�|���}|�|dd��dS)Nr$r�rGr�s  r�test_configure_titlezMenuTest.test_configure_title�s+��������������6�6�6�6�6rc�d�|���}|�|ddddd���dS)NrOr�rM�menubarz2bad type "{}": must be normal, tearoff, or menubarrr�r�s  r�test_configure_typezMenuTest.test_configure_type�sE������������F��i��G�	�	�	�	�	�	rc�0�|���}|�d���|�t|j��|�td��5|�d��ddd��n#1swxYwY|�d��}|�|t��|�	��D]�\}}|�|t��|�|t��|�t|��d��|�|d|��|�|�d|��|d����|���dS)	N�test�r�zbad menu entry index "foo"r�r4r`rr\)r �add_commandr�r��entryconfigurerrrkrlrmr��tupler!ro�	entrycgetr�)r'�m1rsrtrus     r�test_entryconfigurezMenuTest.test_entryconfigure�s���
�[�[�]�]��
���V��$�$�$����)�R�%6�7�7�7�
�
#�
#�H�.J�
K�
K�	%�	%����e�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%����a� � �����a��&�&�&��G�G�I�I�	7�	7�D�A�q��!�!�!�S�)�)�)��!�!�!�U�+�+�+����S��V�V�Q�'�'�'����Q�q�T�1�%�%�%����R�\�\�!�Q�/�/��1��6�6�6�6�
�
�
�����s�&B�B�Bc�0�|���}|�d���|�|�dd��d��|�dd���|�|�dd��d��dS)Nr]r^r4r��changed)r r_r!rbr`)r'rcs  r�test_entryconfigure_labelz"MenuTest.test_entryconfigure_label�s���
�[�[�]�]��
���V��$�$�$�������a��1�1�6�:�:�:�
���!�9��-�-�-�������a��1�1�9�=�=�=�=�=rc��|���}tj|j��}tj|j��}|�|ddd���|�t
|�dd����t
|����|�d|���|�t
|�dd����t
|����dS)NTF�Nonsense)r�r�r�r�r4r�)r�)	r rS�
BooleanVarrU�add_checkbuttonr!r�rbr`)r'rc�v1�v2s    r�test_entryconfigure_variablez%MenuTest.test_entryconfigure_variable�s���
�[�[�]�]��
�
��	�
*�
*��
�
��	�
*�
*��
���B��u�!+�	�	-�	-�	-�����R�\�\�!�Z�8�8�9�9�3�r�7�7�C�C�C�
���!�b��)�)�)�����R�\�\�!�Z�8�8�9�9�3�r�7�7�C�C�C�C�CrN)r#r=r>rnr�r rRrTrVrXr[rdrgrnr@rrrJrJ�s��������G��L�1�1�1�6�6�6�2�2�2�9�9�9�7�7�7������� >�>�>�D�D�D�D�DrrJc�"�eZdZdZdZd�Zd�ZdS)�MessageTest)r��aspectrCrDrErwrxrGrHrIr�rKrLrMrOr{r�rQFc�0�tj|jfi|��Sr)rS�MessagerUrVs  rr zMessageTest.create�r{rc�`�|���}|�|dddd��dS)Nrq�ri���r�r�s  r�test_configure_aspectz!MessageTest.test_configure_aspect�s1�����������v�x��a��>�>�>�>�>rN)r#r=r>rnr?r rvr@rrrprp�sA�������G���4�4�4�?�?�?�?�?rrpc��eZdZd�Zd�ZdS)�DefaultRootTestc�D�|�tj��dSr)�_test_widgetrSrrrs r�
test_framezDefaultRootTest.test_frame�������'�-�(�(�(�(�(rc�D�|�tj��dSr)rzrSr�rs r�
test_labelzDefaultRootTest.test_label�r|rN)r#r=r>r{r~r@rrrxrx�s2������)�)�)�)�)�)�)�)rrx�__main__)-�unittestrSrra�test.supportr�tkinter.test.supportrrrr�tkinter.test.widget_testsr	r
rrr
rrr�TestCaserBrprvr�r�r�r�r�r�rrror�rrOr�r�r�rJrprx�	tests_guir#�mainr@rr�<module>r�s�����������������	�	�	�	�!�!�!�!�!�!�;�;�;�;�;�;�;�;�;�;�;�;�����������������
	���������"7�"7�"7�"7�"7�-�~�"7�"7�"7�J��*�+�+�%2�%2�%2�%2�%2�'��):�%2�%2�,�+�%2�P��*�+�+�	2�	2�	2�	2�	2�$�h�&7�	2�	2�,�+�	2���*�+�+������)�8�+<���,�+��69�9�9�9�9�*�,<�9�9�9���*�+�+�2�2�2�2�2�!�8�#4�2�2�,�+�2���*�+�+�O�O�O�O�O�"�H�$5�O�O�,�+�O�(��*�+�+�F�F�F�F�F�'��):�F�F�,�+�F�8��*�+�+�D�D�D�D�D�'��):�D�D�,�+�D�,��*�+�+�=H�=H�=H�=H�=H�&��(9�=H�=H�,�+�=H�@?�?�?�?�?�^�X�%6�?�?�?���&�(<�=�=�X#�X#�X#�X#�X#�"�H�$5�X#�X#�>�=�X#�v��*�+�+�}C�}C�}C�}C�}C�)�X�.�}C�}C�,�+�}C�@��*�+�+�C@�C@�C@�C@�C@�!�8�#4�C@�C@�,�+�C@�L��n�&:�;�;�V3�V3�V3�V3�V3�#�X�%6�V3�V3�<�;�V3�r��&�(<�=�=�B1�B1�B1�B1�B1�$�h�&7�B1�B1�>�=�B1�J��n�&:�;�;�@/�@/�@/�@/�@/�"�H�$5�@/�@/�<�;�@/�F��n�&:�;�;�/<�/<�/<�/<�/<�&��(9�/<�/<�<�;�/<�d��*�+�+�fG�fG�fG�fG�fG�(�(�*;�fG�fG�,�+�fG�R��*�+�+�DD�DD�DD�DD�DD�!�8�#4�DD�DD�,�+�DD�N��n�&:�;�;�?�?�?�?�?�$�h�&7�?�?�<�;�?�$)�)�)�)�)�-�x�/@�)�)�)�	�J����>�)�[���+�~���)�]��X�|�_�
�	��z����H�M�O�O�O�O�O��r