Your IP : 216.73.217.152


Current Path : /opt/alt/python311/lib64/python3.11/tkinter/test/test_ttk/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-311.pyc

�

�0�i���ddlZddlZddlmZmZddlmZmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZmZmZmZmZed��Gd�d	e��ZGd
�deej��ZGd�d
ee��Zee��Gd�deej����Zee��Gd�deej����ZGd�de��Zee��Gd�deej����Zee��Gd�deej����Zee��Gd�deej����Z eee��Gd�deej����Z!eee��Gd�de!ej����Z"eee��Gd�deej����Z#ee��Gd �d!eej����Z$Gd"�d#eej��Z%ee��Gd$�d%eej����Z&ee��Gd&�d'eej����Z'ej(ej)d(kd)��ee��Gd*�d+eej������Z*eee��Gd,�d-eej����Z+eee��Gd.�d/e!ej����Z,ee��Gd0�d1eej����Z-ee��Gd2�d3eej����Z.ee��Gd4�d5eej����Z/Gd6�d7eej��Z0ee e"e!eeee%e+e#e'e$e&e*e.e/e,e-ee0fZ1e2d8krej3��dSdS)9�N)�ttk�TclError)�requires�
gc_collect)�
MockTclObj)�AbstractTkTest�
tk_version�get_tk_patchlevel�simulate_mouse_click�AbstractDefaultRootTest)�add_standard_options�AbstractWidgetTest�StandardOptionsTests�IntegerSizeTests�PixelSizeTests�setUpModule�guic� �eZdZd�Zd�Zd�ZdS)�StandardTtkOptionsTestsc�4�|���}|�|dd��d}t|j��dkrd}|�|dd|���|�d���}|�|dd��dS)	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    �I/opt/alt/python311/lib64/python3.11/tkinter/test/test_ttk/test_widgets.py�test_configure_classz,StandardTtkOptionsTests.test_configure_classs���������������"�-�-�-�3���T�Y�'�'�*>�>�>�7�F����v�w��f��E�E�E��+�+�U�+�+�+�������)�5�1�1�1�1�1�c��������}t�j��dkr�fd�}nd}��|ddd|�����|ddd|�����|dd	d	|�����|dd
d
|�����|ddd|�����|dd����|dd
d���dS)N)rr�c�~����|t��ttt|����S�N)�assertIsInstance�tuple�map�str)�valuer*s �r-�padding_convzDStandardTtkOptionsTests.test_configure_padding.<locals>.padding_conv s/����%�%�e�U�3�3�3��S��e�_�_�-�-�-r/�paddingr)r)�expected�conv�)r=)r=r)r=r�)r=rr>r)�5p�6p�7p�8p�r�r;)r%r
r'�
checkParam)r*r+r9s`  r-�test_configure_paddingz.StandardTtkOptionsTests.test_configure_paddings.����������T�Y�'�'�*�4�4�
.�
.�
.�
.�
.�
.� �L�����	�1�t�,��O�O�O�����	�1�t�,��O�O�O�����	�6�!'�l�	�	<�	<�	<�����	�9�!*��	�	?�	?�	?�����	�<�!-�L�	�	B�	B�	B�����	�+C�D�D�D�����	�2���;�;�;�;�;r/c�j�|���}|�|dd��d}t|d��r%dt|d�����z}|�|dd|���|�d���}|�|d	d��dS)
N�stylerzLayout Foo not found�default_orientzLayout %s.Foo not foundr r!r#r)r%r&�hasattr�getattr�titler(r)s    r-�test_configure_stylez,StandardTtkOptionsTests.test_configure_style0s���������������"�-�-�-�'���4�)�*�*�	?�/��d�$4�5�5�;�;�=�=�>�F����v�w���	�	�	�	��+�+�U�+�+�+�������)�5�1�1�1��r/N)�__name__�
__module__�__qualname__r.rFrMrCr/r-rrsA������2�2�2�<�<�<�&
�
�
�
�
r/rc�.��eZdZdZ�fd�Zd�Zd�Z�xZS)�
WidgetTestz,Tests methods available in every ttk widget.c���t�����tj|jdd���|_|j���dS)Nr�Text)�width�text)�super�setUpr�Buttonr'r+�pack�r*�	__class__s �r-rXzWidgetTest.setUpBsH���
���
�
�����j���!�&�A�A�A�����������r/c	��|j���|�|j�t	|j���dz��t	|j���dz����d��|�|j�dd��d��|�tj	|jjdd��|�tj	|jjdd��|�tj	|jjdd��dS)N��label���rr=)
r+�updater&�identify�int�winfo_width�winfo_height�assertRaises�tkinterr�r*s r-�
test_identifyzWidgetTest.test_identifyGs��������������-�-����'�'�)�)�A�-�.�.����(�(�*�*�Q�.�/�/����	�	�	�	
�����-�-�b�"�5�5�r�:�:�:����'�*�D�K�,@�$��J�J�J����'�*�D�K�,@�!�T�J�J�J����'�*�D�K�,@�!�R�H�H�H�H�Hr/c���|�|j���d��|�|j�dg��d��|�|j�dg��d��|�|j�dg��d��|�|j�ddg��d��|�|j�ddg��d��|�|j�ddg��d��d�}|�|jjdg|d	fid
di��d	d
dif��|j���}|�t
j|jjdg��|�t
j|jjddg��|�||j�����|j�ddg��|�|j���d
��dS)NrC�	!disabledT�disabled)rk�active)z!activerlc�
�||fSr3rC)�arg1�kws  r-�test_cbz-WidgetTest.test_widget_state.<locals>.test_cbcs����8�Or/�hi�msg�there�badstate)rm)r&r+�state�instaterfrgr)r*rq�	currstates   r-�test_widget_statezWidgetTest.test_widget_stateSsd�������*�*�,�,�b�1�1�1������,�,�k�]�;�;�T�B�B�B�	
�����*�*�J�<�8�8�/�J�J�J������*�*�J�<�8�8�"�=�=�=������*�*�K��+B�C�C�#�	%�	%�	%�	
�����*�*�K��+B�C�C�R�H�H�H������*�*�H�k�+B�C�C�R�H�H�H�	�	�	����,���,�k�]��T�/�/�#�W�-�/�/�
�E�7�#�$�	&�	&�	&�
�K�%�%�'�'�	����'�*�D�K�,?�
�L�	�	�	����'�*�D�K�,?�
��$�	&�	&�	&�	
����D�K�$5�$5�$7�$7�8�8�8�	
����8�[�1�2�2�2������*�*�,�,�l�;�;�;�;�;r/)rNrOrP�__doc__rXriry�
__classcell__�r\s@r-rRrR?s_�������6�6������

I�
I�
I�!<�!<�!<�!<�!<�!<�!<r/rRc��eZdZdZdS)�AbstractToplevelTestFN)rNrOrP�_conv_pixelsrCr/r-r~r~ws�������L�L�Lr/r~c��eZdZdZd�ZdS)�	FrameTest)	�borderwidthr�cursor�heightr:�reliefrH�	takefocusrUc�0�tj|jfi|��Sr3)r�Framer'�r*�kwargss  r-r%zFrameTest.create�����y���-�-�f�-�-�-r/N�rNrOrP�OPTIONSr%rCr/r-r�r�{s*�������G�.�.�.�.�.r/r�c�$�eZdZdZd�Zd�Zd�ZdS)�LabelFrameTest)
r�rr�r��labelanchor�labelwidgetr:r�rHr�rV�	underlinerUc�0�tj|jfi|��Sr3)r�
LabelFramer'r�s  r-r%zLabelFrameTest.create�����~�d�i�2�2�6�2�2�2r/c��|���}|�|ddddddddd	d
ddd
d���|�|dd��dS)Nr��e�en�es�n�ne�nw�s�se�sw�w�wn�wsz!Bad label anchor specification {}r!�center)r%�checkEnumParamr(�r*r+s  r-�test_configure_labelanchorz)LabelFrameTest.test_configure_labelanchor�sl�����������F�M��T�4��d�D�#�t�T�3��d�:�	�	<�	<�	<�	
���v�}�h�?�?�?�?�?r/c��|���}tj|jdd���}|�|d|d���|���dS)N�Mupp�foo)rV�namer�z.foorD)r%r�Labelr'rE�destroy)r*r+r_s   r-�test_configure_labelwidgetz)LabelFrameTest.test_configure_labelwidget�sR���������	�$�)�&�u�=�=�=������
�u�v��F�F�F�
�
�
�����r/N)rNrOrPr�r%r�r�rCr/r-r�r��sK�������G�3�3�3�@�@�@�����r/r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�AbstractLabelTestc��tj|jd���}tj|jd���}|�|||d���|�||dd���|�|||fd���|�|||d|fd���|�||dd���|�||d	d
���dS)N�image1)�masterr��image2)r�rDrm)r�rmr�zimage1 active image2�spamzimage "spam" doesn't existr!)rg�
PhotoImager'rEr()r*r+r��imager�s     r-�checkImageParamz!AbstractLabelTest.checkImageParam�s���"�$�)�(�C�C�C���#�4�9�8�D�D�D�������e�k��B�B�B������h���E�E�E������u�h���E�E�E������u�h��&?�!?�	�	A�	A�	A������&<�!?�	�	A�	A�	A����v�t�V�4�	�	6�	6�	6�	6�	6r/c���d���}dd�|dd����d|d��}|���}|j|dg|�Rd|i�dS)Nz,none text image center top bottom left rightzbad compound "{}": must be z, r`z, or �compoundr")�split�joinr%r�)r*�optionsr"r+s    r-�test_configure_compoundz)AbstractLabelTest.test_configure_compound�s���@�F�F�H�H��
<��	�	�'�#�2�#�,�'�'�
<�
<�.5�b�k�
<�
<�	����������F�J�H��H�H�H��H�H�H�H�Hr/c�`�|���}|�|dddd��dS)Nrvrmrl�normal�r%�checkParamsr�s  r-�test_configure_statez&AbstractLabelTest.test_configure_state�s1�������������(�J��I�I�I�I�Ir/c�`�|���}|�|dddd��dS)NrUi�in���rr�r�s  r-�test_configure_widthz&AbstractLabelTest.test_configure_width�s1�������������#�t�Q�7�7�7�7�7r/N)rNrOrPr�r�r�r�rCr/r-r�r��sV������6�6�6�I�I�I�J�J�J�8�8�8�8�8r/r�c�"�eZdZdZdZd�Zd�ZdS)�	LabelTest)�anchor�
backgroundr�rr�r��font�
foregroundr��justifyr:r�rvrHr�rV�textvariabler�rU�
wraplengthFc�0�tj|jfi|��Sr3)rr�r'r�s  r-r%zLabelTest.create�r�r/c�\�|���}|�|dd��dS)Nr�z3-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*�r%rEr�s  r-�test_configure_fontzLabelTest.test_configure_font�s;�������������M�	O�	O�	O�	O�	Or/N)rNrOrPr�rr%r�rCr/r-r�r��sE�������G��L�.�.�.�O�O�O�O�Or/r�c�$�eZdZdZd�Zd�Zd�ZdS)�
ButtonTest)r�commandr�r��defaultr�r:rvrHr�rVr�r�rUc�0�tj|jfi|��Sr3)rrYr'r�s  r-r%zButtonTest.create�s���z�$�)�.�.�v�.�.�.r/c�`�|���}|�|dddd��dS)Nr�r�rmrl�r%r�r�s  r-�test_configure_defaultz!ButtonTest.test_configure_default�s1�����������F�I�x��:�N�N�N�N�Nr/c���g�tj|j�fd����}|���|����dS)Nc�.����d��S�N���append��successs�r-�<lambda>z(ButtonTest.test_invoke.<locals>.<lambda>�s���G�N�N�1�4E�4E�r/�r�)rrYr'�invoke�
assertTrue)r*�btnr�s  @r-�test_invokezButtonTest.test_invoke�sM������j���,E�,E�,E�,E�F�F�F���
�
�������� � � � � r/N)rNrOrPr�r%r�r�rCr/r-r�r��sK�������G�/�/�/�O�O�O�!�!�!�!�!r/r�c�6�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�CheckbuttonTest)rr�r�r�r��offvalue�onvaluer:rvrHr�rVr�r��variablerUc�0�tj|jfi|��Sr3)r�Checkbuttonr'r�s  r-r%zCheckbuttonTest.create������t�y�3�3�F�3�3�3r/c�b�|���}|�|ddddd��dS)Nr�r��ffffff@r�
any stringr�r�s  r-�test_configure_offvaluez'CheckbuttonTest.test_configure_offvalue�s3�������������Q��R��F�F�F�F�Fr/c�b�|���}|�|ddddd��dS)Nr�r�r�rr�r�r�s  r-�test_configure_onvaluez&CheckbuttonTest.test_configure_onvalue�s3�������������A�s�B��E�E�E�E�Er/c� ��g��fd�}tj|j|���}|�|���d��|�tj|jj	|d��|�
��}|�|d��|�|d|j�	|d����|����d|d<|�
��}|�t|����|�t���d	��|�|d
|j�	|d����dS)Nc�2����d��dS�Nr��cb test calledr�r�s�r-�cb_testz,CheckbuttonTest.test_invoke.<locals>.cb_test�����N�N�1����#�#r/r�)�	alternater�r�r�rr�r�r�)rr�r'r&rvrfrgr�tk�globalgetvarr�r��assertFalser7�assertLessEqual�len)r*r��cbtn�resr�s    @r-r�zCheckbuttonTest.test_invokes������	$�	$�	$�	$�	$���t�y�'�:�:�:��	
���������7�7�7����'�*�D�G�,@����	�	�	��k�k�m�m������.�/�/�/�����i���G� � ��j�!1�2�2�	4�	4�	4����� � � ���Y���k�k�m�m������S���"�"�"����S��\�\�1�-�-�-�����j�)��G� � ��j�!1�2�2�	4�	4�	4�	4�	4r/c��g}g}td��D]�}tj|j��}|���|�|��dD]A}tj||���}|���|�|���B��d�|D��}|�tt|����d|��dS)Nr^�AB�rVc�8�g|]}t|d����S�r��r7��.0�bs  r-�
<listcomp>z9CheckbuttonTest.test_unique_variables.<locals>.<listcomp>(�$��9�9�9�A�S��:��'�'�9�9�9r/�)
�rangerr�r'rZr�r�r&r�set)r*�frames�buttons�i�f�jr�	variabless        r-�test_unique_variablesz%CheckbuttonTest.test_unique_variabless��������q���	"�	"�A��	�$�)�$�$�A�
�F�F�H�H�H��M�M�!�����
"�
"���O�A�A�.�.�.�����������q�!�!�!�!�
"�:�9��9�9�9�	�����S��^�^�,�,�a��;�;�;�;�;r/c�*�g}tj|j��}|���tj|j��}|���dD]A}t	j||���}|���|�|���Btd��D]N}tj|t|�����}|���|�|���Od�|D��}|�	tt|����t|��|��d�|D��}|�	tt|����t|��|��dS)Nrr�dc�,�g|]}t|����SrCr	r
s  r-r
z:CheckbuttonTest.test_unique_variables2.<locals>.<listcomp>;s��)�)�)�A��Q���)�)�)r/c�8�g|]}t|d����Srr	r
s  r-r
z:CheckbuttonTest.test_unique_variables2.<locals>.<listcomp>=rr/)rr�r'rZrgr�r�rr7r&rr)r*rrrr�namesrs       r-�test_unique_variables2z&CheckbuttonTest.test_unique_variables2+s^�����I�d�i� � ��	�������I�d�i� � ��	�������	�	�A��#�A�A�.�.�.�A�
�F�F�H�H�H��N�N�1������s���	�	�A�����A���/�/�/�A�
�F�F�H�H�H��N�N�1�����)�)��)�)�)������S��Z�Z���#�g�,�,��>�>�>�9�9��9�9�9�	�����S��^�^�,�,�c�'�l�l�I�F�F�F�F�Fr/N)
rNrOrPr�r%r�r�r�rrrCr/r-r�r��s��������G�4�4�4�G�G�G�F�F�F�4�4�4�4<�<�<�G�G�G�G�Gr/r�c���eZdZdZejdkrdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Z�xZS)�	EntryTest)r�rr��exportselectionr�r��invalidcommandr��showrvrHr�r��validate�validatecommandrU�xscrollcommand�darwinzEntry.field�textareac�z��t�����|���|_dSr3)rWrXr%�entryr[s �r-rXzEntryTest.setUpL�'���
���
�
�����[�[�]�]��
�
�
r/c�0�tj|jfi|��Sr3)r�Entryr'r�s  r-r%zEntryTest.createPr�r/c�Z�|���}|�|d��dS)Nr"�r%�checkCommandParamr�s  r-�test_configure_invalidcommandz'EntryTest.test_configure_invalidcommandSs,�����������v�'7�8�8�8�8�8r/c��|���}|�|dd��|�|dd��|�|dd��dS)Nr#�*r� r�r�s  r-�test_configure_showzEntryTest.test_configure_showWsW��������������,�,�,�������+�+�+�������,�,�,�,�,r/c�`�|���}|�|dddd��dS)Nrvrlr��readonlyr�r�s  r-r�zEntryTest.test_configure_state]s<�������������#�X�z�	;�	;�	;�	;�	;r/c
�f�|���}|�|ddddddd��dS)Nr$�all�key�focus�focusin�focusout�noner�r�s  r-�test_configure_validatez!EntryTest.test_configure_validatebsG�����������F�J��u�g�y�*�f�	F�	F�	F�	F�	Fr/c�Z�|���}|�|d��dS)Nr%r/r�s  r-�test_configure_validatecommandz(EntryTest.test_configure_validatecommandgs,�����������v�'8�9�9�9�9�9r/c��|�|j�d����|�tj|jjd��|�tj|jjd��dS)Nr�noindex)�assertIsBoundingBoxr*�bboxrfrgrrhs r-�	test_bboxzEntryTest.test_bboxksh��� � ������!3�!3�4�4�4����'�*�D�J�O�Y�G�G�G����'�*�D�J�O�T�B�B�B�B�Br/c�8�|j���|j���|�|j�dd��|j��|�|j�dd��d��|�tj|jjdd��|�tj|jjdd��|�tj|jjdd��dS)Nr=r`r)	r*rZrar&rb�IDENTIFY_ASrfrgrrhs r-rizEntryTest.test_identifyps����
�������
������	
�����,�,�Q��2�2�D�4D�E�E�E������,�,�R��4�4�b�9�9�9����'�*�D�J�,?��q�I�I�I����'�*�D�J�,?��D�I�I�I����'�*�D�J�,?��B�G�G�G�G�Gr/c����g��fd�}d|jd<d�|jd<||jd<|j���|����d|jd<|j���|�t	���d��||jd<d	�|jd<|j���|�t	���d��d|jd<|j���|�t	���d��d
|jd<|�tj|jj��dS)Nc�.����d��S�NTr�r�s�r-r�z3EntryTest.test_validation_options.<locals>.<lambda>~s���w�~�~�d�3�3�r/r>r$c��dS)NFrCrCr/r-r�z3EntryTest.test_validation_options.<locals>.<lambda>�s���r/r%r"rr�c��dSrKrCrCr/r-r�z3EntryTest.test_validation_options.<locals>.<lambda>�s���r/T)r*r$r�r&rrfrgr)r*�test_invalidr�s  @r-�test_validation_optionsz!EntryTest.test_validation_options|s[�����3�3�3�3��!'��
�:��(5�
��
�$�%�'3��
�#�$��
���������� � � �')��
�#�$��
����������W���q�)�)�)�'3��
�#�$�(4���
�$�%��
����������W���q�)�)�)�(*��
�$�%��
����������W���q�)�)�)�(,��
�$�%����'�*�D�J�,?�@�@�@�@�@r/c�h��g��fd�}d|jd<|j�|��df|jd<|j�dd��|j�dd��|��d	d
g��|�|j���d��dS)Nc���d|���cxkrdksn��d��dS��d��dS�N�a�zFT)�lowerr�)�	to_insert�
validations �r-r$z+EntryTest.test_validation.<locals>.validate�s^����)�/�/�+�+�2�2�2�2�s�2�2�2�2��!�!�%�(�(�(��u����d�#�#�#��4r/r:r$z%Sr%�endr�rSFT)r*�register�insertr&�get)r*r$rWs  @r-�test_validationzEntryTest.test_validation�s�����
�	�	�	�	�	�"'��
�:��(,�
�(;�(;�H�(E�(E�t�(K��
�$�%��
���%��#�#�#��
���%��%�%�%�����e�T�]�3�3�3��������)�)�3�/�/�/�/�/r/c��d�}|j�|��df|jd<|j�dd��|�|j���d��|�|j���d��|j�dd��|�|j���d	��|j�dd
��|�|j���d��|�|j���d��|j�d
��|�|j���d��|�|j���d��dS)Nc�X�|D]&}d|���cxkrdksndS�'dSrR)rU)�content�letters  r-r$z-EntryTest.test_revalidation.<locals>.validate�sI��!�
!�
!���f�l�l�n�n�3�3�3�3��3�3�3�3� �5�5�4��4r/z%Pr%rX�avocadoTrCrr�a1bF)�invalidr�)r*rYrZr&r$rv�deleter[)r*r$s  r-�test_revalidationzEntryTest.test_revalidation�s���	�	�	�)-�
�(;�(;�H�(E�(E�t�(K��
�$�%��
���%��+�+�+������,�,�.�.��5�5�5������)�)�+�+�R�0�0�0��
���!�U�#�#�#��������)�)�2�.�.�.��
���%��'�'�'������,�,�.�.��6�6�6������)�)�+�+�]�;�;�;��
���!���������,�,�.�.��5�5�5������)�)�+�+�R�0�0�0�0�0r/)rNrOrPr��sys�platformrHrXr%r1r5r�r?rArFrirOr\rer{r|s@r-r r As��������G�$'�<�8�#;�#;�-�-��K�#�#�#�#�#�.�.�.�9�9�9�-�-�-�;�;�;�
F�F�F�
:�:�:�C�C�C�

H�
H�
H�A�A�A�60�0�0�"1�1�1�1�1�1�1r/r c�d��eZdZdZejdkrdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
�xZS)�ComboboxTest)r�rr�r!r�r�r�r"r��postcommandr#rvrHr�r�r$r%�valuesrUr&r'zCombobox.buttonr(c�z��t�����|���|_dSr3)rWrXr%�combor[s �r-rXzComboboxTest.setUp�r+r/c�0�tj|jfi|��Sr3)r�Comboboxr'r�s  r-r%zComboboxTest.create�����|�D�I�0�0��0�0�0r/c
�f�|���}|�|ddddddd��dS)Nr�r������LY@�fffff�Y@���r�1ir�r�s  r-�test_configure_heightz"ComboboxTest.test_configure_height�s7�������������3��u�d�A�t�L�L�L�L�Lr/c�j�|j���}|dz
d}}tjdkr/|�|j�||��d��|j�d||���|j�d||���|j���dS)Nr=r'�
.*downarrow\Z�<ButtonPress-1>��x�y�<ButtonRelease-1>)rmrdrfrg�assertRegexrb�event_generate�update_idletasks)r*rUr{r|s    r-�_show_drop_down_listboxz$ComboboxTest._show_drop_down_listbox�s����
�&�&�(�(���q�y�!�1���<�8�#�#����T�Z�0�0��A�6�6�8H�I�I�I��
�!�!�"3�q�A�!�>�>�>��
�!�!�"5��a�!�@�@�@��
�#�#�%�%�%�%�%r/c����g�dg|jd<|j�d�fd���|j���|j���|j���}|���|j���|j�d��|j���|����dS)Nr�rkz<<ComboboxSelected>>c�.����d��SrKr���evtr�s �r-r�z1ComboboxTest.test_virtual_event.<locals>.<lambda>�s������t�,�,�r/z<Return>)rm�bindrZrarer�rr�)r*r�r�s  @r-�test_virtual_eventzComboboxTest.test_virtual_event�s������ !�s��
�8���
���.�,�,�,�,�	.�	.�	.��
�������
��������(�(�*�*���$�$�&�&�&��
�������
�!�!�*�-�-�-��
���������� � � � � r/c�^��g��fd�|jd<|j���|j���|���|����d|jd<|���|�t
���d��dS)Nc�.����d��SrKr�r�s�r-r�z9ComboboxTest.test_configure_postcommand.<locals>.<lambda>�s���G�N�N�4�,@�,@�r/rjrr�)rmrZrar�r�r&r�r*r�s @r-�test_configure_postcommandz'ComboboxTest.test_configure_postcommand�s������$@�$@�$@�$@��
�=�!��
�������
�������$�$�&�&�&����� � � �%'��
�=�!��$�$�&�&�&�����W���q�)�)�)�)�)r/c����fd�}���jdd��|dd�����jddd������jdd�����jdd�����jdd��gd	��jd<�j�d
��|d
d���j�d��|d
d���j�d��|dd���j�d��d�jd<|dd���j�gd�������jd�jrdnd��gd��jd<���jd�jrdnd��gd��jd<���jd�jrdnd����tj	�jjt�jd������tj	�jjd��tj�j
gd����}��|d�jrdnd��|���dS)Nc������j���|�����j���|��dSr3)r&rmr[�current)�getval�currvalr*s  �r-�check_get_currentz=ComboboxTest.test_configure_values.<locals>.check_get_currentsO������T�Z�^�^�-�-�v�6�6�6����T�Z�/�/�1�1�7�;�;�;�;�;r/rkrr`�mon tue wed thur��mon�tue�wed�thurrD��*g��Q�	@rr��rSr��cr�r^rrS�d)r�r^rr�r�rr^�rk��1r�2�1 {} 2�za bza	bza
b�{a b} {a	b} {a
b}�za\tbz"a"z} {�a\\tb {"a"} \}\ \{�r�r^r�r�r�r�1 2 {})r&rmrErr��	configure�wantobjectsrfrgrrrror'r�)r*r��combo2s`  r-�test_configure_valuesz"ComboboxTest.test_configure_valuess���	<�	<�	<�	<�	<�	
�����H�-�r�2�2�2���"�b�!�!�!�����
�H�.@�!>�	�	@�	@�	@�����
�H�.K�L�L�L�����
�H�.J�K�K�K�����
�H�b�1�1�1�,�}�}��
�8���
���s������#�q�!�!�!��
���1������#�q�!�!�!��
���s������#�r�"�"�"�	
�
���r����,��
�8����"�a� � � �	
�
���J�J�J��/�/�/������H�-�+/�+;�"���!�	#�	#�	#�
 7�6�6��
�8�������H�-�48�4D�/�0�0�.�	0�	0�	0�
 7�6�6��
�8�������H�-�48�4D�/�0�0�.�	0�	0�	0�
	
���'�*�D�J�,>���
�8�$�%�%�	'�	'�	'�	
���'�*�D�J�,>��C�C�C���d�i�
�
�
�;�;�;�������)�+/�+;�I����	K�	K�	K��������r/)rNrOrPr�rfrgrHrXr%rvr�r�r�r�r{r|s@r-riri�s���������G�(+�|�x�'?�'?�#�#�Z�K�#�#�#�#�#�1�1�1�M�M�M�&�&�&�!�!�!�"
*�
*�
*�:�:�:�:�:�:�:r/ric�L��eZdZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Z�xZS)
�PanedWindowTest)rr�r��orientrHr�rUc�z��t�����|���|_dSr3)rWrXr%�panedr[s �r-rXzPanedWindowTest.setUpEr+r/c�0�tj|jfi|��Sr3)r�PanedWindowr'r�s  r-r%zPanedWindowTest.createIr�r/c�h�|���}|�t|d��d��d}t|j��dkrd}|�|dd|���|�d���}|�t|d��d��dS)	Nr��verticalrrr�
horizontalr!)r�)r%r&r7r
r'r(r)s    r-�test_configure_orientz%PanedWindowTest.test_configure_orientLs�������������V�H�-�.�.�
�;�;�;�3���T�Y�'�'�*>�>�>�7�F����v�x���	�	�	�	��+�+�\�+�2�2������W�X�.�/�/��>�>�>�>�>r/c��tj|j��}tj|��}|�tj|jj|��|���|���tj|j��}tj|��}|�tj|jj|��|���|���tj|j��}|j�|��|�tj|jj|��tj|j��}|j�|��|�	|j�
d��|j�
d����|�tj|jj
d��|���|���|�tj|jj
d��dS)Nrr�r^)rr�r�rfrgr�addr�r'r&�pane)r*r_�child�
good_child�other_childs     r-�test_addzPanedWindowTest.test_addWs����	�$�*�%�%���	�%� � �����'�*�D�J�N�E�B�B�B�
�
�
����
�
�
�����	�$�)�$�$���	�%� � �����'�*�D�J�N�E�B�B�B�
�
�
����
�
�
�����Y�t�y�)�)�
��
���z�"�"�"����'�*�D�J�N�J�G�G�G��i��
�+�+���
���{�#�#�#���������+�+�T�Z�_�_�Q�-?�-?�@�@�@����'�*�D�J�O�Q�?�?�?����������������'�*�D�J�O�Q�?�?�?�?�?r/c��|�tj|jjd��|�tj|jjd��|j�t
j|j����|j�d��|�tj|jjd��dS)Nr)	rfrgrr��forgetr�rr�r'rhs r-�test_forgetzPanedWindowTest.test_forgetrs������'�*�D�J�,=�t�D�D�D����'�*�D�J�,=�q�A�A�A��
���s�y���+�+�,�,�,��
���!�������'�*�D�J�,=�q�A�A�A�A�Ar/c�L�|�tj|jjdd��|�tj|jjdd��|�tj|jjdd��tj|j��}tj|j��}tj|j��}|�tj|jjd|��|j�d|��|j�d|��|�|j�	��t|��t|��f��|j�d|��|�|j�	��t|��t|��f��|j�d|��|�|j�	��t|��t|��t|��f��|j�	��}|j�d|��|�||j�	����|j�||��|�|j�	��t|��t|��t|��f��dS)NrrX)rfrgrr�rZrr�r'r&�panesr7)r*r��child2�child3r�s     r-�test_insertzPanedWindowTest.test_insertzs������'�*�D�J�,=�t�Q�G�G�G����'�*�D�J�,=�q�$�G�G�G����'�*�D�J�,=�q�!�D�D�D��	�$�)�$�$����4�9�%�%����4�9�%�%�����'�*�D�J�,=�q�%�H�H�H��
���%��(�(�(��
���!�U�#�#�#������)�)�+�+�c�%�j�j�#�f�+�+�-F�G�G�G��
���!�V�$�$�$������)�)�+�+�c�&�k�k�3�u�:�:�-F�G�G�G��
���%��(�(�(������)�)�+�+�
��[�[�#�e�*�*�c�&�k�k�2�	4�	4�	4��
� � �"�"���
���%��(�(�(������
� 0� 0� 2� 2�3�3�3�
	
�
���&�&�)�)�)������)�)�+�+�
��[�[�#�f�+�+�s�5�z�z�2�	4�	4�	4�	4�	4r/c�
�|�tj|jjd��tj|j��}|j�|��|�	|j�d��t��|�|j�dd���|jrdnd��|�|j�dd��|jrdnd��|�|j�d��|j�t|������|�tj|jjdd���dS)Nr��weight�0r��	somevalue)�	badoption)rfrgrr�r�rr�r'r�r4�dictr&r�r7)r*r�s  r-�	test_panezPanedWindowTest.test_pane�sO�����'�*�D�J�O�Q�?�?�?��	�$�)�$�$���
���u�������d�j�o�o�a�0�0�$�7�7�7���������4��8�8�"�.�7���C�	9�	9�	9�	
��������H�5�5�"�.�7���C�	9�	9�	9���������+�+�T�Z�_�_�S��Z�Z�-H�-H�I�I�I����'�*�D�J�O�Q�!�	�	#�	#�	#�	#�	#r/c���|�tj|jjd��|�tj|jjd��|�tj|jjd��tj|jd���}|j�|d���|�tj|jjd��tj|jd���}|j�|��|�tj|jjd��|j�dd	�
��|j�d��}|j�dd��|�	||j�d����|�
|j�d��t��dS)NrrrSrr�r�rT�both)�expand�filli�)rfrgrr��sashposrr�r�rZ�assertNotEqualr4rc)r*r�r��curr_poss    r-�test_sashposzPanedWindowTest.test_sashpos�s������'�*�D�J�,>��E�E�E����'�*�D�J�,>��C�C�C����'�*�D�J�,>��B�B�B��	�$�*�3�/�/�/���
���u�Q��'�'�'����'�*�D�J�,>��B�B�B���4�:�C�0�0�0���
���v�������'�*�D�J�,>��B�B�B��
���t�&��1�1�1��:�%�%�a�(�(���
���1�d�#�#�#����H�d�j�&8�&8��&;�&;�<�<�<����d�j�0�0��3�3�S�9�9�9�9�9r/)
rNrOrPr�rXr%r�r�r�r�r�r�r{r|s@r-r�r�>s���������G�
#�#�#�#�#�4�4�4�	?�	?�	?�@�@�@�6B�B�B� 4� 4� 4�D#�#�#� :�:�:�:�:�:�:r/r�c�$�eZdZdZd�Zd�Zd�ZdS)�RadiobuttonTest)rr�r�r�r�r:rvrHr�rVr�r�r8r�rUc�0�tj|jfi|��Sr3)r�Radiobuttonr'r�s  r-r%zRadiobuttonTest.create�r�r/c�b�|���}|�|ddddd��dS)Nr8r�r�rr�r�r�s  r-�test_configure_valuez$RadiobuttonTest.test_configure_value�s3�������������!�S�"�l�C�C�C�C�Cr/c	���g��fd�}tj|j��}tj|j||d���}tj|j||d���}|jrd�}nt}|���}|�|d��|�||d��|�	����|�|�	��||j
�|d������|����d	|d
<|���}|�t|��d	��|�t���d��|�||d��|�	����|�|�	��||j
�|d������|�t|d��t|d����dS)Nc�2����d��dSr�r�r�s�r-r�z6RadiobuttonTest.test_configure_invoke.<locals>.cb_test�r�r/r)r�r�r8r�c��|Sr3rC�r{s r-r�z7RadiobuttonTest.test_configure_invoke.<locals>.<lambda>����Q�r/r�r8r�rr�)rg�IntVarr'rr�r�rcr�r&r[r�r�r�r7rr)r*r��myvarr�cbtn2r<rr�s       @r-�test_configure_invokez%RadiobuttonTest.test_configure_invoke�s.�����	$�	$�	$�	$�	$���t�y�)�)����t�y�'�(-�Q�8�8�8�����	�7�).�a�9�9�9����	��;�D�D��D��k�k�m�m������.�/�/�/������d�7�m�,�,�e�i�i�k�k�:�:�:����������D���%�%�d�:�&6�7�7�8�8�	:�	:�	:����� � � ���i���l�l�n�n������S���2�&�&�&����S��\�\�1�-�-�-������e�G�n�-�-�u�y�y�{�{�;�;�;����������D���%�%�d�:�&6�7�7�8�8�	:�	:�	:�	
����T�*�-�.�.��E�*�4E�0F�0F�G�G�G�G�Gr/N)rNrOrPr�r%r�r�rCr/r-r�r��sP�������G�4�4�4�D�D�D� H� H� H� H� Hr/r�c�$�eZdZdZd�Zd�Zd�ZdS)�MenubuttonTest)rr�r��	directionr��menur:rvrHr�rVr�r�rUc�0�tj|jfi|��Sr3)r�
Menubuttonr'r�s  r-r%zMenubuttonTest.create�r�r/c	�d�|���}|�|dddddd��dS)Nr��above�below�left�right�flushr�r�s  r-�test_directionzMenubuttonTest.test_direction�s@�����������F�K���&�'�7�	<�	<�	<�	<�	<r/c��|���}tj|d���}|�|d|t���|���dS)Nr�)r��r<)r%rg�MenurEr7r�)r*r+r�s   r-�test_configure_menuz"MenubuttonTest.test_configure_menusN���������|�F��0�0�0��������3��7�7�7��������r/N)rNrOrPr�r%r�r�rCr/r-r�r��sH�������G�3�3�3�<�<�<�
����r/r�c�Z��eZdZdZdZdZ�fd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Z�xZS)
�	ScaleTest)rr�r��from�lengthr�rHr��tor8r�Fr�c����t�����|���|_|j���|j���dSr3)rWrXr%�scalerZrar[s �r-rXzScaleTest.setUpsO���
���
�
�����[�[�]�]��
��
�������
�������r/c�0�tj|jfi|��Sr3)r�Scaler'r�s  r-r%zScaleTest.creater�r/c�d�|���}|�|ddddd���dS)Nr�r�������-@�333333.@Fr��r%�checkFloatParamr�s  r-�test_configure_fromzScaleTest.test_configure_froms6�����������V�V�S�$��5��I�I�I�I�Ir/c�b�|���}|�|ddddd��dS)Nr��gffffff`@g33333�`@�5i�r%�checkPixelsParamr�s  r-�test_configure_lengthzScaleTest.test_configure_length!s3�����������f�h��U�E�4�H�H�H�H�Hr/c	�f�|���}|�|dddddd���dS)Nr��,rr���Fr�rr�s  r-�test_configure_tozScaleTest.test_configure_to%s8�����������V�T�3��d�C�e��L�L�L�L�Lr/c	�f�|���}|�|dddddd���dS)Nr8rrrrFr�rr�s  r-r�zScaleTest.test_configure_value)s8�����������V�W�c�4��s���O�O�O�O�Or/c���gd��|j�d�fd���}d|jd<d|jd<d|jd<|����gd��|j�d	d
���|j�dd
���|j�d���|����dS)N)r�r�r�z<<RangeChanged>>c�,������Sr3)�pop)r��failures �r-r�z-ScaleTest.test_custom_event.<locals>.<lambda>0s��������r/�
r��from_rr�r^r=)rr�r���)r�)r�r�r�r�)r*�funcidrs  @r-�test_custom_eventzScaleTest.test_custom_event-s�����)�)������!3�5N�5N�5N�5N�O�O����
�6�� ��
�7����
�4������!�!�!��)�)���
���1���+�+�+��
���1���,�,�,��
�����#�#�#�����!�!�!�!�!r/c��|jrd�}nt}|j���}|�|j�|d��|jd��|�||j�dd����||jd����|�|j���|jd��d|jd<|�|j���|jd��|�tj|jjdd��|�tj|jjdd��dS)Nc��|Sr3rCr�s r-r�z$ScaleTest.test_get.<locals>.<lambda>Ar�r/rr�r�r8�r)	r��floatr�rdr&r[rfrgr)r*r<�scale_widths   r-�test_getzScaleTest.test_get?sB����	��;�D�D��D��j�,�,�.�.����������Q�7�7���D�9I�J�J�J������d�j�n�n�Q��2�2�3�3�T�T�$�*�V�:L�5M�5M�N�N�N��������)�)�4�:�g�+>�?�?�?� ��
�7���������)�)�4�:�g�+>�?�?�?����'�*�D�J�N�B��B�B�B����'�*�D�J�N�A�r�B�B�B�B�Br/c���|jrd�}nt}||jd��}|dz}|j�|��|�||j�����|��||jd��}|j�|dz
��|�||j�����|��t
j|j��}||jd<|�|dz��|�||j�����|�����|�||j�����|dz��~t��|dz|jd<|�||j�����|dz��|�||j�����||jd����|�||j�d	d	����|��|�||j�|j�
��d	����|��|�tj|jjd��dS)
Nc��|Sr3rCr�s r-r�z$ScaleTest.test_set.<locals>.<lambda>Rr�r/r�rr�r�r�r=r8r)
r�rr�rr&r[rg�	DoubleVarr'rrdrfr)r*r<�max�new_max�min�vars      r-�test_setzScaleTest.test_setPs�����	��;�D�D��D��d�4�:�d�#�$�$����(���
���w���������d�j�n�n�.�.�/�/��5�5�5��d�4�:�f�%�&�&���
���s�Q�w���������d�j�n�n�.�.�/�/��5�5�5����	�*�*��!$��
�:������a����������d�j�n�n�.�.�/�/������;�;�;������d�j�n�n�.�.�/�/��q��9�9�9������"�B�h��
�7�������d�j�n�n�.�.�/�/��r��:�:�:������d�j�n�n�.�.�/�/���d�j��6I�1J�1J�K�K�K�	
�����d�j�n�n�Q��2�2�3�3�S�9�9�9������d�j�n�n�T�Z�-C�-C�-E�-E�q�I�I�J�J�C�P�P�P����'�*�D�J�N�D�A�A�A�A�Ar/)rNrOrPr�rrIrXr%rrrr�rr r(r{r|s@r-r�r�s���������G��L�!�N������.�.�.�J�J�J�I�I�I�M�M�M�P�P�P�"�"�"�$C�C�C�""B�"B�"B�"B�"B�"B�"Br/r�c�>�eZdZdZdZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�ProgressbarTest)rr�r�r��mode�maximum�phaserHr�r8r�Fr�c�0�tj|jfi|��Sr3)r�Progressbarr'r�s  r-r%zProgressbarTest.creater�r/c�`�|���}|�|dddd��dS)Nr�gfffffY@g�����YL@�2ir
r�s  r-rz%ProgressbarTest.test_configure_length�s1�����������f�h��t�T�B�B�B�B�Br/c	�f�|���}|�|dddddd���dS)Nr,�fffff�b@������lS@rrFr�rr�s  r-�test_configure_maximumz&ProgressbarTest.test_configure_maximum�s8�����������V�Y��t�Q��%��P�P�P�P�Pr/c�^�|���}|�|ddd��dS)Nr+�determinate�
indeterminater�r�s  r-�test_configure_modez#ProgressbarTest.test_configure_mode�s/�����������F�F�M�?�K�K�K�K�Kr/c��dSr3rCrhs r-�test_configure_phasez$ProgressbarTest.test_configure_phase�s���r/c	�f�|���}|�|dddddd���dS)Nr8r3r4rrFr�rr�s  r-r�z$ProgressbarTest.test_configure_value�sE�����������V�W�e�T�1�c�"'�	�	)�	)�	)�	)�	)r/N)rNrOrPr�rrIr%rr5r9r;r�rCr/r-r*r*us��������G�
�L�!�N�4�4�4�C�C�C�Q�Q�Q�L�L�L�
�
�
�)�)�)�)�)r/r*r'z"ttk.Scrollbar is special on MacOSXc��eZdZdZdZd�ZdS)�
ScrollbarTest)rr�r�r�rHr�r�c�0�tj|jfi|��Sr3)r�	Scrollbarr'r�s  r-r%zScrollbarTest.create�����}�T�Y�1�1�&�1�1�1r/N�rNrOrPr�rIr%rCr/r-r>r>�s1�������G� �N�2�2�2�2�2r/r>c�^��eZdZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Z�xZS)
�NotebookTest)rr�r�r:rHr�rUc�z��t�����|�d���|_t	j|j��|_t	j|j��|_|j�	|jd���|j�	|jd���dS)Nr�r:rSrr)
rWrXr%�nbrr�r'�child1r�r�r[s �r-rXzNotebookTest.setUp�s����
���
�
�����+�+�a�+�(�(����i��	�*�*����i��	�*�*�������D�K�c��*�*�*�����D�K�c��*�*�*�*�*r/c�0�tj|jfi|��Sr3)r�Notebookr'r�s  r-r%zNotebookTest.create�rpr/c��|j�d��|j�|j��|�t
j|jj|j��|�	|j�
d��d��|j�|j��|�	|j�
d��d��|j�|j��|�
|j�d����|j�|jd���|j���|j���t jdkrd}nd	}|�	|j�|��|j�d����t%d
dd
��D]>}	|j�d|zd���dkrdS�*#t
j$rY�;wxYw|�d
��dS)NrrXr�r�rSrr'z@20,5z@5,5r=rz@%d, 5zTab with text 'a' not found)rGr��hider�rfrgr�tabrHr&�indexr��selectr�rZrarfrgr�fail)r*�tb_idxrs   r-�test_tab_identifiersz!NotebookTest.test_tab_identifiers�s�������q��������T�[�!�!�!����'�*�D�G�K���E�E�E��������u�-�-�q�1�1�1�����D�K� � � ��������u�-�-�q�1�1�1�����t�{�#�#�#��������I�.�.�/�/�/�����D�K�c��*�*�*����������������<�8�#�#��F�F��F��������V�,�,�d�g�k�k�)�.D�.D�E�E�E��q�#�q�!�!�	5�	5�A�
��7�;�;�x�!�|�$�;�7�7�3�>�>��E�E�?���#�
�
�
���
����
�I�I�3�4�4�4�4�4s�3#H�H,�+H,c�$�|�tj|jjd��|�tj|jjd��|�tj|jjd��|�tj|jjd��|�tj|jjt
j|j��d���|j�	��}|j�|j
��|j�|j
��|�|j�	��|��t
j|j��}|j�|d���|j�	��}|j�d��}|j�|j
��}|j�|j
��|j�|j
��|�|j�	��|��|�|j�|j
��|��|�t|j
��|j�	��|��|�|j�d��|dz��dS)	Nr`rr�option)�unknownr�rr�r�)rfrgrrGrLr�rr�r'�tabsrHr&rNr�r7)r*rVr��curr�child2_indexs     r-�test_add_and_hiddenz NotebookTest.test_add_and_hidden�sC�����'�*�D�G�L�"�=�=�=����'�*�D�G�L�$�?�?�?����'�*�D�G�L�$�?�?�?����'�*�D�G�K��>�>�>����'�*�D�G�K���4�9�9M�9M��	�	�	�	��w�|�|�~�~������T�[�!�!�!�����D�K� � � �����������.�.�.��	�$�)�$�$������E���$�$�$��w�|�|�~�~���w�}�}�Y�'�'���w�}�}�T�[�1�1������T�[�!�!�!�����D�K� � � �����������.�.�.��������t�{�3�3�\�B�B�B�����T�[�)�)�4�7�<�<�>�>�,�+G�H�H�H��������y�1�1�4�!�8�<�<�<�<�<r/c���|�tj|jjd��|�tj|jjd��|�tj|jjd��|j���}|j�|j��}|j�|j��|�t|j��|j�����|�
t|��dz
t|j�������|j�|j��|�
|j�|j��d��|�
||j�|j����dS)Nr`rrr�)rfrgrrGr�rVrNrH�assertNotInr7r&rr�r�)r*rV�child1_indexs   r-r�zNotebookTest.test_forget�s]�����'�*�D�G�N�B�?�?�?����'�*�D�G�N�D�A�A�A����'�*�D�G�N�D�A�A�A��w�|�|�~�~���w�}�}�T�[�1�1������t�{�#�#�#�����T�[�)�)�4�7�<�<�>�>�:�:�:�����T���Q���D�G�L�L�N�N�(;�(;�<�<�<�����D�K� � � ��������t�{�3�3�Q�7�7�7����L�$�'�-�-���*D�*D�E�E�E�E�Er/c�@�|�tj|jjd��|�tj|jjd��|�|j�d��t��|�|j�|j��d��|�|j�|j	��d��|�|j�d��d��dS)Nr`rXrr�r^)
rfrgrrGrNr4rcr&rHr�rhs r-�
test_indexzNotebookTest.test_index�s������'�*�D�G�M�2�>�>�>����'�*�D�G�M�4�@�@�@����d�g�m�m�E�2�2�C�8�8�8��������t�{�3�3�Q�7�7�7��������t�{�3�3�Q�7�7�7��������u�-�-�q�1�1�1�1�1r/c���|j���}|j�d|d��|�|j���|d|df��|j�|j|j��|�|j���|��|j�d|j��|�|j���|d|df��|j�dd��|�|j���|��|�tj|jjd|d��|�tj|jjd|d��tj
|j��}|j�d|��|�|j���|dt|��|df��|j�
|��|�|j���|��|j�|j|��|�|j���t|��f|z��|j�
|��|�tj|jjd|��|�tj|jjd|��|�tj|jjdd��|�tj|jjdd��|�tj|jjdd��dS)Nr�rrXr^r`)rGrVrZr&rHr�rfrgrrr�r'r7r�)r*rVr�s   r-r�zNotebookTest.test_inserts����w�|�|�~�~������q�$�q�'�"�"�"����������$�q�'�4��7�);�<�<�<�����t�{�D�K�0�0�0�����������.�.�.�����u�d�k�*�*�*����������$�q�'�4��7�);�<�<�<�����u�a� � � �����������.�.�.����'�*�D�G�N�A�t�A�w�G�G�G����'�*�D�G�N�B��Q��H�H�H���4�9�%�%������q�&�!�!�!����������$�q�'�3�v�;�;��Q��)H�I�I�I�����v��������������.�.�.�����t�{�F�+�+�+����������#�f�+�+��4�)?�@�@�@�����v�������'�*�D�G�N�A�v�F�F�F����'�*�D�G�N�B��G�G�G�	
���'�*�D�G�N�E�4�H�H�H����'�*�D�G�N�D�!�D�D�D����'�*�D�G�N�D�$�G�G�G�G�Gr/c����|j���|j���g�g�|j�d�fd���|j�d�fd���|�|j���t|j����|j�|j��|�	���|�|j���t|j����|j���|�	���dS)Nz<Unmap>c�.����d��SrKr�r�s �r-r�z*NotebookTest.test_select.<locals>.<lambda>/s������t�0D�0D�r/z<<NotebookTabChanged>>c�.����d��SrKr�)r��tab_changeds �r-r�z*NotebookTest.test_select.<locals>.<lambda>1s����*�*�4�0�0�r/)
rGrZrarHr�r&rOr7r�r�)r*r�rcs @@r-�test_selectzNotebookTest.test_select(s$���������������������������$D�$D�$D�$D�E�E�E�����-�0�0�0�0�	2�	2�	2�	
�������)�)�3�t�{�+;�+;�<�<�<�����t�{�#�#�#����� � � ��������)�)�3�t�{�+;�+;�<�<�<������������$�$�$�$�$r/c�^�|�tj|jjd��|�tj|jjd��|�tj|jjd��|�|j�|j��t��|�|j�|jd���d��|�|j�|jd��d��|j�|jd���|�|j�|jd���d��|�|j�|jd��d��dS)Nr`�notabrrSrV�abc)	rfrgrrGrMr4rHr�r&rhs r-�test_tabzNotebookTest.test_tab;sI�����'�*�D�G�K��<�<�<����'�*�D�G�K��A�A�A����'�*�D�G�K��>�>�>����d�g�k�k�$�+�6�6��=�=�=��������T�[�t��<�<�c�B�B�B��������T�[�&�9�9�3�?�?�?�����D�K�e��,�,�,��������T�[�t��<�<�e�D�D�D��������T�[�&�9�9�5�A�A�A�A�Ar/c�P�|�t|j�����d��|j�|j��|j�|j��|�|j���d��dS)Nr^rC)r&rrGrVr�rHr�rhs r-�test_configure_tabsz NotebookTest.test_configure_tabsHs|������T�W�\�\�^�^�,�,�a�0�0�0�����t�{�#�#�#�����t�{�#�#�#�����������,�,�,�,�,r/c��|j���|j���|j�d��tjdkrdnd}|�|j�dd��|��t|jdd��|j�	��|j�
d��|�|j���t|j����|j�	��|j�
d��|�|j���t|j
����|j�	��|j�
d��|�|j���t|j����|j�|j
dd�	��|j�|jd
d�	��|j���|j�	��|�|j�dd��|��t|jdd��tjdkrd}d}nd
}d}|j�
|��|�|j���t|j
����|j�
|��|�|j���t|j����dS)Nrr'r;rr=z
<Control-Tab>z<Shift-Control-Tab>rS)rVr�r�z<Left>z<Right>z<Alt-a>z<Alt-e>)rGrZrarOrfrgr&rbr�focus_forcerr7r�rHrM�enable_traversal)r*�focus_identify_as�beginrXs    r-�test_traversalzNotebookTest.test_traversalPs���������������������q����'*�|�x�'?�'?�G�G�R�������)�)�!�Q�/�/�1B�C�C�C��T�W�a��+�+�+�������������/�/�/��������)�)�3�t�{�+;�+;�<�<�<������������4�5�5�5��������)�)�3�t�{�+;�+;�<�<�<������������4�5�5�5��������)�)�3�t�{�+;�+;�<�<�<�����D�K�c�Q��7�7�7�����D�K�c�Q��7�7�7��� � �"�"�"�������������)�)�!�Q�/�/�1B�C�C�C��T�W�a��+�+�+��<�8�#�#��E��C�C��E��C�����u�%�%�%��������)�)�3�t�{�+;�+;�<�<�<�����s�#�#�#��������)�)�3�t�{�+;�+;�<�<�<�<�<r/)rNrOrPr�rXr%rRrYr�r^r�rdrhrjrpr{r|s@r-rDrD�s���������G�+�+�+�+�+�1�1�1�5�5�5�<=�=�=�8
F�
F�
F�2�2�2�H�H�H�@%�%�%�&B�B�B�-�-�-�$=�$=�$=�$=�$=�$=�$=r/rDc�|��eZdZdZejdkrdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Z�xZS)�SpinboxTest)r�rr�r�r!r�r��formatr��	incrementr"r�r#rvrHr�r�r�r$r%rkrU�wrapr&r'z
Spinbox.fieldr(c���t�����|���|_|j���dSr3)rWrXr%�spinrZr[s �r-rXzSpinboxTest.setUp�s;���
���
�
�����K�K�M�M��	��	�������r/c�0�tj|jfi|��Sr3)r�Spinboxr'r�s  r-r%zSpinboxTest.create�s���{�4�9�/�/��/�/�/r/c��|j���}|j���}|dz
}|dzdz
}|�|j�||��d��|j�d||���|j�d||���|j���dS)Nr=r^z.*uparrow\Zryrzr}�rwrdrer~rbrr��r*rUr�r{r|s     r-�_click_increment_arrowz"SpinboxTest._click_increment_arrow�s����	�%�%�'�'����'�'�)�)���A�I���A�I��M�������+�+�A�q�1�1�>�B�B�B��	� � �!2�a�1� �=�=�=��	� � �!4��Q� �?�?�?��	�"�"�$�$�$�$�$r/c��|j���}|j���}|dz
}|dzdz}|�|j�||��d��|j�d||���|j�d||���|j���dS)Nr=r^rrxryrzr}r{r|s     r-�_click_decrement_arrowz"SpinboxTest._click_decrement_arrow�s����	�%�%�'�'����'�'�)�)���A�I���A�I��M�������+�+�A�q�1�1�3C�D�D�D��	� � �!2�a�1� �=�=�=��	� � �!4��Q� �?�?�?��	�"�"�$�$�$�$�$r/c�X��g��fd�|jd<|j���|���|j���|����|���|�t
���d��d|jd<|j���|���|���|j���|�t
���d��dS)Nc�.����d��SrKr�r�s�r-r�z4SpinboxTest.test_configure_command.<locals>.<lambda>�s���w�~�~�d�';�';�r/r�r^r)rwrar}r�rr&rr�r�s @r-�test_configure_commandz"SpinboxTest.test_configure_command�s�����;�;�;�;��	�)���	�������#�#�%�%�%��	���������� � � ��#�#�%�%�%�����W���q�)�)�)� "��	�)���	�"�"�$�$�$��#�#�%�%�%��#�#�%�%�%��	����������W���q�)�)�)�)�)r/c��d|jd<d|jd<|j�d��|j���|���|�|j���d��|���|�|j���d��dS)Nrr�r=r�r�5)rwrrar}r&r[rhs r-rzSpinboxTest.test_configure_to�s�����	�&����	�$���	�
�
�a�����	�������#�#�%�%�%����������#�.�.�.��#�#�%�%�%����������#�.�.�.�.�.r/c��d|jd<d|jd<|j�d��|j���|���|�|j���d��|���|�|j���d��dS)Nr�r�rr�r^r�)rwrrarr&r[rhs r-rzSpinboxTest.test_configure_from�s�����	�&����	�$���	�
�
�a�����	�������#�#�%�%�%����������#�.�.�.��#�#�%�%�%����������#�.�.�.�.�.r/c���d|jd<d|jd<d|jd<|j�d��|j���|���|�|j���d��d	|jd<|j���|���|�|j���d
��dS)Nrr�rr�rrtr�r�r^�3)rwrrar}r&r[rrhs r-�test_configure_incrementz$SpinboxTest.test_configure_increment�s�����	�&����	�$��!"��	�+���	�
�
�a�����	�������#�#�%�%�%����������#�.�.�.�!"��	�+���	�������#�#�%�%�%����������#�.�.�.�.�.r/c��|j�d��d|jd<|j���|���|j���}|�t
|��d��|�|�d��d��d|jd<|j���|���|j���}|�d|v��|�t
|��d��dS)Nr�z%10.3frsr�.rr)	rwrrar}r[r&rrNr�)r*r8s  r-�test_configure_formatz!SpinboxTest.test_configure_format�s���	�
�
�a����&��	�(���	�������#�#�%�%�%��	�
�
��������U���R�(�(�(�������S�)�)�1�-�-�-� ��	�(���	�������#�#�%�%�%��	�
�
��������5�(�)�)�)�����U���Q�'�'�'�'�'r/c�t�d|jd<d|jd<|j�d��d|jd<|j���|���|�|j���d��|���|�|j���d��d	|jd<|j���|���|�|j���d��dS)
Nrr�r�r�Tru�10r�F)rwrrarr&r[r}rhs r-�test_configure_wrapzSpinboxTest.test_configure_wrap�s	����	�$����	�&���	�
�
�a���� ��	�&���	�������#�#�%�%�%����������$�/�/�/��#�#�%�%�%����������#�.�.�.�!��	�&���	�������#�#�%�%�%����������#�.�.�.�.�.r/c��|�|jdd��|�|jddd���|�|jdd��|�|jdd��|�|jdd��gd�|jd<|j�d��|j���|���|�|j���d	��|���|�|j���d��|j�gd
����|�|jd|j	rdnd
��gd�|jd<|�|jd|j	rdnd��gd�|jd<|�|jd|j	rdnd��tj|jgd����}|�|d|j	rdnd��|�
��dS)Nrkrr�r�rDr�r�rSr�r�r�r�r�r�r�r�r�r�r�r�)r&rwrErrar}r[rr�r�rryr'r�)r*�spin2s  r-r�z!SpinboxTest.test_configure_values�sr�������8�,�b�1�1�1�����	�8�-?�!>�	�	@�	@�	@�����	�8�-J�K�K�K�����	�8�-I�J�J�J�����	�8�R�0�0�0�+�m�m��	�(��	
�	�
�
�c�����	�������#�#�%�%�%����������#�.�.�.��#�#�%�%�%����������#�.�.�.�	
�	���:�:�:��.�.�.������8�,�+/�+;�"���!�	#�	#�	#�
6�5�5��	�(�������8�,�48�4D�/�0�0�.�	0�	0�	0�
6�5�5��	�(�������8�,�48�4D�/�0�0�.�	0�	0�	0�
��D�I�j�j�j�9�9�9������x��+/�+;�I����	K�	K�	K�
�
�
�����r/)rNrOrPr�rfrgrHrXr%r}rr�rrr�r�r�r�r{r|s@r-rrrrws���������G�&)�\�X�%=�%=�/�/�:�K������
0�0�0�%�%�%�%�%�%�*�*�*�(
/�
/�
/�/�/�/�/�/�/�(�(�(�"/�/�/�&)�)�)�)�)�)�)r/rrc���eZdZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)�TreeviewTest)r�columnsr��displaycolumnsr�r:�
selectmoder#rHr�r&�yscrollcommandc�~��t�����|�d���|_dS)NrrF)rWrXr%�tvr[s �r-rXzTreeviewTest.setUp.s-���
���
�
�����+�+�a�+�(�(����r/c�0�tj|jfi|��Sr3)r�Treeviewr'r�s  r-r%zTreeviewTest.create2rpr/c��|���}|�|ddd���|�|dd��|�|dd��dS)Nr��a b c�rSrr�rDrr�r�s  r-�test_configure_columnsz#TreeviewTest.test_configure_columns5se������������	�7�!0�	�	2�	2�	2�����	�?�;�;�;�����	�2�.�.�.�.�.r/c��|���}d|d<|�|ddd���|�|dd��|�|ddd���|�|dd	��|�|dd
d���|�|dd
d���|�|ddd���dS)Nr�r�r�zb a c)rrSr�rD�#all)r�)r^r�r)rSrr�zInvalid column index dr!)r�r^rzColumn index 3 out of bounds)r�rzColumn index -2 out of bounds)r%rEr(r�s  r-�test_configure_displaycolumnsz*TreeviewTest.test_configure_displaycolumns<s��������+��y������ 0�'�!0�	�	2�	2�	2����� 0�/�B�B�B����� 0�&�!*�	�	,�	,�	,����� 0�)�<�<�<����v�'7��&>�	�	@�	@�	@����v�'7��&D�	�	F�	F�	F����v�'7��&E�	�	G�	G�	G�	G�	Gr/c	��|���}|�|dddddd���|�|ddd	d���dS)
Nr�rrtr�3cFr�rrrsr
r�s  r-rvz"TreeviewTest.test_configure_heightLsW�����������f�h��T�1�d���O�O�O����f�h��u�5��I�I�I�I�Ir/c�`�|���}|�|dddd��dS)Nr�r>�browse�extendedr�r�s  r-�test_configure_selectmodez&TreeviewTest.test_configure_selectmodeQs<�����������F�L�"�H�j�	:�	:�	:�	:�	:r/c� �|���}|�|ddd���|�|dd��|�|dd��|�|ddd���|�|ddd	���dS)
Nr#z
tree headings)�tree�headingsrD)r�r�r�)r�r�)r�r�r�s  r-r5z TreeviewTest.test_configure_showVs���������������!5�	�	7�	7�	7������(<�=�=�=������(<�=�=�=���������C�C�C������
�]��K�K�K�K�Kr/c��|j���|�|j�d��d��|j���|j�dd��}|j���}|�|��|j�|d��}|�|��dg|jd<|j�	dd���|j�|dd��}|j�	dd���}|j
st|��}|�|d|d|z��|j�|d��}|�|j�|��d��dS)	NrrXr�testr��2�rU�#0)r�rZr&rErarZ�get_childrenr�rD�columnr�rc)r*�item_id�childrenrE�bbox_column0�
root_widthrHs       r-rFzTreeviewTest.test_bbox_s~����������������b�)�)�2�.�.�.���������'�.�.��U�+�+���7�'�'�)�)������!�!�!��w�|�|�H�Q�K�(�(��� � ��&�&�&�%�X���	������v�R��(�(�(��w�|�|�H�Q�K��3�3���W�^�^�D��^�5�5�
���	)��Z���J�����a��$�q�'�J�*>�?�?�?�������/�/���������f�-�-�r�2�2�2�2�2r/c���|�|j���d��|j�dd��}|�|j���t
��|�|j���d|��|j�dd��}|j�dd��}|j�|||��|�|j�|��||f��|�tj	|jj||��|j�|��|�|j�|��d��|j�d��|�|j���d��dS)NrCrrXr)
r&r�r�rZr4r5�set_childrenrfrgr)r*r�r�r�s    r-�
test_childrenzTreeviewTest.test_childrenxs��������-�-�/�/��4�4�4��'�.�.��U�+�+�����d�g�2�2�4�4�e�<�<�<������-�-�/�/��2�G�<�<�<������E�*�*�������E�*�*������V�W�f�5�5�5������-�-�f�5�5���7H�I�I�I�	
���'�*��G� �&�&�	2�	2�	2�	
����V�$�$�$������-�-�f�5�5�r�:�:�:�	
����R� � � ������-�-�/�/��4�4�4�4�4r/c�"�|�|j�d��t��|jr5|�|j�dd���t
��|j�dd���|�|j�dd��|jrdnd��|�|j�dd���|jrdnd��|�tj	|jjdd���|�tj	|jjd��d	d
iddid
diddiddig}|D]&}|jtj	|jjdfi|���'dS)Nr�r�rrUr��X��idrc�unknown_optionz
some value�stretch�wrongr��minwidth)
r4r�r�r�r�rcr&rfrgr)r*�invalid_kwsrps   r-�test_columnzTreeviewTest.test_column�s������d�g�n�n�T�2�2�D�9�9�9���	I��!�!�$�'�.�.��T�.�"B�"B�C�H�H�H�����t�2��&�&�&���������g�6�6�#�/�9���T�	;�	;�	;���������D��9�9�#�/�9���T�	;�	;�	;�	
���'�*�D�G�N�D�S��I�I�I����'�*�D�G�N�I�F�F�F�
�|�,�	�7�/C�
�w��'�7�!3�j�'�5J�
���	�	�B��D��g�.�����
�
��
�
�
�
�	�	r/c��|�tj|jjd��|j�dd��}|j�|d��}|�|j���|f��|�|j�|��|f��|j�|��|�|j�����|�tj|jj	|dd��|j�dd��}|j�dd��}|�|j���||f��|j�||��|�|j�����dS)Nr�rrX)
rfrgrr�rdrZr&r�r��reattach)r*r��item2�item1s    r-�test_deletezTreeviewTest.test_delete�s������'�*�D�G�N�D�A�A�A��'�.�.��U�+�+������w��.�.�������-�-�/�/�'��=�=�=������-�-�g�6�6��	�B�B�B�����w���������-�-�/�/�0�0�0�	
���'�*��G��g�r�5�	2�	2�	2�����r�5�)�)������r�5�)�)�������-�-�/�/�%���@�@�@�����u�e�$�$�$������-�-�/�/�0�0�0�0�0r/c��|j�dd��}|j�|d��}|j���}|j���|�||j�����|�|j���|f��|�|j�|��|f��|j�|��|�|j�����|j�|dd��|�|j���|f��|�|j�|��|f��|j�|dd��|�|j���||f��|�|j�|��d��|�tj
|jjddd��|�tj
|jjd��|�tj
|jj|dd��|�tj
|jj|dd��|j�||��|�|j���d��|�|j�|��d��dS)NrrXrC�nonexistent�otherparentrc)r�rZr��detachr&r�r��moverfrgr)r*r�r��prevs    r-�test_detach_reattachz!TreeviewTest.test_detach_reattach�s����'�.�.��U�+�+������w��.�.���w�#�#�%�%�������������t�w�3�3�5�5�6�6�6������-�-�/�/�'��=�=�=������-�-�g�6�6��	�B�B�B�	
����w���������-�-�/�/�0�0�0�	
�����"�e�,�,�,������-�-�/�/�'��=�=�=������-�-�g�6�6��	�B�B�B�	
����U�B��&�&�&������-�-�/�/�'�5�1A�B�B�B������-�-�g�6�6��;�;�;�	
���'�*��G��m�R��	8�	8�	8����'�*��G�N�M�	+�	+�	+����'�*��G��e�]�E�	;�	;�	;����'�*��G��e�R��	4�	4�	4�	
����w��&�&�&������-�-�/�/��4�4�4������-�-�g�6�6��;�;�;�;�;r/c�p�|�|j�d��d��|�|j�d��d��|�|j�i��d��|�tj|jjd��dS)N�	somethingFrT)r&r��existsrfrgrrhs r-�test_existszTreeviewTest.test_exists�s�����������4�4�e�<�<�<���������+�+�T�2�2�2���������+�+�U�3�3�3�
	
