HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/test_ttk/__pycache__/test_widgets.cpython-312.pyc
�

�h�e�
��d�ddlZddlZddlmZmZddlmZmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZmZmZmZed�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.��Zeee�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&ejNejPd(k(d)�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.�Z/eee!e eeee$e*e"e&e#e%e)e-e.e+e,ee/fZ0e1d8k(rejd�yy)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�guic��eZdZd�Zd�Zd�Zy)�StandardTtkOptionsTestsc��|j�}|j|dd�d}t|j�dkrd}|j	|dd|��|jd��}|j|dd�y)	N�class��"attempt to change read-only option���r�beta��"Attempt to change read-only option�Foo��errmsg��class_)�create�assertEqualr
�root�checkInvalidParam��self�widgetr!�widget2s    �A/opt/alt/python312/lib64/python3.12/test/test_ttk/test_widgets.py�test_configure_classz,StandardTtkOptionsTests.test_configure_classsy�������������"�-�3���T�Y�Y�'�*>�>�7�F����v�w��f��E��+�+�U�+�+�������)�5�1�c�F�|j�}|j|ddd��|j|ddd��|j|ddd��|j|dd	d
��|j|ddd��|j|dd
�|j|ddd��y)N�paddingr)�0��expected�)�5)r4r)r5�6)r4r�)r5r6�7)r4rr7r)r5r6r8�8)�5p�6p�7p�8p�r�r$�
checkParam�r)r*s  r,�test_configure_paddingz.StandardTtkOptionsTests.test_configure_paddings������������	�1�v��>�����	�1�v��>�����	�6�J��G�����	�9�!0�	�	2�����	�<�!5�	�	7�����	�+C�D�����	�2���;r.c��|j�}|j|dd�d}t|d�rdt|d�j	�z}|j|dd|��|jd��}|j|d	d�y)
N�stylerzLayout Foo not found�default_orientzLayout %s.Foo not foundrr r"r)r$r%�hasattr�getattr�titler'r(s    r,�test_configure_stylez,StandardTtkOptionsTests.test_configure_style(s��������������"�-�'���4�)�*�/��d�$4�5�;�;�=�>�F����v�w���	�	��+�+�U�+�+�������)�5�1r.N)�__name__�
__module__�__qualname__r-rBrIr>r.r,rrs��2�
<�
2r.rc�.��eZdZdZ�fd�Zd�Zd�Z�xZS)�
WidgetTestz,Tests methods available in every ttk widget.c���t�|��tj|jdd��|_|j
j
�y)Nr�Text)�width�text)�super�setUpr�Buttonr&r*�pack�r)�	__class__s �r,rTzWidgetTest.setUp9s4���
��
���j�j����!�&�A��������r.c	��|jj�|j|jjt	|jj�dz�t	|jj
�dz��d�|j|jjdd�d�|jtj|jjdd�|jtj|jjdd�|jtj|jjdd�y)N��label���rr4)
r*�updater%�identify�int�winfo_width�winfo_height�assertRaises�tkinterr�r)s r,�
test_identifyzWidgetTest.test_identify>s���������������-�-�����'�'�)�A�-�.�����(�(�*�Q�.�/���	�	
������-�-�b�"�5�r�:����'�*�*�D�K�K�,@�,@�$��J����'�*�*�D�K�K�,@�,@�!�T�J����'�*�*�D�K�K�,@�,@�!�R�Hr.c���|j|jj�d�|j|jjdg�d�|j|jjdg�d�|j|jjdg�d�|j|jjddg�d�|j|jjddg�d�|j|jjddg�d�d�}|j|jjdg|d	fid
di��d	d
dif�|jj�}|j	t
j|jjdg�|j	t
j|jjddg�|j||jj��|jjddg�|j|jj�d
�y)Nr>�	!disabledT�disabled)rg�active)z!activerhc�
�||fS�Nr>)�arg1�kws  r,�test_cbz-WidgetTest.test_widget_state.<locals>.test_cbZs����8�Or.�hi�msg�there�badstate)ri)r%r*�state�instaterbrcr)r)rn�	currstates   r,�test_widget_statezWidgetTest.test_widget_stateJs���������*�*�,�b�1�������,�,�k�]�;�T�B�	
������*�*�J�<�8�/�J�������*�*�J�<�8�"�=�������*�*�K��+B�C�#�	%�	
������*�*�K��+B�C�R�H�������*�*�H�k�+B�C�R�H�	����,����,�,�k�]��T�/�#�W�-�/�
�E�7�#�$�	&�
�K�K�%�%�'�	����'�*�*�D�K�K�,?�,?�
�L�	����'�*�*�D�K�K�,?�,?�
��$�	&�	
����D�K�K�$5�$5�$7�8�	
�����8�[�1�2�������*�*�,�l�;r.)rJrKrL�__doc__rTrerv�
__classcell__�rXs@r,rNrN6s���6��

