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

��Vc�����ddlZddlZddlZddlmZddlmZddlmZddlm	Z	ed��Gd�de	ej
��ZGd	�d
e	ej
��ZGd�de	ej
��Z
eee
fZed
krej��dSdS)�N)�TclError)�requires)�pixels_conv)�AbstractWidgetTest�guic�`�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�PackTestNc�d�tj|jd���}|�d��|�dd��tj|dddd�	��}tj|d
ddd
�	��}tj|dddd�	��}tj|dddd�	��}|||||fS)N�pack)�name�300x200+0+0��a��(�red)r�width�height�bg�b�2��blue�c�P�green�d�yellow)�tkinter�Toplevel�root�wm_geometry�
wm_minsize�Frame��selfrrrrrs      �DD:\Python311\Lib\tkinter\test\test_tkinter\test_geometry_managers.py�create2zPackTest.create2s������	��7�7�7������'�'�'�����1�����M�$�S��2�%�H�H�H���M�$�S��2�&�I�I�I���M�$�S��2�'�J�J�J���M�$�S��2�(�K�K�K���Q��1�a���c�t�|���\}}}}}|�td|z��5|�|���ddd��n#1swxYwY|�td��5|�d���ddd��n#1swxYwY|�d���|�d���|�d���|�d���|�|���||||g��|�|���|�|���||||g��|�|���|�|���||||g��dS)N�window "%s" isn't packed)�after�bad window path name ".foo"�.foo�top��side�r(�assertRaisesRegexr�pack_configure�assertEqual�pack_slavesr%s      r'�test_pack_configure_afterz"PackTest.test_pack_configure_afters3���<�<�>�>���a��A�q�
�
#�
#�H�.I�A�.M�
N�
N�	&�	&�
���1��%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
#�
#�H�.K�
L�
L�	+�	+�
���6��*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�����)�)�+�+�a��A�q�\�:�:�:�	���q��!�!�!�����)�)�+�+�a��A�q�\�:�:�:�	���q��!�!�!�����)�)�+�+�a��A�q�\�:�:�:�:�:�#�A�A �#A �B%�%B)�,B)c�"�������\}�}}}��fd�}|dd��|dd��|dd��|dd	��|d
d��|dd
��|dd��|dd��|dd��dS)Nc	������dddddd|����j���������|��dS)Nr/��
�rT)r1�ipadx�padx�ipady�pady�expand�anchor)r4r!�updater5�winfo_geometry)rC�geomrr&s  ��r'�checkz2PackTest.test_pack_configure_anchor.<locals>.check-sk���
���%�q�r��"�$(��
�
9�
9�
9��I���������Q�-�-�/�/��6�6�6�6�6r)�nz30x70+135+20�nez30x70+260+20�ez30x70+260+65�sez
30x70+260+110�sz
30x70+135+110�swz30x70+10+110�wz30x70+10+65�nwz30x70+10+20�centerz30x70+135+65�r()r&rrrrrGrs`     @r'�test_pack_configure_anchorz#PackTest.test_pack_configure_anchor+s������<�<�>�>���a��A�q�	7�	7�	7�	7�	7�	7�
	��c�>�"�"�"�
��d�N�#�#�#�
��c�>�"�"�"�
��d�O�$�$�$�
��c�?�#�#�#�
��d�N�#�#�#�
��c�=�!�!�!�
��d�M�"�"�"�
��h��'�'�'�'�'r)c�t�|���\}}}}}|�td|z��5|�|���ddd��n#1swxYwY|�td��5|�d���ddd��n#1swxYwY|�d���|�d���|�d���|�d���|�|���||||g��|�|���|�|���||||g��|�|���|�|���||||g��dS)Nr+)�beforer-r.r/r0r2r%s      r'�test_pack_configure_beforez#PackTest.test_pack_configure_before<s3���<�<�>�>���a��A�q�
�
#�
#�H�.I�A�.M�
N�
N�	'�	'�
���A��&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�
#�
#�H�.K�
L�
L�	,�	,�
���F��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�����)�)�+�+�a��A�q�\�:�:�:�	�����"�"�"�����)�)�+�+�a��A�q�\�:�:�:�	�����"�"�"�����)�)�+�+�a��A�q�\�:�:�:�:�:r8c������������\}���������fd�}��d�����d�����d�����d���|ddd	d
����dd�����dd
�����dd�����dd���|dddd����ddd�����dd
d�����ddd�����ddd���|dddd��dS)Nc����j���������|d��������|d��������|d��������|d��dS)Nrr��)r!rDr5rE)�geomsrrrrr&s �����r'rGz2PackTest.test_pack_configure_expand.<locals>.checkNs�����I���������Q�-�-�/�/��q��:�:�:����Q�-�-�/�/��q��:�:�:����Q�-�-�/�/��q��:�:�:����Q�-�-�/�/��q��:�:�:�:�:r)�leftr0r/�right�bottom�
20x40+0+80z50x30+135+0z80x80+220+75z
40x30+100+170�yes)r1rB�onTrz20x40+40+80z50x30+175+35z
80x80+180+110z
40x30+100+135�both)r1rB�fillz100x200+0+0z
200x100+100+0z160x100+140+100z40x100+100+100)r(r4)r&rrGrrrrs`  @@@@r'�test_pack_configure_expandz#PackTest.test_pack_configure_expandLs���������<�<�>�>���a��A�q�	;�	;�	;�	;�	;�	;�	;�	;�	;�	
���f��%�%�%�	���e��$�$�$�	���g��&�&�&�	���h��'�'�'�
��l�M�>�?�K�K�K�	���f�U��3�3�3�	���e�D��1�1�1�	���g�d��3�3�3�	���h�q��1�1�1�
��m�^�_�o�N�N�N�	���f�U���@�@�@�	���e�D�v��>�>�>�	���g�d���@�@�@�	���h�q�v��>�>�>�
��m�_�.?�AQ�R�R�R�R�Rr)c�p�|���\}}}}}|�d���|�d���|�d���|�d���|�|���|�|���||||g��|�|���|�|���|||g��|�|���|g��|�t
d|�d���5|�|���ddd��n#1swxYwY|�t
d��5|�d���ddd��dS#1swxYwYdS)Nr/r0��in_zcan't pack z inside itselfr-r.)r(r4r5r6r3rr%s      r'�test_pack_configure_inzPackTest.test_pack_configure_inds<���<�<�>�>���a��A�q�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�	���e��$�$�$�	���T��"�"�"�����)�)�+�+�a��A�q�\�:�:�:�	���Q���������)�)�+�+�a��A�Y�7�7�7���������1�#�.�.�.�
�
#�
#�H�H�FG�a�a�$I�K�K�	$�	$�
�����#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��
#�
#�H�.K�
L�
L�	)�	)�
�����(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s$�>E!�!E%�(E%�F+�+F/�2F/c�R��������\}��}}���fd�}|dddd���|dddd���|d	ddd�
��|dddd
d���|ddddd���|ddddd���|d	dddd���|dddd
dd���|dddd
dd���|dddd���|dddd���|dddd�
��|dddd
d���|dddd
d���|d dddd���|d!ddd"d���|d#dddd���|d$ddd
dd���|d%ddd
dd�����d&�'��������d(��|�d&��������d&�)��������d*��|�d&������dS)+Nc�r�����������jdi|����dd����j���������|��������|��dS�NTra�rBrb���pack_forgetr4r!rDr5rE��geom1�geom2�kwargsrrr&s   ���r'rGz;PackTest.test_pack_configure_padx_ipadx_fill.<locals>.checkw����
�M�M�O�O�O�
�M�M�O�O�O��A��&�&�v�&�&�&�
���D�v��6�6�6��I���������Q�-�-�/�/��7�7�7����Q�-�-�/�/��7�7�7�7�7r)z20x40+260+80z240x200+0+0r\r)r1r?z20x40+250+80�r<rz60x40+240+80)r1r>z30x40+260+80z250x200+0+0r;r<)r1r>r?�x)r1r?rbz20x40+249+80��	�)r1r>rb)r1r>r?rbz30x40+255+80�r;r=�20x40+140+0�300x160+0+40r/z20x40+120+0�rrz60x40+120+0z30x40+135+0z30x40+130+0z260x40+20+0z260x40+25+0��r=z
300x40+0+0z280x40+10+0z
280x40+5+0�1c�r?r?�r>r>�r(r4r5�	pack_info�_str�winfo_pixels�r&rrrrGrrs`    @@r'�#test_pack_configure_padx_ipadx_fillz,PackTest.test_pack_configure_padx_ipadx_fillus5������<�<�>�>���a��A�q�	8�	8�	8�	8�	8�	8�	8�	��n�m�'��C�C�C�C�
��n�m�'��I�I�I�I�
��n�m�'��D�D�D�D�
��n�m�'���L�L�L�L�
��n�m�'���M�M�M�M�
��n�m���s�	4�	4�	4�	4�
��n�m�'��#�N�N�N�N�
��n�m��!�"�3�	8�	8�	8�	8�
��n�m��!�'��	=�	=�	=�	=�
��m�^�%�b�A�A�A�A�
��m�^�%�g�F�F�F�F�
��m�^�%�r�B�B�B�B�
��m�^�%�q�r�J�J�J�J�
��m�^�%�q�w�O�O�O�O�
��m�^�%�b�s�K�K�K�K�
��m�^��x�c�	3�	3�	3�	3�
��l�N��b�s�K�K�K�K�
��m�^�����	6�	6�	6�	6�
��l�N����c�	;�	;�	;�	;�	���d��#�#�#���������v�.����4�#4�#4�T�#:�#:�;�;�	=�	=�	=�	���t��$�$�$���������w�/����4�#4�#4�T�#:�#:�;�;�	=�	=�	=�	=�	=r)c�R��������\}��}}���fd�}|dddd���|dddd���|d	ddd�
��|ddddd
���|ddddd���|ddddd���|d	dddd���|ddddd
d���|dddddd���|dddd���|dddd���|dddd�
��|ddddd
���|ddddd���|d dddd���|d!ddd"d���|d#dddd���|d$dddd
d���|d%ddddd�����d&�'��������d(��|�d&��������d&�)��������d*��|�d&������dS)+Nc�r�����������jdi|����dd����j���������|��������|��dSrjrmros   ���r'rGz;PackTest.test_pack_configure_pady_ipady_fill.<locals>.check�rsr)�20x40+280+80�280x200+0+0r\r)r1rAz20x40+280+70rtz20x80+280+60)r1r@z20x50+280+75r;r<)r1r@rAru)r1rArbz20x40+280+69rv)r1r@rb)r1r@rArbz20x50+280+70ryz20x40+140+20z300x120+0+80r/rzr|z20x80+140+0z20x50+140+10z300x130+0+70z20x50+140+5z300x40+0+20z300x40+0+25r}z
300x80+0+0z300x50+0+10z
300x50+0+5r�rArA�r@r@r�r�s`    @@r'�#test_pack_configure_pady_ipady_fillz,PackTest.test_pack_configure_pady_ipady_fill�s5������<�<�>�>���a��A�q�	8�	8�	8�	8�	8�	8�	8�	��n�m�'��C�C�C�C�
��n�m�'��I�I�I�I�
��n�m�'��D�D�D�D�
��n�m�'���L�L�L�L�
��n�m�'���M�M�M�M�
��n�m���s�	4�	4�	4�	4�
��n�m�'��#�N�N�N�N�
��n�m��!�"�3�	8�	8�	8�	8�
��n�m��!�'��	=�	=�	=�	=�
��n�n�5�r�B�B�B�B�
��m�^�%�g�F�F�F�F�
��m�^�%�r�B�B�B�B�
��n�n�5���K�K�K�K�
��m�^�%�q�w�O�O�O�O�
��m�^�%�b�s�K�K�K�K�
��m�^��x�c�	3�	3�	3�	3�
��l�N��b�s�K�K�K�K�
��m�^�����	6�	6�	6�	6�
��l�N����c�	;�	;�	;�	;�	���d��#�#�#���������v�.����4�#4�#4�T�#:�#:�;�;�	=�	=�	=�	���t��$�$�$���������w�/����4�#4�#4�T�#:�#:�;�;�	=�	=�	=�	=�	=r)c���������\}��}}���fd�}|ddd��|ddd��|dd	d
��|ddd
��dS)Nc�����|���������d|����dd����j���������|��������|��dS)Nr0r1Trark)r4r5r�r!rDrE)r1rprqrrr&s   ���r'rGz0PackTest.test_pack_configure_side.<locals>.check�s����
���$��'�'�'����Q�[�[�]�]�6�2�D�9�9�9�
���D�v��6�6�6��I���������Q�-�-�/�/��7�7�7����Q�-�-�/�/��7�7�7�7�7r)r/rzr{r]z
20x40+140+160z300x160+0+0r[r^z280x200+20+0r\r�r�rQr�s`    @@r'�test_pack_configure_sidez!PackTest.test_pack_configure_side�s�������<�<�>�>���a��A�q�	8�	8�	8�	8�	8�	8�	8�	��e�]�N�3�3�3�
��h���7�7�7�
��f�l�N�3�3�3�
��g�~�}�5�5�5�5�5r)c�(�|���\}}}}}|���|���|���|�|���|||g��|���|�|���||g��|���|�|���||g��|���dS�N)r(r4r5r6rnr%s      r'�test_pack_forgetzPackTest.test_pack_forget�s����<�<�>�>���a��A�q�	������	������	����������)�)�+�+�a��A�Y�7�7�7�	�
�
��������)�)�+�+�a��V�4�4�4�	�
�
��������)�)�+�+�a��V�4�4�4�	�
�
�����r)c�Z�|���\}}}}}|�td|z��5|���ddd��n#1swxYwY|���|�d|ddddddd	�
�	�	|���}|�|t��|�|dd��|�|d
|�d����|�|dd��|�|d|��|�|d|�d����|�|d|�d����|�|d|�d����|�|d|�d����|�|dd��|���}|�|t��|�|dd��|�|d
|�d����|�|dd��|�|d|��|�|d|�d����|�|d|�d����|�|d|�d����|�|d|�d	����|�|dd��dS)Nr+r\rLTrur;r<rXry)	r1rfrCrBrbr>r?r@rArCrPrBrrb�none�inr>r@r?rAr1r/r)	r(r3rr�r4�assertIsInstance�dictr5r�)r&rrrrr�infos       r'�test_pack_infozPackTest.test_pack_info�sc���<�<�>�>���a��A�q�
�
#�
#�H�.I�A�.M�
N�
N�	�	�
�K�K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	������	���g�1�S��C� �r���	�	B�	B�	B��{�{�}�}�����d�D�)�)�)�����h���2�2�2�����h�����1���6�6�6�����f��v�.�.�.�����d��T�*�*�*�����g���	�	�!���5�5�5�����g���	�	�!���5�5�5�����f��t�y�y��|�|�4�4�4�����f��t�y�y��|�|�4�4�4�����f��u�-�-�-��{�{�}�}�����d�D�)�)�)�����h���-�-�-�����h�����1���6�6�6�����f��s�+�+�+�����d��Q�'�'�'�����g���	�	�!���5�5�5�����g���	�	�!���5�5�5�����f��t�y�y��}�}�5�5�5�����f��t�y�y��'9�'9�:�:�:�����f��w�/�/�/�/�/s�A�A�!Ac��|���\}}}}}|�dd���|���|�d��|j���|�|���d��|�|���d��|�d��|j���|�|���d��|�|���d��dS)N�,���rrFTrr)	r(�	configurer4�pack_propagater!rDr5�winfo_reqwidth�winfo_reqheightr%s      r'�test_pack_propagatezPackTest.test_pack_propagates ���<�<�>�>���a��A�q����S���-�-�-�	���������E�"�"�"��	����������,�,�.�.��4�4�4�����-�-�/�/��5�5�5����D�!�!�!��	����������,�,�.�.��3�3�3�����-�-�/�/��4�4�4�4�4r)c��|���\}}}}}|�|���g��|���|�|���|g��|���|�|���||g��dSr�)r(r5r6r4r%s      r'�test_pack_slaveszPackTest.test_pack_slavess����<�<�>�>���a��A�q�����)�)�+�+�R�0�0�0�	����������)�)�+�+�a�S�1�1�1�	����������)�)�+�+�a��V�4�4�4�4�4r))�__name__�
__module__�__qualname__�	test_keysr(r7rRrUrcrgr�r�r�r�r�r�r�rlr)r'r	r	
s��������I� � � �;�;�;� (�(�(�";�;�;� S�S�S�0)�)�)�"(=�(=�(=�T(=�(=�(=�T6�6�6�
�
�
�0�0�0�<5�5�5�5�5�5�5�5r)r	c�l�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZdS)�	PlaceTestNc�4�tj|jddd���}|�d��tj|dddd	�
��}|�dd�
��tj|dddd	�
��}|j���|||fS)Nr�r�r)rr�bdr
��TrX�raised)rrr��relief�0�&)ru�yr�<)rr r!r"r$�place_configurerD�r&�t�f�f2s    r'r(zPlaceTest.create2s�����T�Y�c�#�!�D�D�D��	�
�
�m�$�$�$��M�!�3�r�a��I�I�I��	���B�"��%�%�%�
�]�1�B�r�a��
I�
I�
I���	�������!�R�x�r)c	��|���\}}}|�|���d��|�tdtjt|����z��5|�|���ddd��n#1swxYwY|�|���d��|�td��5|�d���ddd��n#1swxYwY|�|���|�|���d��dS)N�z!can't place %s relative to itselfrezbad window path name�spam�place)	r(r5�
winfo_managerr3r�re�escape�strr�r�s    r'�test_place_configure_inz!PlaceTest.test_place_configure_in$s����<�<�>�>���1�b�����)�)�+�+�R�0�0�0�
�
#�
#�H�/-�/1�y��R���/A�/A�/B�C�C�	'�	'����2��&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
����)�)�+�+�R�0�0�0�
�
#�
#�H�.D�
E�
E�	+�	+����6��*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
���q��!�!�!�����)�)�+�+�W�5�5�5�5�5s$�>B!�!B%�(B%�/D�D�Dc���|���\}}}|�|���|�|���dd��|j���|�|���d��|�d���|�|���dd��|j���|�|���d��|�d	d
���|�|���dd��|j���|�|���d
��|�td��5|�|d���ddd��dS#1swxYwYdS)Nreru�0r�d)ru�100����r)ru�relx�-10��bad screen distance "spam"r�)rfru�	r(r�r5�
place_infor!rD�winfo_xr3rr�s    r'�test_place_configure_xz PlaceTest.test_place_configure_x0s����<�<�>�>���1�b�
���q��!�!�!����������-�s�3�3�3��	��������������r�*�*�*�
���S��!�!�!����������-�u�5�5�5��	��������������s�+�+�+�
���S�q��)�)�)����������-�u�5�5�5��	��������������s�+�+�+�
�
#�
#�H�.J�
K�
K�	0�	0����1���/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0��G)�)G-�0G-c���|���\}}}|�|���|�|���dd��|j���|�|���d��|�d���|�|���dd��|j���|�|���d��|�d	d
���|�|���dd��|j���|�|���d
��|�td��5|�|d���ddd��dS#1swxYwYdS)Nrer�r�rr)r��50�Zr�r)r��relyr��nr�r�)rfr��	r(r�r5r�r!rD�winfo_yr3rr�s    r'�test_place_configure_yz PlaceTest.test_place_configure_yAs����<�<�>�>���1�b�
���q��!�!�!����������-�s�3�3�3��	��������������r�*�*�*�
���R�� � � ����������-�t�4�4�4��	��������������r�*�*�*�
���S�q��)�)�)����������-�u�5�5�5��	��������������s�+�+�+�
�
#�
#�H�.J�
K�
K�	0�	0����1���/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0r�c���|���\}}}|�|���|�|���dd��|j���|�|���d��|�d���|�|���dd��|j���|�|���d��|�d	���|�|���dd
��|j���|�|���d��|�td��5|�|d
���ddd��dS#1swxYwYdS)Nrer�r�r��?)r��0.5�}r�1r��-expected floating-point number but got "spam"r�)rfr�r�r�s    r'�test_place_configure_relxz#PlaceTest.test_place_configure_relxRs����<�<�>�>���1�b�
���q��!�!�!����������0�#�6�6�6��	��������������r�*�*�*�
�����$�$�$����������0�%�8�8�8��	��������������s�+�+�+�
�����"�"�"����������0�#�6�6�6��	��������������s�+�+�+�
�
#�
#�H�/5�6�6�	3�	3����1�6��2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3��G(�(G,�/G,c���|���\}}}|�|���|�|���dd��|j���|�|���d��|�d���|�|���dd��|j���|�|���d��|�d	���|�|���dd
��|j���|�|���d��|�td��5|�|d
���ddd��dS#1swxYwYdS)Nrer�r�rr�)r�r�rrr��xr�r�)rfr�r�r�s    r'�test_place_configure_relyz#PlaceTest.test_place_configure_relyds����<�<�>�>���1�b�
���q��!�!�!����������0�#�6�6�6��	��������������r�*�*�*�
�����$�$�$����������0�%�8�8�8��	��������������r�*�*�*�
�����"�"�"����������0�#�6�6�6��	��������������s�+�+�+�
�
#�
#�H�/5�6�6�	3�	3����1�6��2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3r�c���tj|j��}|�td��5|�d���ddd��n#1swxYwY|�td��5|�d���ddd��n#1swxYwYdD]F}|�|���|�|���d|���GdS)Nzbad anchor "j"�j)rC�ambiguous anchor ""r�)	rHrIrJrKrLrMrNrOrPrC�rr$r!r3rr�r5r��r&r��values   r'�test_place_configure_anchorz%PlaceTest.test_place_configure_anchorvso���M�$�)�$�$��
�
#�
#�H�.>�
?�
?�	*�	*�
���S��)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
#�
#�H�.C�
D�
D�	)�	)�
���R��(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�I�	>�	>�E�
���U��+�+�+����Q�\�\�^�^�H�5�u�=�=�=�=�	>�	>�#�A�A�A�>B!�!B%�(B%c�(�|���\}}}|�|d���|j���|�|���d��|�d���|j���|�|���d��|�td��5|�d���ddd��dS#1swxYwYdS)Nr�)rfrr�)rr�bad screen distance "abcd"�abcd�r(r�r!rDr5�winfo_widthr3rr�s    r'�test_place_configure_widthz$PlaceTest.test_place_configure_width�s?���<�<�>�>���1�b�
���q���,�,�,��	������������)�)�3�/�/�/�
�����$�$�$��	������������)�)�2�.�.�.�
�
#�
#�H�.J�
K�
K�	-�	-����V��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-��#D�D�Dc�(�|���\}}}|�|d���|j���|�|���d��|�d���|j���|�|���d��|�td��5|�d���ddd��dS#1swxYwYdS)Nr�)rfrr�)rr�r�r��r(r�r!rDr5�winfo_heightr3rr�s    r'�test_place_configure_heightz%PlaceTest.test_place_configure_height�s?���<�<�>�>���1�b�
���q���-�-�-��	������������*�*�C�0�0�0�
���"��%�%�%��	������������*�*�B�/�/�/�
�
#�
#�H�.J�
K�
K�	.�	.����f��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.r�c�(�|���\}}}|�|d���|j���|�|���d��|�d���|j���|�|���d��|�td��5|�d���ddd��dS#1swxYwYdS)	Nr�)rf�relwidth�Kr�)r�r�-expected floating-point number but got "abcd"r�r�r�s    r'�test_place_configure_relwidthz'PlaceTest.test_place_configure_relwidth�sE���<�<�>�>���1�b�
���q�3��/�/�/��	������������)�)�2�.�.�.�
���B��'�'�'��	������������)�)�2�.�.�.�
�
#�
#�H�/5�6�6�	0�	0������/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0r�c�(�|���\}}}|�|d���|j���|�|���d��|�d���|j���|�|���d��|�td��5|�d���ddd��dS#1swxYwYdS)	Nr�)rf�	relheightrr�)rr�r�r�r�r�s    r'�test_place_configure_relheightz(PlaceTest.test_place_configure_relheight�sE���<�<�>�>���1�b�
���q�C��0�0�0��	������������*�*�B�/�/�/�
���R��(�(�(��	������������*�*�B�/�/�/�
�
#�
#�H�/5�6�6�	1�	1������0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1r�c���tj|j��}|�td��5|�d���ddd��n#1swxYwY|�td��5|�d���ddd��n#1swxYwYdD]F}|�|���|�|���d|���GdS)Nzbad bordermode "j"r�)�
bordermodezambiguous bordermode ""r�)�inside�outside�ignorerr�r�s   r'�test_place_configure_bordermodez)PlaceTest.test_place_configure_bordermode�ss���M�$�)�$�$��
�
#�
#�H�.B�
C�
C�	.�	.�
�����-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
#�
#�H�.G�
H�
H�	-�	-�
�����,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�2�	B�	B�E�
�����/�/�/����Q�\�\�^�^�L�9�5�A�A�A�A�	B�	Br�c���tj|j��}|�dd���|j���|���|j���|�|�����|�t��5|�d��ddd��dS#1swxYwYdS)Nrr�r)
rr$r!r�rD�place_forget�assertFalse�winfo_ismapped�assertRaises�	TypeError)r&�foos  r'�test_place_forgetzPlaceTest.test_place_forget�s���m�D�I�&�&�����"�R��0�0�0��	�������������	����������+�+�-�-�.�.�.�
�
�
�y�
)�
)�	 �	 ����Q����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�8C�C�"Cc
��|���\}}}|�|ddddddddd	d
���|���}|�|t��|�|dd
��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd��|�|dd	��|�|dd
��|�|dd
��|�|dd
��|�t��5|�d��ddd��dS#1swxYwYdS)NrrXrY�g�������?g�������?g333333�?g�������?rKr)rfrur�rrr�r�r�rrCrrur�r��2r�3r�4r�z0.1r�z0.2r�z0.3rz0.4rCrr)r(r�r�r�r�r5rr
)r&r�r�r�r�s     r'�test_place_infozPlaceTest.test_place_info�s4���<�<�>�>���1�b�
���q�A��!�A� #�#��s�"&�9�	�	>�	>�	>��}�}�������d�D�)�)�)�����c��C�(�(�(�����c��C�(�(�(�����g���,�,�,�����h���-�-�-�����f��u�-�-�-�����f��u�-�-�-�����j�)�5�1�1�1�����k�*�E�2�2�2�����h���.�.�.�����l�+�Y�7�7�7�����c��C�(�(�(�����c��C�(�(�(�
�
�
�y�
)�
)�	�	��M�M�!����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�G5�5G9�<G9c���tj|j��}tj|j��}|�|���g��|�|���|�|���|g��|�t��5|�d��ddd��dS#1swxYwYdS)Nrer)rr$r!r5�place_slavesr�rr
)r&r�bars   r'�test_place_slaveszPlaceTest.test_place_slaves�s
���m�D�I�&�&���m�D�I�&�&������)�)�+�+�R�0�0�0������$�$�$�����)�)�+�+�c�U�3�3�3�
�
�
�y�
)�
)�	 �	 ����Q����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�4C�C�C)r�r�r�r�r(r�r�r�r�r�r�r�r�r�rrrrrrlr)r'r�r�s��������I����
6�
6�
6�0�0�0�"0�0�0�"3�3�3�$3�3�3�$>�>�>�	-�	-�	-�	.�	.�	.�
0�
0�
0�
1�
1�
1�B�B�B� � � ����, � � � � r)r�c����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�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"�xZ#S)!�GridTestNc���|j���\}}t|dz��D]!}|j�|dddd����"t|dz��D]!}|j�|dddd����"|j�d��|j�d��t�����dS)Nrrr�)�weight�minsize�pad�uniformrO)	r!�	grid_size�range�grid_columnconfigure�grid_rowconfigure�grid_propagate�grid_anchor�super�tearDown)r&�cols�rows�i�	__class__s    �r'r(zGridTest.tearDown�s�����Y�(�(�*�*�
��d��t�a�x���	V�	V�A��I�*�*�1�Q��q�RT�*�U�U�U�U��t�a�x���	S�	S�A��I�'�'��!�Q�A�r�'�R�R�R�R��	� � ��#�#�#��	���d�#�#�#�
���������r)c�P�tj|j��}|�|���i��|���|�|���d|j��|�|���d|�d����|�|���d|�d����|�ddid���|�|���d|�d����|�|���d|�d����dS)Nr��columnr�rowrrX�r/)r�Buttonr!r5�	grid_info�grid_configurer��r&rs  r'�test_grid_configurezGridTest.test_grid_configure�s?���N�4�9�%�%�����������+�+�+�	��������������t�,�d�i�8�8�8���������x�0�$�)�)�A�,�,�?�?�?���������u�-�t�y�y��|�|�<�<�<�	���(�A��A��.�.�.���������x�0�$�)�)�A�,�,�?�?�?���������u�-�t�y�y��|�|�<�<�<�<�<r)c�x�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����dS)Nz5bad column value "-1": must be a non-negative integer����r.rXr.�	rr1r!r3rr3r5r2r�r4s  r'�test_grid_configure_columnz#GridTest.test_grid_configure_column�s����N�4�9�%�%��
�
#�
#�H�/E�F�F�	(�	(�
���B��'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	
�����"�"�"���������x�0�$�)�)�A�,�,�?�?�?�?�?��A�A�Ac�x�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����dS)Nz4bad columnspan value "0": must be a positive integerr)�
columnspanrXr=r9r4s  r'�test_grid_configure_columnspanz'GridTest.test_grid_configure_columnspans����N�4�9�%�%��
�
#�
#�H�/A�B�B�	+�	+�
�����*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	
���A��&�&�&���������|�4�d�i�i��l�l�C�C�C�C�Cr;c�n�tj|j��}tj|j��}|�|���i��|���|�|���d|j��|�|���|�|���d|��|�d|ji��|�|���d|j��dS)Nr�re)rr$r!r1r5r2r3)r&r�rs   r'�test_grid_configure_inzGridTest.test_grid_configure_ins����M�$�)�$�$���N�4�9�%�%�����������+�+�+�	��������������t�,�d�i�8�8�8�	���Q�������������t�,�a�0�0�0�	���$��	�*�+�+�+���������t�,�d�i�8�8�8�8�8r)c
�j�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����|�d���|�|���d|�ttd��|jz������dS)Nz6bad ipadx value "-1": must be positive screen distancer7r�rr>�.5c�rr1r!r3rr3r5r2r��roundr�scalingr4s  r'�test_grid_configure_ipadxz"GridTest.test_grid_configure_ipadx�X���N�4�9�%�%��
�
#�
#�H�/G�H�H�	'�	'�
���2��&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
���q��!�!�!���������w�/����1���>�>�>�	���u��%�%�%���������w�/����5��U�);�);�d�l�)J�#K�#K�L�L�	N�	N�	N�	N�	Nr;c
�j�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����|�d���|�|���d|�ttd��|jz������dS)Nz6bad ipady value "-1": must be positive screen distancer7r�rr@rBrCr4s  r'�test_grid_configure_ipadyz"GridTest.test_grid_configure_ipady!rGr;c
��tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����|�d���|�|���d|�d����|�d���|�|���d|�ttd��|jz������dS)N�4bad pad value "-1": must be positive screen distancer7r�rr?�r<r;rBrCr4s  r'�test_grid_configure_padxz!GridTest.test_grid_configure_padx,����N�4�9�%�%��
�
#�
#�H�/G�H�H�	&�	&�
���"��%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	
���a�� � � ���������v�.��	�	�!���=�=�=�	���g��&�&�&���������v�.��	�	�'�0B�0B�C�C�C�	���e��$�$�$���������v�.����5��U�);�);�d�l�)J�#K�#K�L�L�	N�	N�	N�	N�	Nr;c
��tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����|�d���|�|���d|�d����|�d���|�|���d|�ttd��|jz������dS)NrKr7r�rrArLrBrCr4s  r'�test_grid_configure_padyz!GridTest.test_grid_configure_pady9rNr;c�x�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����dS)Nz9bad (row|grid) value "-1": must be a non-negative integerr7r0rXr/r9r4s  r'�test_grid_configure_rowz GridTest.test_grid_configure_rowFs����N�4�9�%�%��
�
#�
#�H�/E�F�F�	%�	%�
�����$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	
���Q�������������u�-�t�y�y��|�|�<�<�<�<�<r;c�x�tj|j��}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���d|�d����dS)Nz1bad rowspan value "0": must be a positive integerr)�rowspanrXrTr9r4s  r'�test_grid_configure_rownspanz%GridTest.test_grid_configure_rownspanNs����N�4�9�%�%��
�
#�
#�H�/A�B�B�	(�	(�
���Q��'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	
�����#�#�#���������y�1�4�9�9�Q�<�<�@�@�@�@�@r;c���tj|jd���}|�td��5|�d���ddd��n#1swxYwY|�d���|�|���dd��|�d���|�|���dd	��dS)
Nr)rzbad stickyness value "glue"�glue)�stickyrIrXzn,s,e,w�nesw)rr$r!r3rr3r5r2�r&r�s  r'�test_grid_configure_stickyz#GridTest.test_grid_configure_stickyVs���M�$�)��.�.�.��
�
#�
#�H�.K�
L�
L�	,�	,�
���F��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	�����%�%�%���������x�0�$�7�7�7�	���	��*�*�*���������x�0�&�9�9�9�9�9s�A�A�!Ac�R�|�t��5|j���ddd��n#1swxYwY|�|j�d��ddddd���|�td��5|j�dd��ddd��n#1swxYwY|j�dd���|�td��5|j�d��ddd��n#1swxYwYtj|j��}|�	dd�	��|j�d
d���|�td��5|j�d
��ddd��n#1swxYwY|�|j�dd
��d��|�|j�dd
��d��|�|j�dd
��d��|j�|d���|�|j�dd
��d��dS�Nr)rrr rzbad option "-foo"r)rrYrX�rz*must specify a single element on retrieval)r.r/�allrYzexpected integer but got "all"ri	r)
rr
r!r#r5r3rrr1r3r4s  r'�test_grid_columnconfigurez"GridTest.test_grid_columnconfigure_sl��
�
�
�y�
)�
)�	-�	-��I�*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-������7�7��:�:�%&�q�T�Q�O�O�	Q�	Q�	Q�
�
#�
#�H�.A�
B�
B�	5�	5��I�*�*�1�e�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5��	�&�&�v�a�&�8�8�8�
�
#�
#�H�$P�R�R�	3�	3��I�*�*�6�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�N�4�9�%�%��	����q��)�)�)��	�&�&�u�Q�&�7�7�7�
�
#�
#�H�.N�
O�
O�	2�	2��I�*�*�5�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2������7�7��8�D�D�a�H�H�H������7�7��8�D�D�a�H�H�H������7�7��X�F�F��J�J�J��	�&�&�q��&�3�3�3������7�7��8�D�D�a�H�H�H�H�H�G�A�A�A�C�C�	C�D+�+D/�2D/�G�G�Gc��|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dS�N�bad screen distance "foo"rr)rr<r�r3rr!r#r5�r&s r'�!test_grid_columnconfigure_minsizez*GridTest.test_grid_columnconfigure_minsizeus���
�
#�
#�H�.I�
J�
J�	=�	=��I�*�*�1�e�*�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��	�&�&�q�"�&�5�5�5������7�7��9�E�E�r�J�J�J������7�7��:�:�9�E�r�J�J�J�J�J��A�A	�A	c�@�|�td��5|j�dd���ddd��n#1swxYwY|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dS�	Nzexpected integer but got "bad"r�badr^z-invalid arg "-weight": should be non-negative���rYrrerfs r'� test_grid_columnconfigure_weightz)GridTest.test_grid_columnconfigure_weight|s���
�
#�
#�H�.N�
O�
O�	<�	<��I�*�*�1�U�*�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�
�
#�
#�H�/=�>�>�	9�	9��I�*�*�1�R�*�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	
�	�&�&�q��&�3�3�3������7�7��8�D�D�a�H�H�H������7�7��:�:�8�D�a�H�H�H�H�H�#�A�A	�A	�+B�B�Bc�@�|�td��5|j�dd���ddd��n#1swxYwY|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dS�	Nrdrr)rz*invalid arg "-pad": should be non-negativerlrYrrerfs r'�test_grid_columnconfigure_padz&GridTest.test_grid_columnconfigure_pad�s���
�
#�
#�H�.I�
J�
J�	9�	9��I�*�*�1�%�*�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
#�
#�H�/=�>�>�	6�	6��I�*�*�1�"�*�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	
�	�&�&�q�a�&�0�0�0������7�7��5�A�A�1�E�E�E������7�7��:�:�5�A�1�E�E�E�E�Ernc��|j�dd���|�|j�dd��d��|�|j�d��dd��dS�Nrr)r r )r!r#r5rfs r'�!test_grid_columnconfigure_uniformz*GridTest.test_grid_columnconfigure_uniform�sv���	�&�&�q�%�&�8�8�8������7�7��9�E�E�u�M�M�M������7�7��:�:�9�E�u�M�M�M�M�Mr)c�R�|�t��5|j���ddd��n#1swxYwY|�|j�d��ddddd���|�td��5|j�dd��ddd��n#1swxYwY|j�dd���|�td��5|j�d��ddd��n#1swxYwYtj|j��}|�	dd�	��|j�d
d���|�td��5|j�d
��ddd��n#1swxYwY|�|j�dd
��d��|�|j�dd
��d��|�|j�dd
��d��|j�|d���|�|j�dd
��d��dSr])
rr
r!r$r5r3rrr1r3r4s  r'�test_grid_rowconfigurezGridTest.test_grid_rowconfigure�sl��
�
�
�y�
)�
)�	*�	*��I�'�'�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*������4�4�Q�7�7�%&�q�T�Q�O�O�	Q�	Q�	Q�
�
#�
#�H�.A�
B�
B�	2�	2��I�'�'��5�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2��	�#�#�F�1�#�5�5�5�
�
#�
#�H�$P�R�R�	0�	0��I�'�'��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�N�4�9�%�%��	����q��)�)�)��	�#�#�E�!�#�4�4�4�
�
#�
#�H�.N�
O�
O�	/�	/��I�'�'��.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/������4�4�Q��A�A�1�E�E�E������4�4�Q��A�A�1�E�E�E������4�4�S�(�C�C�Q�G�G�G��	�#�#�A�a�#�0�0�0������4�4�Q��A�A�1�E�E�E�E�Erac��|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dSrc�r3rr!r$r5rfs r'�test_grid_rowconfigure_minsizez'GridTest.test_grid_rowconfigure_minsize�s���
�
#�
#�H�.I�
J�
J�	:�	:��I�'�'��5�'�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:��	�#�#�A�r�#�2�2�2������4�4�Q�	�B�B�B�G�G�G������4�4�Q�7�7�	�B�B�G�G�G�G�Grhc�@�|�td��5|j�dd���ddd��n#1swxYwY|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dSrjrxrfs r'�test_grid_rowconfigure_weightz&GridTest.test_grid_rowconfigure_weight�s���
�
#�
#�H�.N�
O�
O�	9�	9��I�'�'��%�'�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
#�
#�H�/=�>�>�	6�	6��I�'�'��"�'�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	
�	�#�#�A�a�#�0�0�0������4�4�Q��A�A�1�E�E�E������4�4�Q�7�7��A�1�E�E�E�E�Ernc�@�|�td��5|j�dd���ddd��n#1swxYwY|�td��5|j�dd���ddd��n#1swxYwY|j�dd���|�|j�dd��d��|�|j�d��dd��dSrprxrfs r'�test_grid_rowconfigure_padz#GridTest.test_grid_rowconfigure_pad�s���
�
#�
#�H�.I�
J�
J�	6�	6��I�'�'��u�'�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
#�
#�H�/=�>�>�	3�	3��I�'�'��r�'�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	
�	�#�#�A�1�#�-�-�-������4�4�Q��>�>��B�B�B������4�4�Q�7�7��>��B�B�B�B�Brnc��|j�dd���|�|j�dd��d��|�|j�d��dd��dSrs)r!r$r5rfs r'�test_grid_rowconfigure_uniformz'GridTest.test_grid_rowconfigure_uniform�sv���	�#�#�A�u�#�5�5�5������4�4�Q�	�B�B�E�J�J�J������4�4�Q�7�7�	�B�E�J�J�J�J�Jr)c	��tj|j��}tj|j��}|�ddddddd���|�|j���|g��|���|���|�|j���g��|�|���i��|�dd���|���}|�|d|�d����|�|d	|�d����|�|d
|�d����|�|d|�d����|�|d
|�d����|�|d|�d����|�|dd��dS)NrXrYr�ns�r/r.rTr=r?rArXr�r/r.r/r.rTrr=r?rArXr�)	rr1r!r3r5�grid_slaves�grid_forgetr2r��r&rrr�s    r'�test_grid_forgetzGridTest.test_grid_forget�s����N�4�9�%�%���N�4�9�%�%��	���Q�q�!���a��	�	6�	6�	6������.�.�0�0�1�#�6�6�6�	�
�
����	�
�
���������.�.�0�0�"�5�5�5����������+�+�+�	���Q�q��)�)�)��{�{�}�}������e��d�i�i��l�l�3�3�3�����h�����1���6�6�6�����i��$�)�)�A�,�,�7�7�7�����l�+�T�Y�Y�q�\�\�:�:�:�����f��t�y�y��|�|�4�4�4�����f��t�y�y��|�|�4�4�4�����h���,�,�,�,�,r)c	��tj|j��}tj|j��}|�ddddddd���|�|j���|g��|���|���|�|j���g��|�|���i��|�dd���|���}|�|d|�d����|�|d	|�d����|�|d
|�d����|�|d|�d����|�|d|�d����|�|d
|�d����|�|dd��dS)NrXrYrr�r�rr�r/r.rTr=r?rArX)	rr1r!r3r5r��grid_remover2r�r�s    r'�test_grid_removezGridTest.test_grid_remove�s����N�4�9�%�%���N�4�9�%�%��	���Q�q�!���a��	�	6�	6�	6������.�.�0�0�1�#�6�6�6�	�
�
����	�
�
���������.�.�0�0�"�5�5�5����������+�+�+�	���Q�q��)�)�)��{�{�}�}������e��d�i�i��l�l�3�3�3�����h�����1���6�6�6�����i��$�)�)�A�,�,�7�7�7�����l�+�T�Y�Y�q�\�\�:�:�:�����f��t�y�y��|�|�4�4�4�����f��t�y�y��|�|�4�4�4�����h���.�.�.�.�.r)c	���tj|j��}|�|���i��|�ddddddd���|���}|�|t��|�|d|j��|�|d|�d����|�|d|�d����|�|d	|�d����|�|d
|�d����|�|d|�d����|�|d|�d����|�|d
d��dS)NrXrYrr�r�r�r/r.rTr=r?rArX)	rr1r!r5r2r3r�r�r�)r&rr�s   r'�test_grid_infozGridTest.test_grid_info�s����N�4�9�%�%�����������+�+�+�	���Q�q�!���a��	�	6�	6�	6��{�{�}�}�����d�D�)�)�)�����d��T�Y�/�/�/�����e��d�i�i��l�l�3�3�3�����h�����1���6�6�6�����i��$�)�)�A�,�,�7�7�7�����l�+�T�Y�Y�q�\�\�:�:�:�����f��t�y�y��|�|�4�4�4�����f��t�y�y��|�|�4�4�4�����h���.�.�.�.�.r)c�|�|�td��5|j�d��ddd��n#1swxYwY|�td��5|j�d��ddd��n#1swxYwY|�t
��5|j�dd��ddd��n#1swxYwY|j�d��|�|jj�dd|j��d��dS)	Nzbad anchor "x"rur�r�rKrO�gridrC)	r3rr!r&rr
r5�tk�callrfs r'�test_grid_anchorzGridTest.test_grid_anchors���
�
#�
#�H�.>�
?�
?�	'�	'��I�!�!�#�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�
#�
#�H�.C�
D�
D�	&�	&��I�!�!�"�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	.�	.��I�!�!�$��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.��	���d�#�#�#�������*�*�6�8�T�Y�G�G��N�N�N�N�Ns5�A�A�
A�)B�B�B�5C�C!�$C!c���|�|j���d��|�|j�dd��d��|�|j�dddd��d��|�td��5|j�dd��ddd��n#1swxYwY|�td��5|j�dd��ddd��n#1swxYwY|�td��5|j�dddd��ddd��n#1swxYwY|�td��5|j�dddd��ddd��n#1swxYwY|�t��5|j�ddddd��ddd��n#1swxYwY|j}|�d��|�d��tj	|ddd	�
��}tj	|ddd�
��}|�
dd�
��|�
dd�
��|j���|�|���d��|�|�dd��d��|�|�dddd��d��|�|�dd��d��|�|�dddd��d��|�|�dddd��d��|�|�dddd��d��dS)N)rrrrrrzexpected integer but got "x"ru�1x1+0+0r�r�r�rrrr�rr�)rr�r�)rrr�r�)r�r�r�r�r<���r7�)r�r�rr)r5r!�	grid_bboxr3rrr
r"rr$r3rD)r&r��f1r�s    r'�test_grid_bboxzGridTest.test_grid_bbox
s��������,�,�.�.��=�=�=������,�,�Q��2�2�L�A�A�A������,�,�Q��1�a�8�8�,�G�G�G�
�
#�
#�H�.L�
M�
M�	(�	(��I����Q�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�H�.L�
M�
M�	(�	(��I����3�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�H�.L�
M�
M�	.�	.��I����1�c�1�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
#�
#�H�.L�
M�
M�	.�	.��I����1�a��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
�
�y�
)�
)�	/�	/��I����1�a��A�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��I��	�
�
�i� � � �	�
�
�b����
�]�1�B�r�e�
<�
<�
<��
�]�1�B�r�f�
=�
=�
=��
���a���*�*�*�
���a���*�*�*��	��������������(8�9�9�9�������Q��*�*�N�;�;�;�������Q��1�a�0�0�2B�C�C�C�������Q��*�*�,<�=�=�=�������R��Q��2�2�4D�E�E�E�������R��R��4�4�l�C�C�C�������R��R��4�4�6F�G�G�G�G�GsZ�)C�C�C�7D�D#�&D#�E/�/E3�6E3�F?�?G�G�$H�H�Hc���|�t��5|j���ddd��n#1swxYwY|�t��5|j�d��ddd��n#1swxYwY|�t��5|j�ddd��ddd��n#1swxYwY|�t
d��5|j�dd��ddd��n#1swxYwY|�t
d��5|j�dd��ddd��n#1swxYwY|j}|�d��|�d��tj|d	d
dd���}|�	|�d
d
��d��|�
��|j���|�	|�dd��d��|�	|�dd��d��|�	|�dd��d��|�	|�dd��d��|�	|�dd��d��|�	|�dd��d��|�	|�d	d��d��|�	|�dd��d��|�	|�dd
��d��|�	|�dd��d��|�	|�dd��d��dS)Nrzbad screen distance "x"rur�zbad screen distance "y"rr�r�r�r�r)rr�highlightthicknessrr<)r7r7r�)r7rr7)rr7�rr��)rr�e)rr�rr)rr
r!�
grid_locationr3rr"rr$r5r3rD)r&r�r�s   r'�test_grid_locationzGridTest.test_grid_location,s���
�
�
�y�
)�
)�	&�	&��I�#�#�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	'�	'��I�#�#�A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�
�
�y�
)�
)�	-�	-��I�#�#�A�q�!�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�
#�
#�H�.G�
H�
H�	.�	.��I�#�#�C��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
#�
#�H�.G�
H�
H�	/�	/��I�#�#�D�#�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��I��	�
�
�i� � � �	�
�
�b�����M�!�3�s�-.�5�
:�
:�
:���������R�0�0�(�;�;�;�	�������	�������������c�2�2�H�=�=�=��������a�0�0�'�:�:�:��������Q�/�/��9�9�9��������C�0�0�'�:�:�:��������B�/�/��9�9�9��������A�.�.��7�7�7��������a�0�0�&�9�9�9��������a�0�0�&�9�9�9��������C�0�0�&�9�9�9��������C�0�0�&�9�9�9��������c�2�2�F�;�;�;�;�;sY�A�A�A�&B
�
B�B�2C�C�"C�D)�)D-�0D-�E7�7E;�>E;c�"�|�|j���d��|�t��5|j�dd��ddd��n#1swxYwY|j�d��|�|j�����t
j|jddd���}|�dd���|j�	��|�|�
��d��|�|���d��|�d��t
j|jdd	d
���}|�|dd���|j�	��|�|�
��d��|�|���d��|�d��|j�	��|�|�
��d��|�|���d	��dS)NTFr�rr�rr�r��Ur)rfr/r.)r5r!r%rr
r
rr$r3rDr�r�)r&r��gs   r'�test_grid_propagatezGridTest.test_grid_propagateLsk�������1�1�3�3�T�:�:�:�
�
�
�y�
)�
)�	3�	3��I�$�$�U�E�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��	� � ��'�'�'������1�1�3�3�4�4�4��M�$�)�3�s�u�E�E�E��	���Q�q��)�)�)��	��������������#�.�.�.�������)�)�3�/�/�/�	��������M�$�)�2�b�W�E�E�E��	���Q�A�a��0�0�0��	��������������#�.�.�.�������)�)�3�/�/�/�	��������	��������������"�-�-�-�������)�)�2�.�.�.�.�.s�A0�0A4�7A4c�:�|�t��5|j�d��ddd��n#1swxYwY|�|j���d��tj|j��}|�dd���|�|j���d��|�dd���|�|j���d��dS)Nrr�r�r�rr;)�r;)rr
r!r!r5r�Scaler3rZs  r'�test_grid_sizezGridTest.test_grid_sizebs6��
�
�
�y�
)�
)�	#�	#��I����"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#������,�,�.�.��7�7�7��M�$�)�$�$��	���Q�q��)�)�)������,�,�.�.��7�7�7�	���Q�q��)�)�)������,�,�.�.��7�7�7�7�7s�A�A�	Ac�.�|�|j���g��tj|j��}|�dd���tj|j��}|�dd���tj|j��}|�dd���tj|j��}|�dd���|�|j���||||g��|�|j�d���|g��|�|j�d���|||g��|�|j�d���|g��|�|j�d���|||g��|�|j�dd���||g��dS)Nrrr�r0r8)r5r!r�r�Labelr3)r&rrrrs     r'�test_grid_slaveszGridTest.test_grid_slavesls��������.�.�0�0�"�5�5�5��M�$�)�$�$��	���Q�q��)�)�)��M�$�)�$�$��	���Q�q��)�)�)��M�$�)�$�$��	���Q�q��)�)�)��M�$�)�$�$��	���Q�q��)�)�)������.�.�0�0�1�a��A�,�?�?�?������.�.�1�.�5�5��s�;�;�;������.�.�1�.�5�5��1�a�y�A�A�A������.�.�a�.�8�8�1�#�>�>�>������.�.�a�.�8�8�1�a��)�D�D�D������.�.�1�Q�.�?�?�!�Q��H�H�H�H�Hr))$r�r�r�r�r(r5r:r>r@rFrIrMrPrRrUr[r`rgrmrqrtrvryr{r}rr�r�r�r�r�r�r�r�r��
__classcell__)r,s@r'rr�s@��������I������	=�	=�	=�@�@�@�D�D�D�	9�	9�	9�	N�	N�	N�	N�	N�	N�N�N�N�N�N�N�=�=�=�A�A�A�:�:�:�I�I�I�,K�K�K�I�I�I�F�F�F�N�N�N�
F�F�F�,H�H�H�F�F�F�C�C�C�K�K�K�
-�-�-�(/�/�/�(/�/�/� O�O�O�H�H�H�><�<�<�@/�/�/�,8�8�8�I�I�I�I�I�I�Ir)r�__main__)�unittestr�rr�test.supportr�tkinter.test.supportr�tkinter.test.widget_testsr�TestCaser	r�r�	tests_guir��mainrlr)r'�<module>r�sb������	�	�	�	�����������!�!�!�!�!�!�,�,�,�,�,�,�8�8�8�8�8�8�������G5�G5�G5�G5�G5�!�8�#4�G5�G5�G5�TH �H �H �H �H �"�H�$5�H �H �H �VYI�YI�YI�YI�YI�!�8�#4�YI�YI�YI�z
�i��
�	��z����H�M�O�O�O�O�O��r)