���'�*�D�G�N�D�A�A�A�A�Ar/c��|�|j���d��|j�dd��}|j�|��|�|j���|��|j�|��|�|j���d��|�tj|jjd��dS)NrrXrr)r&r�r;rZrdrfrgr)r*r�s  r-�
test_focuszTreeviewTest.test_focus�s������������"�-�-�-�����r�5�)�)����
�
�e�������������%�0�0�0�����u�������������"�-�-�-�	
���'�*�D�G�M�4�@�@�@�@�@r/c��|�|j�d��t��|j�dd���|�|j�dd��d��|�|j�dd���d��|�tj|jjdd���|�tj|jjdd���dS)Nr�rrrrV)r�r�)r�)r4r��headingr�r&rfrgrrhs r-�test_headingzTreeviewTest.test_headings������d�g�o�o�d�3�3�T�:�:�:�	
�����4��(�(�(���������v�6�6��=�=�=���������D��9�9�4�@�@�@�	
���'�*�D�G�O�T��	�	�	�	�	
���'�*�D�G�O�T��	�	�	�	�	�	r/c	�x����fd�}g��j����j�d�fd�����j�dd����j���|dd���s��d��g��jjj}�j�dt�j�dd����������	|�jjj��|dd���s��d��dSdS)	Nc�6��tdkr]���j�|��d�����j�||��d��t�j||���j���dS)N)rrr�r�)r	r&r��identify_column�identify_regionrra)r{r|r*s  �r-�simulate_heading_clickzBTreeviewTest.test_heading_callback.<locals>.simulate_heading_clicks�����V�#�#�� � ���!8�!8��!;�!;�T�B�B�B�� � ���!8�!8��A�!>�!>�	�J�J�J� ���!�Q�/�/�/��G�N�N�����r/r�c�.����d��SrKr�r�s�r-r�z4TreeviewTest.test_heading_callback.<locals>.<lambda>s���g�n�n�T�.B�.B�r/r�rr�r=z>The command associated to the treeview heading wasn't invoked.)
r�rZr�r�rarPr��_tclCommandsr7r&)r*r��commandsr�s`  @r-�test_heading_callbackz"TreeviewTest.test_heading_callbacksc����	�	�	�	�	���������������&B�&B�&B�&B��C�C�C�����t�3��'�'�'��������	��q�!�$�$�$��	��I�I��
�
�
����7�>�.�������c�$�'�/�/�$��/�*M�*M�&N�&N��O�O�O�����4�7�>�#>�?�?�?���q�!�$�$�$��	��I�I��
�
�
�
�
�	�	r/c��|�tj|jjd��|�|j�d��d��|j�dd��}|j�dd��}|j�|d��}|j�|d��}|�|j�|��d��|�|j�|��d��|�|j�|��d��|�|j�|��d��|j�|dd��|�|j�|��d��|�|j�|��d��|j�|��|�|j�|��d��|j�|��|�|j�|��d��|j�	|��|�tj|jj|��dS)N�whatrrrXr�)
rfrgrr�rNr&rZr�r�rd)r*r�r��c1�c2s     r-r^zTreeviewTest.test_index7s6�����'�*�D�G�M�6�B�B�B��������r�*�*�A�.�.�.�����r�5�)�)������r�5�)�)��
�W�^�^�E�5�
)�
)��
�W�^�^�E�5�
)�
)���������u�-�-�q�1�1�1��������r�*�*�A�.�.�.��������r�*�*�A�.�.�.��������u�-�-�q�1�1�1�����U�B��"�"�"��������u�-�-�q�1�1�1��������u�-�-�q�1�1�1�	
����u�����������r�*�*�A�.�.�.�����r�����������r�*�*�A�.�.�.�	
����u�������'�*�D�G�M�2�>�>�>�>�>r/c	�n�|�tj|jjdd��|�tj|jjddd���|�tj|jjddd���|�|j�|j�ddd�������|�|j�|j�ddd�������|�tj|jjdd��|j�ddd	��}|�|d	��|�tj|jjddd	��|�tj|jjddtd	����d
}|j�dd|f���}|�|j�	|d��|j
r|fn|��|�|j�	|d���|j
r|fn|��|j�	||j�|j�	|d��������|�|j�	|d���|j
r|fn|��|�
|j�	|��t��|j�	|d���|�|j�	|d�����|j�ddd
d|g���}|�|j�	|d���|j
rdd|fnd|z��|j�	|g���|�|j�	|d�����|j�	|d���|�|j�	|d���|j
rdnd��|j�ddd|�d|��f���}|�|j�	|d���|j
r	d|�d|��fnd|�d|�d���|�|j�	|j�ddd���d���d��|�|j�	|j�dd|���d���|��|j�ddd��}|�|d��|j�ddd��}|�|d��|�tj|jjddd��|�tj|jjddd��dS) Nr>rXr)�open�pleaseTF�middlez
first-itemuábar�rkr�r^��tagsr�r�z1 2 %s�r�r^)r�r�z1 2r�r4z	{a b c} {�}z
Label hererrr�gz0.0)rfrgrr�rZr�rdr&r�itemr�r'�	splitlistr4r�)r*�itemidr8r�s    r-�test_insert_itemzTreeviewTest.test_insert_itemUs������'�*�D�G�N�F�E�J�J�J�	
���'�*�D�G�N�B���	�	�	�	����'�*�D�G�N�B���	�	�	�	������������r�5�t��(L�(L�M�M�N�N�N������������r�5�u��(M�(M�N�N�O�O�O�	
���'�*�D�G�N�B��I�I�I������E�<�8�8�������.�.�.����'�*�D�G�N�B���	�	�	����'�*�D�G�N�B���|�$�$�	&�	&�	&����w�~�~�b�%��	�~�:�:���������d�H�5�5�%)�%5�@�%���5�	B�	B�	B��������d�4��8�8�%)�%5�@�%���5�	B�	B�	B�	
����T�$�)�"5�"5�d�g�l�l�4�PT�l�6U�6U�"V�"V��W�W�W��������d�4��8�8�%)�%5�@�%���5�	B�	B�	B�	
���d�g�l�l�4�0�0�$�7�7�7�	
����T�"��%�%�%��������d�4��8�8�9�9�9��w�~�~�b�%�q�!�U�m�~�<�<���������d���6�6�.2�.>�*�#�s�E�*�*�!�E�)�	+�	+�	+�	
����T���#�#�#��������d���6�6�7�7�7�����T���'�'�'��������d���6�6�'+�'7�B���U�	D�	D�	D��w�~�~�b�%���u�u�e�e�$�1&�~�'�'���������d�4��8�8�37�3C�
/�W������.�/�/�
/�!&������.�	0�	0�	0�
	
��������G�N�N�2�u�<�N�8�8�t�&�E�E��	�	�	�	
��������G�N�N�2�u�5�N�1�1��&�>�>��	�	�	�
�����E�1�-�-�������%�%�%������E�3�/�/�������'�'�'����'�*�D�G�N�B��u�M�M�M����'�*�D�G�N�B��r�J�J�J�J�Jr/c�f�|�t|jjd��|�tj|jjd��|�tj|jjd��|�tj|jjd��|�tj|jj	d��|j�
dd��}|j�
dd��}|j�
|d��}|j�
|d��}|j�
|d��}|�|j���d��|j�||��|�|j���||f��|j�|��|�|j���|f��|j�||��|�|j���|||f��|j�|��|�|j���||||f��|j���|�|j���||||f��|j�||��|�|j���|||f��|j�|��|�|j���||f��|j���|�|j���||f��|j�	||��|�|j���||f��|j�	|��|�|j���|f��|j�	��|�|j���|f��|j�
ddd���|j�d��|�|j���d��|j�
ddd	���|j�d	��|�|j���d
��|j�
ddd���|j�d��|�|j���d��|j�
ddd
���|j�d
��|�|j���d��|j���|�|j���d��|j�||f��|�|j���||f��|j�||f��|�|j���|||f��|j�||f��|�|j���||f��|j�	||f��|�|j���||f��dS)Nr�r>rrXrC�with spacesr�)r��{brace)r��
unicode€)r�sbytes€)ubytes€)rf�	TypeErrorr��	selectionrgr�
selection_set�
selection_add�selection_remove�selection_togglerZr&)r*r�r�r�r��c3s      r-�test_selectionzTreeviewTest.test_selection�s������)�T�W�%6��?�?�?����'�*�D�G�,A�6�J�J�J����'�*�D�G�,A�6�J�J�J����'�*�D�G�,D�f�M�M�M����'�*�D�G�,D�f�M�M�M�����r�5�)�)������r�5�)�)��
�W�^�^�E�5�
)�
)��
�W�^�^�E�5�
)�
)��
�W�^�^�E�5�
)�
)�������*�*�,�,�b�1�1�1�����b�%�(�(�(������*�*�,�,�r�5�k�:�:�:�����b�!�!�!������*�*�,�,�r�e�4�4�4�����b�%�(�(�(������*�*�,�,�r�2�u�o�>�>�>�����e�$�$�$������*�*�,�,�u�b�"�e�.D�E�E�E�������������*�*�,�,�u�b�"�e�.D�E�E�E��� � ���+�+�+������*�*�,�,�r�2�u�o�>�>�>��� � ��$�$�$������*�*�,�,�r�5�k�:�:�:��� � �"�"�"������*�*�,�,�r�5�k�:�:�:��� � ��R�(�(�(������*�*�,�,�r�5�k�:�:�:��� � ��'�'�'������*�*�,�,�r�e�4�4�4��� � �"�"�"������*�*�,�,�r�e�4�4�4�����r�5�]��3�3�3�����m�,�,�,������*�*�,�,�.>�?�?�?�����r�5�X��.�.�.�����h�'�'�'������*�*�,�,�k�:�:�:�����r�5�_��5�5�5�����o�.�.�.������*�*�,�,�.@�A�A�A�����r�5�%9��:�:�:�����2�3�3�3������*�*�,�,�.D�E�E�E�������������*�*�,�,�b�1�1�1�	
����r�5�k�*�*�*������*�*�,�,�r�5�k�:�:�:�����r�5�k�*�*�*������*�*�,�,�u�b�%�.@�A�A�A��� � �%���-�-�-������*�*�,�,�r�5�k�:�:�:��� � �"�b��*�*�*������*�*�,�,�r�5�k�:�:�:�:�:r/c��ddg|jd<|j�ddddg���}|�|j�|��ddd	���|j�|dd��|�|j�|d���|jrd
nd��dg|jd<|�|j�|��ddi��|j�|dd��|�|j�|d���d��|�|j�|d���|jrd
nd��|j�|dd��|�|j�|d��|jrdnd��|�|j�|d���|jrdnd��|�|j�|��|jrddinddi��|�tj|jj|d��|�tj|jj|dd��|�tj|jjd��dS)N�A�Br�rrXrSrr�)r�r�)rSrSza a)r�)rrSzb a�{�123)rrSz123 a�notme)	r�rZr&rr�r�rfrgr)r*r�s  r-r(zTreeviewTest.test_set�s���!�3�Z���	���w�~�~�b�%��c�
�~�;�;���������T�*�*�#�C�,@�,@�A�A�A�����D�#�s�#�#�#��������d�4��8�8�'+�'7�B���U�	D�	D�	D�"�U���	���������T�*�*�S�#�J�7�7�7�����D�#�s�#�#�#��������T�#��6�6��<�<�<��������d�4��8�8�'+�'7�B���U�	D�	D�	D�	
����D�#�s�#�#�#��������T�3�/�/� $� 0�;���e�	=�	=�	=��������d�4��8�8�'+�'7�D���W�	F�	F�	F��������T�*�*�'+�'7�I�#�s���c�5�\�	K�	K�	K�	
���'�*�D�G�K��s�C�C�C����'�*�D�G�K��s�C�H�H�H�	
���'�*�D�G�K��A�A�A�A�Ar/c��	�g�	|j�dddg���}|j�dddg���}|j�dd�	fd���|j�dd�	fd���|j���|j���t��}t��}t
d	d
d��D]a}t|��dkrnK|j�|��}|r.||vr*|�	|��|�	|���b|�
t|��d��|D]}t|jd	|���|�
t�	��d
��t�	ddd��	ddd���D]}|�
|d���dS)NrrX�callr�ryc�.����d��Sr�r��r��eventss �r-r�z,TreeviewTest.test_tag_bind.<locals>.<lambda>�����
�
�a�(�(�r/r}c�.����d��S)Nr^r�rs �r-r�z,TreeviewTest.test_tag_bind.<locals>.<lambda>rr/rrrr^rr�r�)
r�rZ�tag_bindrZrarrr�identify_rowr�r&r�zip)
r*r�r��pos_y�foundrr�r|r�rs
         @r-�
test_tag_bindzTreeviewTest.test_tag_binds����������r�5��x��8�8������r�5��x��8�8�������!2�(�(�(�(�	*�	*�	*������!4�(�(�(�(�	*�	*�	*�	
�����������������������q�#�r�"�"�	#�	#�A��5�z�z�Q������g�*�*�1�-�-�G��
#�7�%�/�/��	�	�!�����	�	�'�"�"�"������U���Q�'�'�'��	0�	0�A� ���!�Q�/�/�/�/�	
����V���a�(�(�(��v�c�c��c�{�F�1�4�a�4�L�1�1�	*�	*�C����S�&�)�)�)�)�	*�	*r/c�:�|�t|jj��|�tj|jjdd���|j�dd���|�t|j�dd����d��|�t|j�dd�����d��|�|j�d��t��dS)Nr��blue)�sky)r�r�)
rfr�r��
tag_configurergrr&r7r4r�rhs r-�test_tag_configurezTreeviewTest.test_tag_configure's�����)�T�W�%:�;�;�;����'�*�D�G�,A���	�	 �	 �	 �����f���8�8�8�����T�W�2�2�6�<�H�H�I�I��	�	�	�����T�W�2�2�6�d�2�K�K�L�L��	�	�	����d�g�3�3�F�;�;�T�B�B�B�B�Br/c�Z�|j�ddddg���}|j�ddddg���}|�t|jj��|�t
|jjdd��|�|j�d|����|�|j�d|����|�|j�d|����|�|j�d|����|�|j�d	|����|�|j�d	|����|�|j�d��|f��|�|j�d��|f��|�|j�d	��d
��dS)NrrXzItem 1�tag1)rVr�zItem 2�tag2znon-existing�tag3rC)	r�rZrfr��tag_hasrr�r�r&)r*r�r�s   r-�test_tag_haszTreeviewTest.test_tag_has3s�������r�5�x�v�h��G�G������r�5�x�v�h��G�G�����)�T�W�_�5�5�5����(�D�G�O�V�^�L�L�L����������6�6�7�7�7����������7�7�8�8�8����������7�7�8�8�8����������6�6�7�7�7����������7�7�8�8�8����������7�7�8�8�8���������0�0�5�(�;�;�;���������0�0�5�(�;�;�;���������0�0�"�5�5�5�5�5r/)rNrOrPr�rXr%r�r�rvr�r5rFr�r�r�r�r�r�r�r�r^r�r�r(rrrr{r|s@r-r�r�&s���������G�)�)�)�)�)�1�1�1�/�/�/�G�G�G� J�J�J�
:�:�:�
L�L�L�3�3�3�25�5�5�6���21�1�1�.'<�'<�'<�RB�B�B�A�A�A���� ���F?�?�?�<JK�JK�JK�XD;�D;�D;�LB�B�B�@*�*�*�@
C�
C�
C�
6�
6�
6�
6�
6�
6�
6r/r�c��eZdZdZdZd�ZdS)�
SeparatorTest)rr�r�rHr�r�c�0�tj|jfi|��Sr3)r�	Separatorr'r�s  r-r%zSeparatorTest.createKrAr/NrBrCr/r-rrCs1�������G�"�N�2�2�2�2�2r/rc��eZdZdZd�ZdS)�SizegripTest)rr�rHr�c�0�tj|jfi|��Sr3)r�Sizegripr'r�s  r-r%zSizegripTest.createVrpr/Nr�rCr/r-r r Os*�������G�
1�1�1�1�1r/r c��eZdZd�Zd�ZdS)�DefaultRootTestc�D�|�tj��dSr3)�_test_widgetrr�rhs r-�
test_framezDefaultRootTest.test_frame\������#�)�$�$�$�$�$r/c�D�|�tj��dSr3)r&rr�rhs r-�
test_labelzDefaultRootTest.test_label_r(r/N)rNrOrPr'r*rCr/r-r$r$Zs2������%�%�%�%�%�%�%�%r/r$�__main__)4�unittestrgrr�test.supportrrrf�test.test_ttk_textonlyr�tkinter.test.supportrr	r
rr�tkinter.test.widget_testsr
rrrrrr�TestCaserRr~r�r�r�r�r�r�r rir�r�r�r�r*�skipIfrgr>rDrrr�rr r$�	tests_guirN�mainrCr/r-�<module>r5s����������!�!�!�!�!�!�!�!�-�-�-�-�-�-�-�-�
�
�
�
�-�-�-�-�-�-�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�����������������	������+
�+
�+
�+
�+
�2�+
�+
�+
�\5<�5<�5<�5<�5<���!2�5<�5<�5<�p�����-�~������-�.�.�.�.�.�.�.�$�h�&7�.�.�/�.�.���-�.�.������)�8�+<���/�.��28�8�8�8�8�*�8�8�8�B��-�.�.�O�O�O�O�O�!�8�#4�O�O�/�.�O�&��-�.�.�!�!�!�!�!�"�H�$5�!�!�/�.�!�,��-�.�.�PG�PG�PG�PG�PG�'��):�PG�PG�/�.�PG�f��&�(?�@�@�|1�|1�|1�|1�|1�"�H�$5�|1�|1�A�@�|1�~��&�(?�@�@�y�y�y�y�y�9�h�/�y�y�A�@�y�x��&�(?�@�@�~:�~:�~:�~:�~:�(�(�*;�~:�~:�A�@�~:�B��-�.�.�0H�0H�0H�0H�0H�'��):�0H�0H�/�.�0H�f�����&��(9����.��-�.�.�fB�fB�fB�fB�fB�"�H�$5�fB�fB�/�.�fB�R��-�.�.�)�)�)�)�)�(�(�*;�)�)�/�.�)�D������)�5�7�7���-�.�.�2�2�2�2�2�&��(9�2�2�/�.�7�7�2���&�(?�@�@�N=�N=�N=�N=�N=�%�x�'8�N=�N=�A�@�N=�b��&�(?�@�@�k�k�k�k�k�)�X�.�k�k�A�@�k�\��-�.�.�Y6�Y6�Y6�Y6�Y6�%�x�'8�Y6�Y6�/�.�Y6�x��-�.�.�2�2�2�2�2�&��(9�2�2�/�.�2���-�.�.�1�1�1�1�1�%�x�'8�1�1�/�.�1�%�%�%�%�%�-�x�/@�%�%�%�	�O�\�9��>�9�n��o����M�=��k�<��_�
�	��z����H�M�O�O�O�O�O��r/