I�!<r.rNc��eZdZdZy)�AbstractToplevelTestFN)rJrKrL�_conv_pixelsr>r.r,r{r{ns���Lr.r{c��eZdZdZd�Zy)�	FrameTest)	�borderwidthr�cursor�heightr0�reliefrD�	takefocusrQc�B�tj|jfi|��Srk)r�Framer&�r)�kwargss  r,r$zFrameTest.createz����y�y����-�f�-�-r.N�rJrKrL�OPTIONSr$r>r.r,r~r~rs���G�.r.r~c�"�eZdZdZd�Zd�Zd�Zy)�LabelFrameTest)
rrr�r��labelanchor�labelwidgetr0r�rDr�rR�	underlinerQc�B�tj|jfi|��Srk)r�
LabelFramer&r�s  r,r$zLabelFrameTest.create�����~�~�d�i�i�2�6�2�2r.c��|j�}|j|ddddddddd	d
ddd
d��|j|dd�y)Nr��e�en�es�n�ne�nw�s�se�sw�w�wn�wsz!Bad label anchor specification {}r �center)r$�checkEnumParamr'rAs  r,�test_configure_labelanchorz)LabelFrameTest.test_configure_labelanchor�sT����������F�M��T�4��d�D�#�t�T�3��d�:�	�	<�	
���v�}�h�?r.c��|j�}tj|jdd��}|j	|d|d��|j�y)N�Mupp�foo)rR�namer�z.foor2)r$r�Labelr&r@�destroy)r)r*r[s   r,�test_configure_labelwidgetz)LabelFrameTest.test_configure_labelwidget�s@��������	�	�$�)�)�&�u�=������
�u�v��F�
�
�
�r.N)rJrKrLr�r$r�r�r>r.r,r�r�~s���G�3�@�r.r�c�$�eZdZd�Zd�Zd�Zd�Zy)�AbstractLabelTestc��tj|jd��}tj|jd��}|j|||d��|j||dd��|j|||fd��|j|||d|fd��|j||dd��|j	||d	d
��y)N�image1)�masterr��image2)r�r2ri)r�rir�zimage1 active image2�spamzimage "spam" doesn't existr )rc�
PhotoImager&r@r')r)r*r��imager�s     r,�checkImageParamz!AbstractLabelTest.checkImageParam�s����"�"�$�)�)�(�C���#�#�4�9�9�8�D�������e�k��B������h���E������u�h���E������u�h��&?�!?�	�	A������&<�!?�	�	A����v�t�V�4�	�	6r.c��dj�}ddj|dd��d|d��}|j�}|j|dg|��d|i�y)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�sg��@�F�F�H��
��	�	�'�#�2�,�'�(��g�b�k�]�
<�	����������F�J�H��H��Hr.c�N�|j�}|j|dddd�y)Nrsrirh�normal�r$�checkParamsrAs  r,�test_configure_statez&AbstractLabelTest.test_configure_state�s#������������(�J��Ir.c�N�|j�}|j|dddd�y)NrQi�in���rr�rAs  r,�test_configure_widthz&AbstractLabelTest.test_configure_width�s#������������#�t�Q�7r.N)rJrKrLr�r�r�r�r>r.r,r�r��s��6�I�J�8r.r�c� �eZdZdZdZd�Zd�Zy)�	LabelTest)�anchor�
backgroundrrr�r��font�
foregroundr��justifyr0r�rsrDr�rR�textvariabler�rQ�
wraplengthFc�B�tj|jfi|��Srk)rr�r&r�s  r,r$zLabelTest.create�r�r.c�J�|j�}|j|dd�y)Nr�z3-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*r?rAs  r,�test_configure_fontzLabelTest.test_configure_font�s!������������M�	Or.N)rJrKrLr�r|r$r�r>r.r,r�r��s���G��L�.�Or.r�c�"�eZdZdZd�Zd�Zd�Zy)�
ButtonTest)r�commandr�r��defaultr�r0rsrDr�rRr�r�rQc�B�tj|jfi|��Srk)rrUr&r�s  r,r$zButtonTest.create�s���z�z�$�)�)�.�v�.�.r.c�N�|j�}|j|dddd�y)Nr�r�rirh�r$r�rAs  r,�test_configure_defaultz!ButtonTest.test_configure_default�s#����������F�I�x��:�Nr.c���g�tj|j�fd���}|j�|j	��y)Nc�&���jd�S�N���append��successs�r,�<lambda>z(ButtonTest.test_invoke.<locals>.<lambda>�s���G�N�N�1�4E�r.�r�)rrUr&�invoke�
assertTrue)r)�btnr�s  @r,�test_invokezButtonTest.test_invoke�s2������j�j����,E�F���
�
������ r.N)rJrKrLr�r$r�r�r>r.r,r�r��s���G�/�O�!r.r�c�.�eZdZdZd�Zd�Zd�Zd�Zd�Zy)�CheckbuttonTest)rr�r�r�r��offvalue�onvaluer0rsrDr�rRr�r��variablerQc�B�tj|jfi|��Srk)r�Checkbuttonr&r�s  r,r$zCheckbuttonTest.create�������t�y�y�3�F�3�3r.c�P�|j�}|j|ddddd�y)Nr�r��ffffff@r�
any stringr�rAs  r,�test_configure_offvaluez'CheckbuttonTest.test_configure_offvalue�s%������������Q��R��Fr.c�P�|j�}|j|ddddd�y)Nr�r�r�rr�r�rAs  r,�test_configure_onvaluez&CheckbuttonTest.test_configure_onvalue�s%������������A�s�B��Er.c����g��fd�}tj|j|��}|j|j	�d�|jtj|jj|d�|j�}|j|d�|j|d|jj|d��|j��d|d<|j�}|jt|��|jt��d	�|j|d
|jj|d��y)Nc�(���jd�y�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%rsrbrcr�tk�globalgetvarr�r��assertFalse�str�assertLessEqual�len)r)r��cbtn�resr�s    @r,r�zCheckbuttonTest.test_invoke�s �����	$����t�y�y�'�:��	
��������7����'�*�*�D�G�G�,@�,@����	��k�k�m������.�/�����i���G�G� � ��j�!1�2�	4����� ���Y���k�k�m������S��"����S��\�1�-�����j�)��G�G� � ��j�!1�2�	4r.c���g}g}td�D]�}tj|j�}|j	�|j|�dD]:}tj||��}|j	�|j|��<��|D�cgc]}t|d���}}t|�|jtt|��d|�ycc}w)NrZ�AB�rRr��)�rangerr�r&rVr�r�r��printr%r��set)r)�frames�buttons�i�f�j�b�	variabless        r,�test_unique_variablesz%CheckbuttonTest.test_unique_variabless��������q��	"�A��	�	�$�)�)�$�A�
�F�F�H��M�M�!���
"���O�O�A�A�.���������q�!�
"�		"�29�9�A�S��:��'�9�	�9�
�i������S��^�,�a��;��:s�C N)	rJrKrLr�r$r�r�r�rr>r.r,r�r��s$���G�4�G�F�4�4
<r.r�c���eZdZdZej
dk(rdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Z�xZS)�	EntryTest)r�rr��exportselectionr�r��invalidcommandr��showrsrDr�r��validate�validatecommandrQ�xscrollcommand�darwinzEntry.field�textareac�L��t�|��|j�|_yrk)rSrTr$�entryrWs �r,rTzEntryTest.setUp/����
��
���[�[�]��
r.c�B�tj|jfi|��Srk)r�Entryr&r�s  r,r$zEntryTest.create3r�r.c�H�|j�}|j|d�y)Nr�r$�checkCommandParamrAs  r,�test_configure_invalidcommandz'EntryTest.test_configure_invalidcommand6s����������v�'7�8r.c��|j�}|j|dd�|j|dd�|j|dd�y)Nr�*r� r?rAs  r,�test_configure_showzEntryTest.test_configure_show:s=�������������,�������+�������,r.c�N�|j�}|j|dddd�y)Nrsrhr��readonlyr�rAs  r,r�zEntryTest.test_configure_state@s&������������#�X�z�	;r.c
�T�|j�}|j|ddddddd�y)Nr�all�key�focus�focusin�focusout�noner�rAs  r,�test_configure_validatez!EntryTest.test_configure_validateEs-����������F�J��u�g�y�*�f�	Fr.c�H�|j�}|j|d�y)NrrrAs  r,�test_configure_validatecommandz(EntryTest.test_configure_validatecommandJs����������v�'8�9r.c�,�|j|jjd��|jtj
|jjd�|jtj
|jjd�y)Nr�noindex)�assertIsBoundingBoxr�bboxrbrcrrds r,�	test_bboxzEntryTest.test_bboxNs]��� � �������!3�4����'�*�*�D�J�J�O�O�Y�G����'�*�*�D�J�J�O�O�T�Br.c�t�|jj�|jj�|j|jj	dd�|j
�|j|jj	dd�d�|j
tj|jjdd�|j
tj|jjdd�|j
tj|jjdd�y)Nr4r\r)	rrVr]r%r^�IDENTIFY_ASrbrcrrds r,rezEntryTest.test_identifySs����
�
�����
�
����	
������,�,�Q��2�D�4D�4D�E�������,�,�R��4�b�9����'�*�*�D�J�J�,?�,?��q�I����'�*�*�D�J�J�,?�,?��D�I����'�*�*�D�J�J�,?�,?��B�Gr.c���g��fd�}d|jd<d�|jd<||jd<|jj�|j��d|jd<|jj�|jt	��d�||jd<d	�|jd<|jj�|jt	��d�d|jd<|jj�|jt	��d�d
|jd<|jtj|jj�y)Nc�&���jd�S�NTr�r�s�r,r�z3EntryTest.test_validation_options.<locals>.<lambda>as���w�~�~�d�3�r.r.rc��y)NFr>r>r.r,r�z3EntryTest.test_validation_options.<locals>.<lambda>d��r.rrrr�c��yr;r>r>r.r,r�z3EntryTest.test_validation_options.<locals>.<lambda>or=r.T)rrr�r%r�rbrcr)r)�test_invalidr�s  @r,�test_validation_optionsz!EntryTest.test_validation_options_s,�����3��!'��
�
�:��(5��
�
�$�%�'3��
�
�#�$��
�
�������� �')��
�
�#�$��
�
��������W��q�)�'3��
�
�#�$�(4��
�
�$�%��
�
��������W��q�)�(*��
�
�$�%��
�
��������W��q�)�(,��
�
�$�%����'�*�*�D�J�J�,?�,?�@r.c�r��g��fd�}d|jd<|jj|�df|jd<|jjdd�|jjdd�|j�d	d
g�|j|jj	�d�y)Nc���d|j�cxkrdksn�jd�y�jd�y�N�a�zFT)�lowerr�)�	to_insert�
validations �r,rz+EntryTest.test_validation.<locals>.validate|s9����)�/�/�+�2�s�2��!�!�%�(�����d�#�r.r*rz%Sr�endr�rDFT)r�register�insertr%�get)r)rrHs  @r,�test_validationzEntryTest.test_validationzs�����
�	�"'��
�
�:��(,�
�
�(;�(;�H�(E�t�(K��
�
�$�%��
�
���%��#��
�
���%��%�����e�T�]�3���������)�3�/r.c��d�}|jj|�df|jd<|jjdd�|j|jj	�d�|j|jj�d�|jj
dd�|j|jj�d	�|jjdd
�|j|jj	�d�|j|jj�d�|jj
d
�|j|jj	�d�|j|jj�d�y)Nc�N�|D] }d|j�cxkrdkr�yyyrC)rF)�content�letters  r,rz-EntryTest.test_revalidation.<locals>.validate�s4��!�
!���f�l�l�n�3��3� �4� �
!�r.z%PrrI�avocadoTr>rr�a1bF)�invalidr�)rrJrKr%rrs�deleterL)r)rs  r,�test_revalidationzEntryTest.test_revalidation�sC��	�)-�
�
�(;�(;�H�(E�t�(K��
�
�$�%��
�
���%��+�������,�,�.��5�������)�)�+�R�0��
�
���!�U�#���������)�2�.��
�
���%��'�������,�,�.��6�������)�)�+�]�;��
�
���!��������,�,�.��5�������)�)�+�R�0r.)rJrKrLr��sys�platformr8rTr$r!r%r�r/r1r6rer@rMrVrxrys@r,rr$s^����G�$'�<�<�8�#;�-��K�#�.�9�-�;�
F�
:�C�

H�A�60�"1r.rc�l��eZdZdZej
dk(rdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
�xZS)�ComboboxTest)r�rr�rr�r�r�rr��postcommandrrsrDr�r�rr�valuesrQrrzCombobox.buttonrc�L��t�|��|j�|_yrk)rSrTr$�comborWs �r,rTzComboboxTest.setUp�rr.c�B�tj|jfi|��Srk)r�Comboboxr&r�s  r,r$zComboboxTest.create�����|�|�D�I�I�0��0�0r.c
�T�|j�}|j|ddddddd�y)Nr��d������LY@�fffff�Y@���r�1ir�rAs  r,�test_configure_heightz"ComboboxTest.test_configure_height�s)������������3��u�d�A�t�Lr.c�p�|jj�}|dz
d}}tjdk7r,|j	|jj||�d�|jj
d||��|jj
d||��|jj�y)Nr4r�
.*downarrow\Z�<ButtonPress-1>��x�y�<ButtonRelease-1>)r^r`rWrX�assertRegexr^�event_generate�update_idletasks)r)rQrmrns    r,�_show_drop_down_listboxz$ComboboxTest._show_drop_down_listbox�s����
�
�&�&�(���q�y�!�1���<�<�8�#����T�Z�Z�0�0��A�6�8H�I��
�
�!�!�"3�q�A�!�>��
�
�!�!�"5��a�!�@��
�
�#�#�%r.c����g�dg|jd<|jjd�fd��|jj�|jj�|jj	�}|j�|jj�|jj
d�|jj�|j��y)Nr�r\z<<ComboboxSelected>>c�&���jd�Sr;r���evtr�s �r,r�z1ComboboxTest.test_virtual_event.<locals>.<lambda>�s������t�,�r.z<Return>)r^�bindrVr]rarsrqr�)r)r�r�s  @r,�test_virtual_eventzComboboxTest.test_virtual_event�s������ !�s��
�
�8���
�
���.�,�	.��
�
�����
�
�������(�(�*���$�$�&��
�
�����
�
�!�!�*�-��
�
�������� r.c�L��g��fd�|jd<|jj�|jj�|j�|j	��d|jd<|j�|jt
��d�y)Nc�&���jd�Sr;r�r�s�r,r�z9ComboboxTest.test_configure_postcommand.<locals>.<lambda>�s���G�N�N�4�,@�r.r[rr�)r^rVr]rsr�r%r��r)r�s @r,�test_configure_postcommandz'ComboboxTest.test_configure_postcommand�s|�����$@��
�
�=�!��
�
�����
�
�����$�$�&����� �%'��
�
�=�!��$�$�&�����W��q�)r.c�����fd�}�j�jdd�|dd��j�jddd���j�jdd��j�jdd��j�jdd�gd	��jd<�jjd
�|d
d��jj	d�|d
d��jjd�|dd��jjd�d�jd<|dd��jjgd����j�jd�jrdnd�gd��jd<�j�jd�jrdnd�gd��jd<�j�jd�jrdnd��jtj�jjt�jd���jtj�jjd�tj�jgd���}�j|d�jrdnd�|j�y)Nc����j�jj�|��j�jj�|�yrk)r%r^rL�current)�getval�currvalr)s  �r,�check_get_currentz=ComboboxTest.test_configure_values.<locals>.check_get_current�s;������T�Z�Z�^�^�-�v�6����T�Z�Z�/�/�1�7�;r.r\rr\�mon tue wed thur��mon�tue�wed�thurr2��*g��Q�	@rr��rDr��cr�rZrrD�d)r�rZrr�r�rrZ�r\��1r�2�1 {} 2�za bza	bza
b�{a b} {a	b} {a
b}�za\tbz"a"z} {�a\\tb {"a"} \}\ \{�r�rZr�r�r�r�1 2 {})r%r^r@rr��	configure�wantobjectsrbrcrr�rr`r&r�)r)r��combo2s`  r,�test_configure_valuesz"ComboboxTest.test_configure_values�s]���	<�	
������H�-�r�2��"�b�!�����
�
�H�.@�!>�	�	@�����
�
�H�.K�L�����
�
�H�.J�K�����
�
�H�b�1�,��
�
�8���
�
���s���#�q�!��
�
���1���#�q�!��
�
���s���#�r�"�	
�
�
���r��,��
�
�8���"�a� �	
�
�
���J��/�������H�-�+/�+;�+;��!�	#�
 7��
�
�8��������H�-�48�4D�4D�0�.�	0�
 7��
�
�8��������H�-�48�4D�4D�0�.�	0�
	
���'�*�*�D�J�J�,>�,>���
�
�8�$�%�	'�	
���'�*�*�D�J�J�,>�,>��C����d�i�i�
�;�������)�+/�+;�+;���	K����r.)rJrKrLr�rWrXr8rTr$rhrsryr}r�rxrys@r,rZrZ�sC����G�(+�|�|�x�'?�#�Z�K�#�1�M�&�!�"
*�:r.rZc�L��eZdZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Z�xZS)
�PanedWindowTest)rr�r��orientrDr�rQc�L��t�|��|j�|_yrk)rSrTr$�panedrWs �r,rTzPanedWindowTest.setUp(rr.c�B�tj|jfi|��Srk)r�PanedWindowr&r�s  r,r$zPanedWindowTest.create,r�r.c�"�|j�}|jt|d�d�d}t|j�dkrd}|j|dd|��|jd��}|jt|d�d�y)	Nr��verticalrrr�
horizontalr )r�)r$r%r�r
r&r'r(s    r,�test_configure_orientz%PanedWindowTest.test_configure_orient/s������������V�H�-�.�
�;�3���T�Y�Y�'�*>�>�7�F����v�x���	�	��+�+�\�+�2������W�X�.�/��>r.c��tj|j�}tj|�}|jtj
|jj|�|j�|j�tj|j�}tj|�}|jtj
|jj|�|j�|j�tj|j�}|jj
|�|jtj
|jj|�tj|j�}|jj
|�|j|jjd�|jjd��|jtj
|jjd�|j�|j�|jtj
|jjd�y)Nrr�rZ)rr�r�rbrcr�addr�r&r%�pane)r)r[�child�
good_child�other_childs     r,�test_addzPanedWindowTest.test_add:s����	�	�$�*�*�%���	�	�%� �����'�*�*�D�J�J�N�N�E�B�
�
�
��
�
�
���	�	�$�)�)�$���	�	�%� �����'�*�*�D�J�J�N�N�E�B�
�
�
��
�
�
���Y�Y�t�y�y�)�
��
�
���z�"����'�*�*�D�J�J�N�N�J�G��i�i��
�
�+���
�
���{�#����������+�T�Z�Z�_�_�Q�-?�@����'�*�*�D�J�J�O�O�Q�?������������'�*�*�D�J�J�O�O�Q�?r.c���|jtj|jjd�|jtj|jjd�|jjt
j|j��|jj	d�|jtj|jjd�y)Nr)	rbrcrr��forgetr�rr�r&rds r,�test_forgetzPanedWindowTest.test_forgetUs������'�*�*�D�J�J�,=�,=�t�D����'�*�*�D�J�J�,=�,=�q�A��
�
���s�y�y����+�,��
�
���!�����'�*�*�D�J�J�,=�,=�q�Ar.c�^�|jtj|jjdd�|jtj|jjdd�|jtj|jjdd�tj|j�}tj|j�}tj|j�}|jtj|jjd|�|jj	d|�|jj	d|�|j|jj�t|�t|�f�|jj	d|�|j|jj�t|�t|�f�|jj	d|�|j|jj�t|�t|�t|�f�|jj�}|jj	d|�|j||jj��|jj	||�|j|jj�t|�t|�t|�f�y)NrrI)rbrcrr�rKrr�r&r%�panesr�)r)r��child2�child3r�s     r,�test_insertzPanedWindowTest.test_insert]s-�����'�*�*�D�J�J�,=�,=�t�Q�G����'�*�*�D�J�J�,=�,=�q�$�G����'�*�*�D�J�J�,=�,=�q�!�D��	�	�$�)�)�$�����4�9�9�%�����4�9�9�%�����'�*�*�D�J�J�,=�,=�q�%�H��
�
���%��(��
�
���!�U�#�������)�)�+�c�%�j�#�f�+�-F�G��
�
���!�V�$�������)�)�+�c�&�k�3�u�:�-F�G��
�
���%��(�������)�)�+�
��[�#�e�*�c�&�k�2�	4��
�
� � �"���
�
���%��(������
�
� 0� 0� 2�3�
	
�
�
���&�&�)�������)�)�+�
��[�#�f�+�s�5�z�2�	4r.c�2�|jtj|jjd�tj|j�}|jj|�|j|jj	d�t�|j|jj	dd��|jrdnd�|j|jj	dd�|jrdnd�|j|jj	d�|jj	t|���|jtj|jjdd��y)Nr��weightr1r��	somevalue)�	badoption)rbrcrr�r�rr�r&r��assertIsInstance�dictr%r�r�)r)r�s  r,�	test_panezPanedWindowTest.test_panes�����'�*�*�D�J�J�O�O�Q�?��	�	�$�)�)�$���
�
���u�����d�j�j�o�o�a�0�$�7����������4��8�"�.�.��C�	9�	
���������H�5�"�.�.��C�	9����������+�T�Z�Z�_�_�S��Z�-H�I����'�*�*�D�J�J�O�O�Q�!�	�	#r.c�f�|jtj|jjd�|jtj|jjd�|jtj|jjd�tj|jd��}|jj|d��|jtj|jjd�tj|jd��}|jj|�|jtj|jjd�|jjdd	�
�|jj	d�}|jj	dd�|j||jj	d��|j|jj	d�t�y)NrrrDrr�r�rT�both)�expand�filli�)rbrcrr��sashposrr�r�rV�assertNotEqualr�r_)r)r�r��curr_poss    r,�test_sashposzPanedWindowTest.test_sashpos�sr�����'�*�*�D�J�J�,>�,>��E����'�*�*�D�J�J�,>�,>��C����'�*�*�D�J�J�,>�,>��B��	�	�$�*�*�3�/���
�
���u�Q��'����'�*�*�D�J�J�,>�,>��B����4�:�:�C�0���
�
���v�����'�*�*�D�J�J�,>�,>��B��
�
���t�&��1��:�:�%�%�a�(���
�
���1�d�#����H�d�j�j�&8�&8��&;�<����d�j�j�0�0��3�S�9r.)
rJrKrLr�rTr$r�r�r�r�r�r�rxrys@r,r�r�!s5����G�
#�4�	?�@�6B� 4�D#� :r.r�c�"�eZdZdZd�Zd�Zd�Zy)�RadiobuttonTest)rr�r�r�r�r0rsrDr�rRr�r��valuer�rQc�B�tj|jfi|��Srk)r�Radiobuttonr&r�s  r,r$zRadiobuttonTest.create�r�r.c�P�|j�}|j|ddddd�y)Nr�r�r�rr�r�rAs  r,�test_configure_valuez$RadiobuttonTest.test_configure_value�s%������������!�S�"�l�Cr.c	���g��fd�}tj|j�}tj|j||d��}tj|j||d��}|j
rd�}nt}|j�}|j|d�|j||d�|j��|j|j�||jj|d���|j��d	|d
<|j�}|jt|�d	�|jt��d�|j||d�|j��|j|j�||jj|d���|jt|d�t|d��y)Nc�(���jd�yr�r�r�s�r,r�z6RadiobuttonTest.test_configure_invoke.<locals>.cb_test�r�r.r)r�r�r�r�c��|Srkr>�rms r,r�z7RadiobuttonTest.test_configure_invoke.<locals>.<lambda>����Q�r.r�r�r�rr�)rc�IntVarr&rr�r�r_r�r%rLr�r�r�r�r�r�)r)r��myvarr��cbtn2�convr�r�s       @r,�test_configure_invokez%RadiobuttonTest.test_configure_invoke�s������	$����t�y�y�)�����t�y�y�'�(-�Q�8������	�	�7�).�a�9������D��D��k�k�m������.�/�����d�7�m�,�e�i�i�k�:������������%�%�d�:�&6�7�8�	:����� ���i���l�l�n������S��2�&����S��\�1�-�����e�G�n�-�u�y�y�{�;������������%�%�d�:�&6�7�8�	:�	
����T�*�-�.��E�*�4E�0F�Gr.N)rJrKrLr�r$r�r�r>r.r,r�r��s���G�4�D� Hr.r�c�"�eZdZdZd�Zd�Zd�Zy)�MenubuttonTest)rr�r��	directionr��menur0rsrDr�rRr�r�rQc�B�tj|jfi|��Srk)r�
Menubuttonr&r�s  r,r$zMenubuttonTest.create�r�r.c	�R�|j�}|j|dddddd�y)Nr��above�below�left�right�flushr�rAs  r,�test_directionzMenubuttonTest.test_direction�s*����������F�K���&�'�7�	<r.c��|j�}tj|d��}|j|d|t��|j�y)Nr�)r��r�)r$rc�Menur@r�r�)r)r*r�s   r,�test_configure_menuz"MenubuttonTest.test_configure_menu�s:��������|�|�F��0��������3��7����r.N)rJrKrLr�r$r�r�r>r.r,r�r��s���G�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�rDr��tor�r�Fr�c���t�|��|j�|_|jj	�|jj�yrk)rSrTr$�scalerVr]rWs �r,rTzScaleTest.setUp�s7���
��
���[�[�]��
��
�
�����
�
���r.c�B�tj|jfi|��Srk)r�Scaler&r�s  r,r$zScaleTest.create�r�r.c�R�|j�}|j|ddddd��y)Nr�rc�������-@�333333.@Fr��r$�checkFloatParamrAs  r,�test_configure_fromzScaleTest.test_configure_froms(����������V�V�S�$��5��Ir.c�P�|j�}|j|ddddd�y)Nr��gffffff`@g33333�`@�5i�r$�checkPixelsParamrAs  r,�test_configure_lengthzScaleTest.test_configure_lengths%����������f�h��U�E�4�Hr.c	�T�|j�}|j|dddddd��y)Nr��,r�r����Fr�r�rAs  r,�test_configure_tozScaleTest.test_configure_tos*����������V�T�3��d�C�e��Lr.c	�T�|j�}|j|dddddd��y)Nr�rr�r�rFr�r�rAs  r,r�zScaleTest.test_configure_values*����������V�W�c�4��s���Or.c���gd��|jjd�fd��}d|jd<d|jd<d|jd<|j��gd��|jjd	d
��|jjdd
��|jjd��|j��y)N)r�r�r�z<<RangeChanged>>c�$���j�Srk)�pop)rw�failures �r,r�z-ScaleTest.test_custom_event.<locals>.<lambda>s
�������r.�
r��from_rr�rZr4)rr�r���)r�)r�rxr�r�)r)�funcidr	s  @r,�test_custom_eventzScaleTest.test_custom_events�����������!3�5N�O����
�
�6�� ��
�
�7����
�
�4������!����
�
���1���+��
�
���1���,��
�
�����#�����!r.c�2�|jrd�}nt}|jj�}|j	|jj|d�|jd�|j	||jjdd��||jd��|j	|jj�|jd�d|jd<|j	|jj�|jd�|j
tj|jj
dd�|j
tj|jj
dd�y)Nc��|Srkr>r�s r,r�z$ScaleTest.test_get.<locals>.<lambda>$r�r.rr�r�r��r)	r��floatr�r`r%rLrbrcr)r)r��scale_widths   r,�test_getzScaleTest.test_get"s������D��D��j�j�,�,�.�����������Q�7����D�9I�J�����d�j�j�n�n�Q��2�3�T�$�*�*�V�:L�5M�N���������)�4�:�:�g�+>�?� ��
�
�7����������)�4�:�:�g�+>�?����'�*�*�D�J�J�N�N�B��B����'�*�*�D�J�J�N�N�A�r�Br.c��|jrd�}nt}||jd�}|dz}|jj|�|j	||jj��|�||jd�}|jj|dz
�|j	||jj��|�t
j|j�}||jd<|j|dz�|j	||jj��|j��|j	||jj��|dz�~t�|dz|jd<|j	||jj��|dz�|j	||jj��||jd��|j	||jjd	d	��|�|j	||jj|jj�d	��|�|jtj|jjd�y)
Nc��|Srkr>r�s r,r�z$ScaleTest.test_set.<locals>.<lambda>5r�r.r�r
r�r�r�r4r�r)
r�rr�rr%rLrc�	DoubleVarr&rr`rbr)r)r��max�new_max�min�vars      r,�test_setzScaleTest.test_set3s
������D��D��4�:�:�d�#�$����(���
�
���w������d�j�j�n�n�.�/��5��4�:�:�f�%�&���
�
���s�Q�w������d�j�j�n�n�.�/��5�����	�	�*��!$��
�
�:������a�������d�j�j�n�n�.�/�����;�����d�j�j�n�n�.�/��q��9����"�B�h��
�
�7������d�j�j�n�n�.�/��r��:�����d�j�j�n�n�.�/��d�j�j��6I�1J�K�	
����d�j�j�n�n�Q��2�3�S�9�����d�j�j�n�n�T�Z�Z�-C�-C�-E�q�I�J�C�P����'�*�*�D�J�J�N�N�D�Ar.)rJrKrLr�r|rErTr$r�rrr�rrrrxrys@r,r�r��sI����G��L�!�N��.�J�I�M�P�"�$C�""Br.r�c�<�eZdZdZdZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�ProgressbarTest)rr�r�r��mode�maximum�phaserDr�r�r�Fr�c�B�tj|jfi|��Srk)r�Progressbarr&r�s  r,r$zProgressbarTest.createbr�r.c�N�|j�}|j|dddd�y)Nr�gfffffY@g�����YL@�2ir�rAs  r,rz%ProgressbarTest.test_configure_lengthes#����������f�h��t�T�Br.c	�T�|j�}|j|dddddd��y)Nr �fffff�b@������lS@rrFr�r�rAs  r,�test_configure_maximumz&ProgressbarTest.test_configure_maximumis*����������V�Y��t�Q��%��Pr.c�L�|j�}|j|ddd�y)Nr�determinate�
indeterminater�rAs  r,�test_configure_modez#ProgressbarTest.test_configure_modems!����������F�F�M�?�Kr.c��yrkr>rds r,�test_configure_phasez$ProgressbarTest.test_configure_phaseqs��r.c	�T�|j�}|j|dddddd��y)Nr�r'r(rrFr�r�rAs  r,r�z$ProgressbarTest.test_configure_valueus/����������V�W�e�T�1�c�"'�	�	)r.N)rJrKrLr�r|rEr$rr)r-r/r�r>r.r,rrXs6���G�
�L�!�N�4�C�Q�L�
�)r.rrz"ttk.Scrollbar is special on MacOSXc��eZdZdZdZd�Zy)�
ScrollbarTest)rr�r�r�rDr�r�c�B�tj|jfi|��Srk)r�	Scrollbarr&r�s  r,r$zScrollbarTest.create�����}�}�T�Y�Y�1�&�1�1r.N�rJrKrLr�rEr$r>r.r,r2r2{s���G� �N�2r.r2c�^��eZdZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Z�xZS)
�NotebookTest)rr�r�r0rDr�rQc�|��t�|��|jd��|_t	j
|j�|_t	j
|j�|_|jj|jd��|jj|jd��y)Nr�r0rDrr)
rSrTr$�nbrr�r&�child1r�r�rWs �r,rTzNotebookTest.setUp�sv���
��
���+�+�a�+�(����i�i��	�	�*����i�i��	�	�*��������D�K�K�c��*������D�K�K�c��*r.c�B�tj|jfi|��Srk)r�Notebookr&r�s  r,r$zNotebookTest.create�rar.c���|jjd�|jj|j�|j	t
j|jj|j�|j|jjd�d�|jj|j�|j|jjd�d�|jj|j�|j|jjd��|jj|jd��|jj�|jj�t j"dk(rd}nd	}|j|jj|�|jjd��t%d
dd
�D](}	|jjd|zd��dk(ry�*|j'd
�y#t
j$rY�RwxYw)NrrIr�r�rDrrz@20,5z@5,5r4rcz@%d, 5zTab with text 'a' not found)r;r��hider�rbrcr�tabr<r%�indexr��selectr�rVr]rWrXr�fail)r)�tb_idxr	s   r,�test_tab_identifiersz!NotebookTest.test_tab_identifiers�s��������q�������T�[�[�!����'�*�*�D�G�G�K�K����E���������u�-�q�1������D�K�K� ���������u�-�q�1������t�{�{�#���������I�.�/������D�K�K�c��*��������������<�<�8�#��F��F���������V�,�d�g�g�k�k�)�.D�E��q�#�q�!�	5�A�
��7�7�;�;�x�!�|�$�;�7�3�>��?�	5�
�I�I�3�4��	�#�#�
��
�s�#I�I!� I!c���|jtj|jjd�|jtj|jjd�|jtj|jjd�|jtj|jj
d�|jtj|jj
t
j|j�d��|jj�}|jj	|j�|jj|j�|j|jj�|�t
j|j�}|jj|d��|jj�}|jjd�}|jj|j�}|jj	|j�|jj|j�|j|jj�|�|j|jj|j�|�|jt|j�|jj�|�|j|jjd�|dz�y)	Nr\ro�option)�unknownr�rr�r�)rbrcrr;r@r�rr�r&�tabsr<r%rBr�r�)r)rJr��curr�child2_indexs     r,�test_add_and_hiddenz NotebookTest.test_add_and_hidden�s�����'�*�*�D�G�G�L�L�"�=����'�*�*�D�G�G�L�L�$�?����'�*�*�D�G�G�L�L�$�?����'�*�*�D�G�G�K�K��>����'�*�*�D�G�G�K�K����4�9�9�9M��	�	��w�w�|�|�~�������T�[�[�!������D�K�K� �����������.��	�	�$�)�)�$�������E���$��w�w�|�|�~���w�w�}�}�Y�'���w�w�}�}�T�[�[�1�������T�[�[�!������D�K�K� �����������.���������t�{�{�3�\�B�����T�[�[�)�4�7�7�<�<�>�,�+G�H���������y�1�4�!�8�<r.c� �|jtj|jjd�|jtj|jjd�|jtj|jjd�|jj�}|jj
|j�}|jj	|j�|jt|j�|jj��|jt|�dz
t|jj���|jj|j�|j|jj
|j�d�|j||jj
|j��y)Nr\ror�)rbrcrr;r�rJrBr<�assertNotInr�r%r�r�r�)r)rJ�child1_indexs   r,r�zNotebookTest.test_forget�s;�����'�*�*�D�G�G�N�N�B�?����'�*�*�D�G�G�N�N�D�A����'�*�*�D�G�G�N�N�D�A��w�w�|�|�~���w�w�}�}�T�[�[�1�������t�{�{�#�����T�[�[�)�4�7�7�<�<�>�:�����T��Q���D�G�G�L�L�N�(;�<������D�K�K� ���������t�{�{�3�Q�7����L�$�'�'�-�-����*D�Er.c�`�|jtj|jjd�|jtj|jjd�|j|jj	d�t�|j|jj	|j�d�|j|jj	|j�d�|j|jj	d�d�y)Nr\rIrr�rZ)
rbrcrr;rBr�r_r%r<r�rds r,�
test_indexzNotebookTest.test_index�s������'�*�*�D�G�G�M�M�2�>����'�*�*�D�G�G�M�M�4�@����d�g�g�m�m�E�2�C�8���������t�{�{�3�Q�7���������t�{�{�3�Q�7���������u�-�q�1r.c�2�|jj�}|jjd|d�|j|jj�|d|df�|jj|j|j
�|j|jj�|�|jjd|j�|j|jj�|d|df�|jjdd�|j|jj�|�|j
tj|jjd|d�|j
tj|jjd|d�tj|j�}|jjd|�|j|jj�|dt|�|df�|jj|�|j|jj�|�|jj|j|�|j|jj�t|�f|z�|jj|�|j
tj|jjd|�|j
tj|jjd|�|j
tj|jjdd�|j
tj|jjdd�|j
tj|jjdd�y)Nr�rrIrZr\)r;rJrKr%r<r�rbrcrrr�r&r�r�)r)rJr�s   r,r�zNotebookTest.test_insert�s����w�w�|�|�~�������q�$�q�'�"����������$�q�'�4��7�);�<������t�{�{�D�K�K�0�����������.������u�d�k�k�*����������$�q�'�4��7�);�<������u�a� �����������.����'�*�*�D�G�G�N�N�A�t�A�w�G����'�*�*�D�G�G�N�N�B��Q��H����4�9�9�%�������q�&�!����������$�q�'�3�v�;��Q��)H�I������v������������.������t�{�{�F�+����������#�f�+��4�)?�@������v�����'�*�*�D�G�G�N�N�A�v�F����'�*�*�D�G�G�N�N�B��G�	
���'�*�*�D�G�G�N�N�E�4�H����'�*�*�D�G�G�N�N�D�!�D����'�*�*�D�G�G�N�N�D�$�Gr.c����|jj�|jj�g�g�|jj	d�fd��|jj	d�fd��|j|jj
�t|j��|jj
|j�|j��|j|jj
�t|j��|jj�|j��y)Nz<Unmap>c�&���jd�Sr;r�rvs �r,r�z*NotebookTest.test_select.<locals>.<lambda>s������t�0D�r.z<<NotebookTabChanged>>c�&���jd�Sr;r�)rw�tab_changeds �r,r�z*NotebookTest.test_select.<locals>.<lambda>s����*�*�4�0�r.)
r;rVr]r<rxr%rCr�r�r�)r)r�rWs @@r,�test_selectzNotebookTest.test_selects��������������������������$D�E������-�0�	2�	
��������)�3�t�{�{�+;�<������t�{�{�#����� ���������)�3�t�{�{�+;�<�����������$r.c��|jtj|jjd�|jtj|jjd�|jtj|jjd�|j|jj	|j�t�|j|jj	|jd��d�|j|jj	|jd�d�|jj	|jd��|j|jj	|jd��d�|j|jj	|jd�d�y)Nr\�notabrrDrR�abc)	rbrcrr;rAr�r<r�r%rds r,�test_tabzNotebookTest.test_tabs+�����'�*�*�D�G�G�K�K��<����'�*�*�D�G�G�K�K��A����'�*�*�D�G�G�K�K��>����d�g�g�k�k�$�+�+�6��=���������T�[�[�t��<�c�B���������T�[�[�&�9�3�?������D�K�K�e��,���������T�[�[�t��<�e�D���������T�[�[�&�9�5�Ar.c�R�|jt|jj��d�|jj	|j
�|jj	|j�|j|jj�d�y)NrZr>)r%r�r;rJr�r<r�rds r,�test_configure_tabsz NotebookTest.test_configure_tabs+sc������T�W�W�\�\�^�,�a�0������t�{�{�#������t�{�{�#�����������,r.c�(�|jj�|jj�|jjd�tj
dk7rdnd}|j
|jjdd�|�t|jdd�|jj�|jjd�|j
|jj�t|j��|jj�|jjd�|j
|jj�t|j��|jj�|jjd�|j
|jj�t|j��|jj|jdd�	�|jj|jd
d�	�|jj�|jj�|j
|jjdd�|�t|jdd�tj
dk(rd}d}nd
}d}|jj|�|j
|jj�t|j��|jj|�|j
|jj�t|j��y)Nrrr+rr4z
<Control-Tab>z<Shift-Control-Tab>rD)rRr�r�z<Left>z<Right>z<Alt-a>z<Alt-e>)r;rVr]rCrWrXr%r^r�focus_forcerqr�r�r<rA�enable_traversal)r)�focus_identify_as�beginrIs    r,�test_traversalzNotebookTest.test_traversal3sZ�������������������q��'*�|�|�x�'?�G�R��������)�)�!�Q�/�1B�C��T�W�W�a��+�������������/���������)�3�t�{�{�+;�<������������4�5���������)�3�t�{�{�+;�<������������4�5���������)�3�t�{�{�+;�<������D�K�K�c�Q��7������D�K�K�c�Q��7���� � �"�������������)�)�!�Q�/�1B�C��T�W�W�a��+��<�<�8�#��E��C��E��C������u�%���������)�3�t�{�{�+;�<������s�#���������)�3�t�{�{�+;�<r.)rJrKrLr�rTr$rFrMr�rRr�rXr\r^rdrxrys@r,r8r8�sE����G�+�1�5�<=�8
F�2�H�@%�&B�-�$=r.r8c���eZdZdZej
dk(rdndZ�fd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Z�xZS)�SpinboxTest)r�rr�r�rr�r��formatr��	incrementrr�rrsrDr�r�r�rrr\rQ�wraprrz
Spinbox.fieldrc���t�|��|j�|_|jj	�yrk)rSrTr$�spinrVrWs �r,rTzSpinboxTest.setUpes'���
��
���K�K�M��	��	�	���r.c�B�tj|jfi|��Srk)r�Spinboxr&r�s  r,r$zSpinboxTest.createjs���{�{�4�9�9�/��/�/r.c��|jj�}|jj�}|dz
}|dzdz
}|j|jj	||�d�|jjd||��|jjd||��|jj
�y)Nr4rZz.*uparrow\Zrkrlro�rkr`rarpr^rqrr�r)rQr�rmrns     r,�_click_increment_arrowz"SpinboxTest._click_increment_arrowms����	�	�%�%�'�����'�'�)���A�I���A�I��M��������+�+�A�q�1�>�B��	�	� � �!2�a�1� �=��	�	� � �!4��Q� �?��	�	�"�"�$r.c��|jj�}|jj�}|dz
}|dzdz}|j|jj	||�d�|jjd||��|jjd||��|jj
�y)Nr4rZrrjrkrlrororps     r,�_click_decrement_arrowz"SpinboxTest._click_decrement_arrowws����	�	�%�%�'�����'�'�)���A�I���A�I��M��������+�+�A�q�1�3C�D��	�	� � �!2�a�1� �=��	�	� � �!4��Q� �?��	�	�"�"�$r.c�*��g��fd�|jd<|jj�|j�|jj�|j��|j	�|jt
��d�d|jd<|jj�|j�|j	�|jj�|jt
��d�y)Nc�&���jd�Sr;r�r�s�r,r�z4SpinboxTest.test_configure_command.<locals>.<lambda>�s���w�~�~�d�';�r.r�rZr)rkr]rqr�rsr%r�rrr|s @r,�test_configure_commandz"SpinboxTest.test_configure_command�s������;��	�	�)���	�	�����#�#�%��	�	�������� ��#�#�%�����W��q�)� "��	�	�)���	�	�"�"�$��#�#�%��#�#�%��	�	��������W��q�)r.c��d|jd<d|jd<|jjd�|jj�|j�|j	|jj�d�|j�|j	|jj�d�y)Nrr�r4r�rr5)rkrr]rqr%rLrds r,rzSpinboxTest.test_configure_to�s�����	�	�&����	�	�$���	�	�
�
�a���	�	�����#�#�%����������#�.��#�#�%����������#�.r.c��d|jd<d|jd<|jjd�|jj�|j�|j	|jj�d�|j�|j	|jj�d�y)Nr�r�r
r�rZr�)rkrr]rsr%rLrds r,r�zSpinboxTest.test_configure_from�s�����	�	�&����	�	�$���	�	�
�
�a���	�	�����#�#�%����������#�.��#�#�%����������#�.r.c��d|jd<d|jd<d|jd<|jjd�|jj�|j�|j	|jj�d�d	|jd<|jj�|j
�|j	|jj�d
�y)Nrr�r
r�rrhr�r5rZ�3)rkrr]rqr%rLrsrds r,�test_configure_incrementz$SpinboxTest.test_configure_increment�s�����	�	�&����	�	�$��!"��	�	�+���	�	�
�
�a���	�	�����#�#�%����������#�.�!"��	�	�+���	�	�����#�#�%����������#�.r.c�Z�|jjd�d|jd<|jj�|j�|jj	�}|jt
|�d�|j|jd�d�d|jd<|jj�|j�|jj	�}|jd|v�|jt
|�d�y)Nr�z%10.3frgr
�.rr)	rkrr]rqrLr%r�rBr�)r)r�s  r,�test_configure_formatz!SpinboxTest.test_configure_format�s����	�	�
�
�a��&��	�	�(���	�	�����#�#�%��	�	�
�
�������U��R�(�������S�)�1�-� ��	�	�(���	�	�����#�#�%��	�	�
�
�������5�(�)�����U��Q�'r.c�v�d|jd<d|jd<|jjd�d|jd<|jj�|j�|j	|jj�d�|j
�|j	|jj�d�d	|jd<|jj�|j�|j	|jj�d�y)
Nr
r�r�r�Tri�10r�F)rkrr]rsr%rLrqrds r,�test_configure_wrapzSpinboxTest.test_configure_wrap�s�����	�	�$����	�	�&���	�	�
�
�a�� ��	�	�&���	�	�����#�#�%����������$�/��#�#�%����������#�.�!��	�	�&���	�	�����#�#�%����������#�.r.c���|j|jdd�|j|jddd��|j|jdd�|j|jdd�|j|jdd�gd�|jd<|jjd�|jj	�|j�|j|jj
�d	�|j�|j|jj
�d�|jjgd
���|j|jd|jrdnd
�gd�|jd<|j|jd|jrdnd�gd�|jd<|j|jd|jrdnd�tj|jgd���}|j|d|jrdnd�|j�y)Nr\rr�r�r2r�r�rDr�r�r�r�r�r�r�r�r�r�r�r�)r%rkr@rr]rqrLrsr�r�rrmr&r�)r)�spin2s  r,r�z!SpinboxTest.test_configure_values�s���������8�,�b�1�����	�	�8�-?�!>�	�	@�����	�	�8�-J�K�����	�	�8�-I�J�����	�	�8�R�0�+��	�	�(��	
�	�	�
�
�c���	�	�����#�#�%����������#�.��#�#�%����������#�.�	
�	�	���:��.�������8�,�+/�+;�+;��!�	#�
6��	�	�(��������8�,�48�4D�4D�0�.�	0�
6��	�	�(��������8�,�48�4D�4D�0�.�	0�
���D�I�I�j�9������x��+/�+;�+;���	K�
�
�
�r.)rJrKrLr�rWrXr8rTr$rqrsrvrr�r{r~r�r�rxrys@r,rfrfZsU����G�&)�\�\�X�%=�/�:�K��
0�%�%�*�(
/�/�/�(�"/�&)r.rfc���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�r0�
selectmoderrDr�r�yscrollcommandc�P��t�|��|jd��|_y)Nrr:)rSrTr$�tvrWs �r,rTzTreeviewTest.setUps���
��
���+�+�a�+�(��r.c�B�tj|jfi|��Srk)r�Treeviewr&r�s  r,r$zTreeviewTest.createrar.c��|j�}|j|ddd��|j|dd�|j|dd�y)Nr��a b c�rDrr�r2rr?rAs  r,�test_configure_columnsz#TreeviewTest.test_configure_columnssG�����������	�7�!0�	�	2�����	�?�;�����	�2�.r.c�L�|j�}d|d<|j|ddd��|j|dd�|j|ddd��|j|dd	�|j|dd
d��|j|dd
d��|j|ddd��y)Nr�r�r�zb a c)rrDr�r2�#all)r�)rZr�r)rDrr�zInvalid column index dr )r�rZrzColumn index 3 out of bounds)r�rzColumn index -2 out of bounds)r$r@r'rAs  r,�test_configure_displaycolumnsz*TreeviewTest.test_configure_displaycolumnss��������+��y������ 0�'�!0�	�	2����� 0�/�B����� 0�&�!*�	�	,����� 0�)�<����v�'7��&>�	�	@����v�'7��&D�	�	F����v�'7��&E�	�	Gr.c	��|j�}|j|dddddd��|j|ddd	d��y)
Nr�rcrfr�3cFr�rdrer�rAs  r,rhz"TreeviewTest.test_configure_height/sC����������f�h��T�1�d���O����f�h��u�5��Ir.c�N�|j�}|j|dddd�y)Nr�r.�browse�extendedr�rAs  r,�test_configure_selectmodez&TreeviewTest.test_configure_selectmode4s&����������F�L�"�H�j�	:r.c���|j�}|j|ddd��|j|dd�|j|dd�|j|ddd��|j|ddd	��y)
Nrz
tree headings)�tree�headingsr2)r�r�r�)r�r�)r�r?rAs  r,r%z TreeviewTest.test_configure_show9sq�������������!5�	�	7������(<�=������(<�=���������C������
�]��Kr.c�r�|jj�|j|jjd�d�|jj	�|jjdd�}|jj
�}|j|�|jj|d�}|j|�dg|jd<|jjdd��|jj|dd�}|jjdd��}|jst|�}|j|d|d|z�|jj|d�}|j|jj|�d�y)	NrrIr�testr��2�rQ�#0)r�rVr%r5r]rK�get_childrenr�r4�columnr�r_)r)�item_id�childrenr5�bbox_column0�
root_widthr<s       r,r6zTreeviewTest.test_bboxBsF����������������b�)�2�.��������'�'�.�.��U�+���7�7�'�'�)������!��w�w�|�|�H�Q�K�(��� � ��&�%�X����	�������v�R��(��w�w�|�|�H�Q�K��3���W�W�^�^�D��^�5�
�����Z��J�����a��$�q�'�J�*>�?��������/����������f�-�r�2r.c���|j|jj�d�|jjdd�}|j	|jj�t
�|j|jj�d|�|jjdd�}|jjdd�}|jj
|||�|j|jj|�||f�|jtj|jj||�|jj
|�|j|jj|�d�|jj
d�|j|jj�d�y)Nr>rrIr)
r%r�r�rKr��tuple�set_childrenrbrcr)r)r�r�r�s    r,�
test_childrenzTreeviewTest.test_children[sc��������-�-�/��4��'�'�.�.��U�+�����d�g�g�2�2�4�e�<�������-�-�/��2�G�<�������E�*��������E�*�������V�W�f�5�������-�-�f�5���7H�I�	
���'�*�*��G�G� � �&�&�	2�	
�����V�$�������-�-�f�5�r�:�	
�����R� �������-�-�/��4r.c�v�|j|jjd�t�|jr1|j|jjdd��t
�|jjdd��|j
|jjdd�|jrdnd�|j
|jjdd��|jrdnd�|jtj|jjdd��|jtj|jjd�d	d
iddid
diddiddig}|D]9}|jtj|jjdfi|���;y)Nr�r�r
rQr��X��idrT�unknown_optionz
some value�stretch�wrongr��minwidth)
r�r�r�r�r�r_r%rbrcr)r)�invalid_kwsrms   r,�test_columnzTreeviewTest.test_columnvsg�����d�g�g�n�n�T�2�D�9�����!�!�$�'�'�.�.��T�.�"B�C�H������t�2��&����������g�6�#�/�/��T�	;����������D��9�#�/�/��T�	;�	
���'�*�*�D�G�G�N�N�D�S��I����'�*�*�D�G�G�N�N�I�F�
�|�,�	�7�/C�
�w��'�7�!3�j�'�5J�
���	�B��D���g�.�.�������
��
�	r.c���|jtj|jjd�|jjdd�}|jj|d�}|j
|jj�|f�|j
|jj|�|f�|jj	|�|j|jj��|jtj|jj|dd�|jjdd�}|jjdd�}|j
|jj�||f�|jj	||�|j|jj��y)Nr�rrI)
rbrcrr�rUrKr%r�r��reattach)r)r��item2�item1s    r,�test_deletezTreeviewTest.test_delete�sX�����'�*�*�D�G�G�N�N�D�A��'�'�.�.��U�+�������w��.��������-�-�/�'��=�������-�-�g�6��	�B������w��������-�-�/�0�	
���'�*�*��G�G���g�r�5�	2������r�5�)�������r�5�)��������-�-�/�%���@������u�e�$�������-�-�/�0r.c���|jjdd�}|jj|d�}|jj�}|jj�|j	||jj��|j	|jj�|f�|j	|jj|�|f�|jj|�|j|jj��|jj
|dd�|j	|jj�|f�|j	|jj|�|f�|jj|dd�|j	|jj�||f�|j	|jj|�d�|jtj|jjddd�|jtj|jjd�|jtj|jj|dd�|jtj|jj|dd�|jj||�|j	|jj�d�|j	|jj|�d�y)NrrIr>�nonexistent�otherparentrT)r�rKr��detachr%r�r��moverbrcr)r)r�r��prevs    r,�test_detach_reattachz!TreeviewTest.test_detach_reattach�su���'�'�.�.��U�+�������w��.���w�w�#�#�%������������t�w�w�3�3�5�6�������-�-�/�'��=�������-�-�g�6��	�B�	
�����w��������-�-�/�0�	
������"�e�,�������-�-�/�'��=�������-�-�g�6��	�B�	
�����U�B��&�������-�-�/�'�5�1A�B�������-�-�g�6��;�	
���'�*�*��G�G���m�R��	8����'�*�*��G�G�N�N�M�	+����'�*�*��G�G���e�]�E�	;����'�*�*��G�G���e�R��	4�	
�����w��&�������-�-�/��4�������-�-�g�6��;r.c�p�|j|jjd�d�|j|jjd�d�|j|jji�d�|jtj
|jjd�y)N�	somethingFrT)r%r��existsrbrcrrds r,�test_existszTreeviewTest.test_exists�s{�����������4�e�<����������+�T�2����������+�U�3�
	
���'�*�*�D�G�G�N�N�D�Ar.c��|j|jj�d�|jjdd�}|jj|�|j|jj�|�|jj	|�|j|jj�d�|jtj|jjd�y)NrrIro)r%r�r+rKrUrbrcr)r)r�s  r,�
test_focuszTreeviewTest.test_focus�s������������"�-������r�5�)�����
�
�e�����������%�0������u�����������"�-�	
���'�*�*�D�G�G�M�M�4�@r.c�*�|j|jjd�t�|jjdd��|j	|jjdd�d�|j	|jjdd��d�|jtj|jjdd��|jtj|jjdd��y)Nr�rorrR)r�r�)r�)r�r��headingr�r%rbrcrrds r,�test_headingzTreeviewTest.test_heading�s������d�g�g�o�o�d�3�T�:�	
������4��(����������v�6��=����������D��9�4�@�	
���'�*�*�D�G�G�O�O�T��	�	�	
���'�*�*�D�G�G�O�O�T��	�	r.c	�����fd�}g��jj��jjd�fd����jjdd���jj	�|dd��s�jd�g��jjj}�jjdt�jjdd������j|�jjj�|dd��s�jd�yy)	Nc�(��tdk\rW�j�jj|�d��j�jj	||�d�t�j||��jj
�y)N)rrr�r�)r	r%r��identify_column�identify_regionrr])rmrnr)s  �r,�simulate_heading_clickzBTreeviewTest.test_heading_callback.<locals>.simulate_heading_click�si����V�#�� � ����!8�!8��!;�T�B�� � ����!8�!8��A�!>�	�J� ����!�Q�/��G�G�N�N�r.r�c�&���jd�Sr;r�r�s�r,r�z4TreeviewTest.test_heading_callback.<locals>.<lambda>s���g�n�n�T�.B�r.r�rcr�r4z>The command associated to the treeview heading wasn't invoked.)
r�rVr�r�r]rDr��_tclCommandsr�r%)r)r��commandsr�s`  @r,�test_heading_callbackz"TreeviewTest.test_heading_callback�s����	���������������&B��C������t�3��'�������	�q�!�$���I�I��
����7�7�>�>�.�.��������c�$�'�'�/�/�$��/�*M�&N��O�����4�7�7�>�>�#>�#>�?��q�!�$���I�I��
�r.c��|jtj|jjd�|j|jj	d�d�|jj
dd�}|jj
dd�}|jj
|d�}|jj
|d�}|j|jj	|�d�|j|jj	|�d�|j|jj	|�d�|j|jj	|�d�|jj|dd�|j|jj	|�d�|j|jj	|�d�|jj|�|j|jj	|�d�|jj|�|j|jj	|�d�|jj|�|jtj|jj|�y)N�whatrrrIr�)
rbrcrr�rBr%rKr�r�rU)r)r�r��c1�c2s     r,rRzTreeviewTest.test_indexs������'�*�*�D�G�G�M�M�6�B���������r�*�A�.������r�5�)�������r�5�)��
�W�W�^�^�E�5�
)��
�W�W�^�^�E�5�
)����������u�-�q�1���������r�*�A�.���������r�*�A�.���������u�-�q�1������U�B��"���������u�-�q�1���������u�-�q�1�	
�����u����������r�*�A�.������r����������r�*�A�.�	
�����u�����'�*�*�D�G�G�M�M�2�>r.c	��|jtj|jjdd�|jtj|jjddd��|jtj|jjddd��|j|jj
|jj	ddd����|j|jj
|jj	ddd����|jtj|jjdd�|jj	ddd	�}|j|d	�|jtj|jjddd	�|jtj|jjddtd	��d
}|jj	dd|f��}|j|jj|d�|jr|fn|�|j|jj|d��|jr|fn|�|jj||jj|jj|d�����|j|jj|d��|jr|fn|�|j|jj|�t�|jj|d��|j|jj|d���|jj	ddd
d|g��}|j|jj|d��|jrdd|fnd|z�|jj|g��|j|jj|d���|jj|d��|j|jj|d��|jrdnd�|jj	ddd|�d|��f��}|j|jj|d��|jr	d|�d|��fnd|�d|�d��|j|jj|jj	ddd��d��d�|j|jj|jj	dd|��d��|�|jj	ddd�}|j|d�|jj	ddd�}|j|d�|jtj|jjddd�|jtj|jjddd�y) Nr.rIr)�open�pleaseTF�middlez
first-itemuábar�r\r�rZ��tagsr�r�z1 2 %s�r�rZ)r�r�z1 2r�r$z	{a b c} {�}z
Label hererrr1gz0.0)rbrcrr�rKr�rUr%r�itemr�r&�	splitlistr�r�)r)�itemidr�r�s    r,�test_insert_itemzTreeviewTest.test_insert_item8s�����'�*�*�D�G�G�N�N�F�E�J�	
���'�*�*�D�G�G�N�N�B���	�	����'�*�*�D�G�G�N�N�B���	�	��������������r�5�t��(L�M�N��������������r�5�u��(M�N�O�	
���'�*�*�D�G�G�N�N�B��I�������E�<�8�������.����'�*�*�D�G�G�N�N�B���	����'�*�*�D�G�G�N�N�B���|�$�	&����w�w�~�~�b�%��	�~�:����������d�H�5�%)�%5�%5�%��5�	B���������d�4��8�%)�%5�%5�%��5�	B�	
�����T�$�)�)�"5�"5�d�g�g�l�l�4�PT�l�6U�"V��W���������d�4��8�%)�%5�%5�%��5�	B�	
���d�g�g�l�l�4�0�$�7�	
�����T�"��%���������d�4��8�9��w�w�~�~�b�%�q�!�U�m�~�<����������d���6�.2�.>�.>�#�s�E�*�!�E�)�	+�	
�����T���#���������d���6�7������T���'���������d���6�'+�'7�'7��U�	D��w�w�~�~�b�%���e�$�1&�~�'����������d�4��8�37�3C�3C�W���.�/�3C�!&��.�	0�
	
���������G�G�N�N�2�u�<�N�8�t�&�E��	�	
���������G�G�N�N�2�u�5�N�1��&�>��	�
������E�1�-�������%�������E�3�/�������'����'�*�*�D�G�G�N�N�B��u�M����'�*�*�D�G�G�N�N�B��r�Jr.c�z�|jt|jjd�|jtj
|jjd�|jtj
|jjd�|jtj
|jjd�|jtj
|jjd�|jjdd�}|jjdd�}|jj|d�}|jj|d�}|jj|d�}|j|jj�d�|jj
||�|j|jj�||f�|jj
|�|j|jj�|f�|jj||�|j|jj�|||f�|jj|�|j|jj�||||f�|jj�|j|jj�||||f�|jj||�|j|jj�|||f�|jj|�|j|jj�||f�|jj�|j|jj�||f�|jj||�|j|jj�||f�|jj|�|j|jj�|f�|jj�|j|jj�|f�|jjddd��|jj
d�|j|jj�d�|jjddd	��|jj
d	�|j|jj�d
�|jjddd��|jj
d�|j|jj�d�|jjddd
��|jj
d
�|j|jj�d�|jj
�|j|jj�d�|jj
||f�|j|jj�||f�|jj||f�|j|jj�|||f�|jj||f�|j|jj�||f�|jj||f�|j|jj�||f�y)Nr�r.rrIr>�with spacesr�)r��{brace)r��
unicode€)r�sbytes€)ubytes€)rb�	TypeErrorr��	selectionrcr�
selection_set�
selection_add�selection_remove�selection_togglerKr%)r)r�r�r�r��c3s      r,�test_selectionzTreeviewTest.test_selection�s������)�T�W�W�%6�%6��?����'�*�*�D�G�G�,A�,A�6�J����'�*�*�D�G�G�,A�,A�6�J����'�*�*�D�G�G�,D�,D�f�M����'�*�*�D�G�G�,D�,D�f�M������r�5�)�������r�5�)��
�W�W�^�^�E�5�
)��
�W�W�^�^�E�5�
)��
�W�W�^�^�E�5�
)��������*�*�,�b�1������b�%�(�������*�*�,�r�5�k�:������b�!�������*�*�,�r�e�4������b�%�(�������*�*�,�r�2�u�o�>������e�$�������*�*�,�u�b�"�e�.D�E�������������*�*�,�u�b�"�e�.D�E���� � ���+�������*�*�,�r�2�u�o�>���� � ��$�������*�*�,�r�5�k�:���� � �"�������*�*�,�r�5�k�:���� � ��R�(�������*�*�,�r�5�k�:���� � ��'�������*�*�,�r�e�4���� � �"�������*�*�,�r�e�4������r�5�]��3������m�,�������*�*�,�.>�?������r�5�X��.������h�'�������*�*�,�k�:������r�5�_��5������o�.�������*�*�,�.@�A������r�5�%9��:������2�3�������*�*�,�.D�E�������������*�*�,�b�1�	
�����r�5�k�*�������*�*�,�r�5�k�:������r�5�k�*�������*�*�,�u�b�%�.@�A���� � �%���-�������*�*�,�r�5�k�:���� � �"�b��*�������*�*�,�r�5�k�:r.c���ddg|jd<|jjddddg��}|j|jj|�ddd	��|jj|dd�|j|jj	|d��|j
rd
nd�dg|jd<|j|jj|�ddi�|jj|dd�|j|jj|d��d�|j|jj	|d��|j
rd
nd�|jj|dd�|j|jj|d�|j
rdnd�|j|jj	|d��|j
rdnd�|j|jj|�|j
rddinddi�|j
tj|jj|d�|j
tj|jj|dd�|j
tj|jjd�y)N�A�Br�rrIrDrr�)r�r�)rDrDza a)r�)rrDzb a�{�123)r�rDz123 a�notme)	r�rKr%rr�r�rbrcr)r)r�s  r,rzTreeviewTest.test_set�s:��!�3�Z����	���w�w�~�~�b�%��c�
�~�;����������T�*�#�C�,@�A������D�#�s�#���������d�4��8�'+�'7�'7��U�	D�"�U����	����������T�*�S�#�J�7������D�#�s�#���������T�#��6��<���������d�4��8�'+�'7�'7��U�	D�	
�����D�#�s�#���������T�3�/� $� 0� 0��e�	=���������d�4��8�'+�'7�'7��W�	F���������T�*�'+�'7�'7�#�s��c�5�\�	K�	
���'�*�*�D�G�G�K�K��s�C����'�*�*�D�G�G�K�K��s�C�H�	
���'�*�*�D�G�G�K�K��Ar.c�j�	�g�	|jjdddg��}|jjdddg��}|jjdd�	fd��|jjdd�	fd��|jj�|jj	�t�}t�}t
d	d
d�D]W}t|�dk(rnG|jj|�}|s�1||vs�6|j|�|j|��Y|jt|�d�|D]}t|jd	|��|jt�	�d
�t�	ddd��	ddd��D]}|j|d��y)NrrI�callr�rkc�&���jd�Sr�r��rw�eventss �r,r�z,TreeviewTest.test_tag_bind.<locals>.<lambda>������
�
�a�(�r.roc�&���jd�S)NrZr�r�s �r,r�z,TreeviewTest.test_tag_bind.<locals>.<lambda>�r�r.rrcr
rZrr�r�)
r�rK�tag_bindrVr]rrr��identify_rowr�r%r�zip)
r)r�r��pos_y�foundr	r�rnrwr�s
         @r,�
test_tag_bindzTreeviewTest.test_tag_bind�sy����������r�5��x��8�������r�5��x��8��������!2�(�	*�������!4�(�	*�	
�������������������q�#�r�"�	#�A��5�z�Q����g�g�*�*�1�-�G��7�%�/��	�	�!���	�	�'�"�
	#�	
����U��Q�'��	0�A� ����!�Q�/�	0�
	
����V��a�(��v�c��c�{�F�1�4�a�4�L�1�	*�C����S�&�)�	*r.c�4�|jt|jj�|jtj
|jjdd��|jjdd��|j
t|jjdd��d�|j
t|jjdd���d�|j|jjd�t�y)Nr��blue)�sky)r�r�)
rbr�r��
tag_configurercrr%r�r�r�rds r,�test_tag_configurezTreeviewTest.test_tag_configure
s������)�T�W�W�%:�%:�;����'�*�*�D�G�G�,A�,A���	�	 ������f���8�����T�W�W�2�2�6�<�H�I��	�����T�W�W�2�2�6�d�2�K�L��	����d�g�g�3�3�F�;�T�Br.c�:�|jjddddg��}|jjddddg��}|jt|jj�|jt
|jjdd�|j
|jj	d|��|j|jj	d|��|j|jj	d|��|j
|jj	d|��|j|jj	d	|��|j|jj	d	|��|j|jj	d�|f�|j|jj	d�|f�|j|jj	d	�d
�y)NrrIzItem 1�tag1)rRr�zItem 2�tag2znon-existing�tag3r>)	r�rKrbr��tag_hasrr�r�r%)r)r�r�s   r,�test_tag_haszTreeviewTest.test_tag_hasss�������r�5�x�v�h��G�������r�5�x�v�h��G�����)�T�W�W�_�_�5����(�D�G�G�O�O�V�^�L�����������6�7�����������7�8�����������7�8�����������6�7�����������7�8�����������7�8����������0�5�(�;����������0�5�(�;����������0�"�5r.)rJrKrLr�rTr$r�r�rhr�r%r6r�r�r�r�r�r�r�r�rRr�r�rrrrrxrys@r,r�r�	s�����G�)�1�/�G� J�
:�
L�3�25�6�21�.'<�RB�A�� �F?�<JK�XD;�LB�@*�@
C�
6r.r�c��eZdZdZdZd�Zy)�
SeparatorTest)rr�r�rDr�r�c�B�tj|jfi|��Srk)r�	Separatorr&r�s  r,r$zSeparatorTest.create.r5r.Nr6r>r.r,rr&s���G�"�N�2r.rc��eZdZdZd�Zy)�SizegripTest)rr�rDr�c�B�tj|jfi|��Srk)r�Sizegripr&r�s  r,r$zSizegripTest.create9rar.Nr�r>r.r,rr2s���G�
1r.rc��eZdZd�Zd�Zy)�DefaultRootTestc�B�|jtj�yrk)�_test_widgetrr�rds r,�
test_framezDefaultRootTest.test_frame?������#�)�)�$r.c�B�|jtj�yrk)rrr�rds r,�
test_labelzDefaultRootTest.test_labelBrr.N)rJrKrLrrr>r.r,rr=s��%�%r.r�__main__)3�unittestrcrr�test.supportrrrW�test.test_ttk_textonlyr�test.test_tkinter.supportrr	r
rr�test.test_tkinter.widget_testsr
rrrrr�TestCaserNr{r~r�r�r�r�r�rrZr�r�r�r�r�skipIfrXr2r8rfr�rrr�	tests_guirJ�mainr>r.r,�<module>r)s����!�-�
�-�Q�Q�P�P�	���"2�2�"2�L5<���!2�!2�5<�p�-�~���-�.�.�$�h�&7�&7�.�/�.��-�.��)�8�+<�+<��/��28�*�8�B�-�.�O�!�8�#4�#4�O�/�O�&�-�.�!�"�H�$5�$5�!�/�!�,�-�.�<<�'��):�):�<<�/�<<�~�&�(?�@�|1�"�H�$5�$5�|1�A�|1�~�&�(?�@�y�9�h�/�/�y�A�y�x�&�(?�@�~:�(�(�*;�*;�~:�A�~:�B�-�.�0H�'��):�):�0H�/�0H�f�&��(9�(9��.�-�.�fB�"�H�$5�$5�fB�/�fB�R�-�.�)�(�(�*;�*;�)�/�)�D��������)�5�7��-�.�2�&��(9�(9�2�/�7�2��&�(?�@�N=�%�x�'8�'8�N=�A�N=�b�&�(?�@�k�)�X�.�.�k�A�k�\�-�.�Y6�%�x�'8�'8�Y6�/�Y6�x�-�.�2�&��(9�(9�2�/�2��-�.�1�%�x�'8�'8�1�/�1�%�-�x�/@�/@�%�	�O�\�9��>�9�n��o����M�=��k�<��_�
�	��z���H�M�M�O�r.