Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/tkinter/test/test_ttk/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/tkinter/test/test_ttk/__pycache__/test_widgets.cpython-39.pyc

a

XC?h�
�@s4ddlZddlZddlmZmZddlmZmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZmZmZmZmZmZed�Gdd	�d	e�ZGd
d�deej�ZGdd
�d
ee�Zee�Gdd�deej��Zee�Gdd�deej��ZGdd�de�Zee�Gdd�deej��Zee�Gdd�deej��Z ee�Gdd�deej��Z!eee�Gdd�deej��Z"eee�Gdd�de"ej��Z#eee�Gdd�deej��Z$ee�Gd d!�d!eej��Z%Gd"d#�d#eej�Z&ee�Gd$d%�d%eej��Z'ee�Gd&d'�d'eej��Z(e�)ej*d(kd)�ee�Gd*d+�d+eej���Z+eee�Gd,d-�d-eej��Z,eee�Gd.d/�d/e"ej��Z-ee�Gd0d1�d1eej��Z.ee�Gd2d3�d3eej��Z/ee�Gd4d5�d5eej��Z0Gd6d7�d7eej�Z1e e!e#e"eeee&e,e$e(e%e'e+e/e0e-e.ee1fZ2e3d8k�r0e�4�dS)9�N)�ttk�TclError)�requires�
gc_collect)�
MockTclObj)�AbstractTkTest�tcl_version�get_tk_patchlevel�simulate_mouse_click�AbstractDefaultRootTest)�add_standard_options�noconv�AbstractWidgetTest�StandardOptionsTests�IntegerSizeTests�PixelSizeTests�setUpModuleZguic@s$eZdZdd�Zdd�Zdd�ZdS)�StandardTtkOptionsTestscCs\|��}|�|dd�d}t�dkr*d}|j|dd|d�|jdd�}|�|dd�dS)	N�class��"attempt to change read-only option���rZbeta��"Attempt to change read-only option�Foo��errmsg�Zclass_)�create�assertEqualr	�checkInvalidParam��self�widgetrZwidget2�r&�G/opt/alt/python39/lib64/python3.9/tkinter/test/test_ttk/test_widgets.py�test_configure_classs
z,StandardTtkOptionsTests.test_configure_classcs����}t�dkr �fdd�}nd}�j|ddd|d��j|ddd	|d��j|dd
d
|d��j|ddd|d��j|ddd|d���|dd
��j|dddd�dS)N)rr�cs��|t�ttt|��S�N)�assertIsInstance�tuple�map�str)�value�r$r&r'�padding_conv szDStandardTtkOptionsTests.test_configure_padding.<locals>.padding_conv�paddingr)r)�expected�conv�)r5)r5r)r5r�)r5rr6r)Z5pZ6pZ7pZ8pr&r�r3)r r	�
checkParam)r$r%r1r&r0r'�test_configure_paddings"

�
�
�z.StandardTtkOptionsTests.test_configure_paddingcCsj|��}|�|dd�d}t|d�r8dt|d���}|j|dd|d�|jdd�}|�|d	d�dS)
N�stylerzLayout Foo not found�default_orientzLayout %s.Foo not foundrrrr)r r!�hasattr�getattr�titler"r#r&r&r'�test_configure_style0s
�
�z,StandardTtkOptionsTests.test_configure_styleN)�__name__�
__module__�__qualname__r(r9r?r&r&r&r'rs
rcs0eZdZdZ�fdd�Zdd�Zdd�Z�ZS)�
WidgetTestz,Tests methods available in every ttk widget.cs,t���tj|jddd�|_|j��dS)Nr�Text)�width�text)�super�setUpr�Button�rootr%�packr0��	__class__r&r'rHBs
zWidgetTest.setUpcCs�|j��|�|j�t|j��d�t|j��d��d�|�|j�dd�d�|�tj	|jjdd�|�tj	|jjdd�|�tj	|jjdd�dS)N��label���rr5)
r%�updater!�identify�int�winfo_width�winfo_height�assertRaises�tkinterrr0r&r&r'�
test_identifyGs

��zWidgetTest.test_identifycCsB|�|j��d�|�|j�dg�d�|�|j�dg�d�|�|j�dg�d�|�|j�ddg�d�|�|j�ddg�d�|�|j�ddg�d�dd	�}|�|jjdg|d
fiddi��d
ddif�|j��}|�tj|jjd
g�|�tj|jjdd
g�|�||j���|j�ddg�|�|j��d�dS)Nr&�	!disabledT�disabled)rY�active)z!activerZc[s||fSr*r&)Zarg1�kwr&r&r'�test_cbcsz-WidgetTest.test_widget_state.<locals>.test_cb�hi�msgZthereZbadstate)r[)r!r%�stateZinstaterVrWr)r$r]Z	currstater&r&r'�test_widget_stateSs6���
�
��zWidgetTest.test_widget_state)r@rArB�__doc__rHrXra�
__classcell__r&r&rLr'rC?srCc@seZdZeZdS)�AbstractToplevelTestN)r@rArBr
�_conv_pixelsr&r&r&r'rdwsrdc@seZdZdZdd�ZdS)�	FrameTest)	�borderwidthr�cursor�heightr2�reliefr:�	takefocusrEcKstj|jfi|��Sr*)r�FramerJ�r$�kwargsr&r&r'r �szFrameTest.createN�r@rArB�OPTIONSr r&r&r&r'rf{srfc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�LabelFrameTest)
rgrrhri�labelanchor�labelwidgetr2rjr:rkrF�	underlinerEcKstj|jfi|��Sr*)rZ
LabelFramerJrmr&r&r'r �szLabelFrameTest.createcCsB|��}|j|ddddddddd	d
ddd
dd�|�|dd�dS)Nrr�eZenZes�n�neZnw�sZse�sw�wZwnZwsz!Bad label anchor specification {}r�center)r �checkEnumParamr"�r$r%r&r&r'�test_configure_labelanchor�s�z)LabelFrameTest.test_configure_labelanchorcCs8|��}tj|jddd�}|j|d|dd�|��dS)NZMuppZfoo)rF�namersz.foor7)r r�LabelrJr8�destroy)r$r%rOr&r&r'�test_configure_labelwidget�sz)LabelFrameTest.test_configure_labelwidgetN)r@rArBrpr r~r�r&r&r&r'rq�srqc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�AbstractLabelTestcCs�tj|jdd�}tj|jdd�}|j|||dd�|j||ddd�|j|||fdd�|j|||d|fdd�|j||ddd�|j||d	d
d�dS)N�image1)�masterr�image2)r�r7r[)r�r[r�zimage1 active image2�spamzimage "spam" doesn't existr)rWZ
PhotoImagerJr8r")r$r%r�imager�r&r&r'�checkImageParam�s�
�
�z!AbstractLabelTest.checkImageParamcCsPd��}dd�|dd���d|d��}|��}|j|dg|�Rd|i�dS)Nz,none text image center top bottom left rightzbad compound "{}": must be z, rPz, or �compoundr)�split�joinr r|)r$Zoptionsrr%r&r&r'�test_configure_compound�s���z)AbstractLabelTest.test_configure_compoundcCs|��}|�|dddd�dS)Nr`r[rZ�normal�r ZcheckParamsr}r&r&r'�test_configure_state�sz&AbstractLabelTest.test_configure_statecCs|��}|�|dddd�dS)NrEi�in���rr�r}r&r&r'�test_configure_width�sz&AbstractLabelTest.test_configure_widthN)r@rArBr�r�r�r�r&r&r&r'r��s
	r�c@s$eZdZdZeZdd�Zdd�ZdS)�	LabelTest)�anchor�
backgroundrgrr�rh�font�
foregroundr��justifyr2rjr`r:rkrF�textvariablertrEZ
wraplengthcKstj|jfi|��Sr*)rr�rJrmr&r&r'r �szLabelTest.createcCs|��}|�|dd�dS)Nr�z3-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*�r r8r}r&r&r'�test_configure_font�s�zLabelTest.test_configure_fontN)r@rArBrpr
rer r�r&r&r&r'r��sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�
ButtonTest)r�commandr�rh�defaultr�r2r`r:rkrFr�rtrEcKstj|jfi|��Sr*)rrIrJrmr&r&r'r �szButtonTest.createcCs|��}|�|dddd�dS)Nr�r�r[rZ�r r|r}r&r&r'�test_configure_default�sz!ButtonTest.test_configure_defaultcs2g�tj|j�fdd�d�}|��|���dS)Ncs
��d�S�N���appendr&��successr&r'�<lambda>��z(ButtonTest.test_invoke.<locals>.<lambda>�r�)rrIrJ�invoke�
assertTrue)r$Zbtnr&r�r'�test_invoke�szButtonTest.test_invokeN)r@rArBrpr r�r�r&r&r&r'r��sr�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�CheckbuttonTest)rr�r�rhr��offvalue�onvaluer2r`r:rkrFr�rt�variablerEcKstj|jfi|��Sr*)r�CheckbuttonrJrmr&r&r'r �szCheckbuttonTest.createcCs |��}|�|ddddd�dS)Nr�r��ffffff@r�
any stringr�r}r&r&r'�test_configure_offvalue�sz'CheckbuttonTest.test_configure_offvaluecCs |��}|�|ddddd�dS)Nr�r�r�rr�r�r}r&r&r'�test_configure_onvalue�sz&CheckbuttonTest.test_configure_onvaluecs�g��fdd�}tj|j|d�}|�|��d�|�tj|jj	|d�|�
�}|�|d�|�|d|j�	|d��|���d|d	<|�
�}|�t
|��|�t��d
�|�|d|j�	|d��dS)Ncs��d�dS�Nr��cb test calledr�r&r�r&r'�cb_tests
z,CheckbuttonTest.test_invoke.<locals>.cb_testr�)Z	alternater�r�r�rr�r�r�)rr�rJr!r`rVrWr�tk�globalgetvarr�r��assertFalser.�assertLessEqual�len)r$r��cbtn�resr&r�r'r�s(�
�

�zCheckbuttonTest.test_invokeN)r@rArBrpr r�r�r�r&r&r&r'r��s
	r�cs�eZdZdZejdkrdndZ�fdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Z�ZS)�	EntryTest)r�rrh�exportselectionr�r��invalidcommandr��showr`r:rkr��validate�validatecommandrE�xscrollcommand�darwinzEntry.field�textareacst���|��|_dSr*)rGrHr �entryr0rLr&r'rH)s
zEntryTest.setUpcKstj|jfi|��Sr*)rZEntryrJrmr&r&r'r -szEntryTest.createcCs|��}|�|d�dS)Nr��r ZcheckCommandParamr}r&r&r'�test_configure_invalidcommand0sz'EntryTest.test_configure_invalidcommandcCs6|��}|�|dd�|�|dd�|�|dd�dS)Nr��*r� r�r}r&r&r'�test_configure_show4szEntryTest.test_configure_showcCs|��}|�|dddd�dS)Nr`rZr��readonlyr�r}r&r&r'r�:s�zEntryTest.test_configure_statec
Cs$|��}|�|ddddddd�dS)Nr��all�key�focusZfocusinZfocusout�noner�r}r&r&r'�test_configure_validate?s�z!EntryTest.test_configure_validatecCs|��}|�|d�dS)Nr�r�r}r&r&r'�test_configure_validatecommandDsz(EntryTest.test_configure_validatecommandcCs>|�|j�d��|�tj|jjd�|�tj|jjd�dS)NrZnoindex)�assertIsBoundingBoxr��bboxrVrWrr0r&r&r'�	test_bboxHszEntryTest.test_bboxcCs�|j��|j��|�|j�dd�|j�|�|j�dd�d�|�tj|jjdd�|�tj|jjdd�|�tj|jjdd�dS)Nr5rPr)	r�rKrQr!rR�IDENTIFY_ASrVrWrr0r&r&r'rXMs

zEntryTest.test_identifycs�g��fdd�}d|jd<dd�|jd<||jd<|j��|���d|jd<|j��|�t��d	�||jd<d
d�|jd<|j��|�t��d	�d|jd<|j��|�t��d	�d|jd<|�tj|jj�dS)Ncs
��d�S�NTr�r&r�r&r'r�[r�z3EntryTest.test_validation_options.<locals>.<lambda>r�r�cSsdS)NFr&r&r&r&r'r�^r�r�r�rr�cSsdSr�r&r&r&r&r'r�ir�T)r�r�r�r!r�rVrWr)r$Ztest_invalidr&r�r'�test_validation_optionsYs&










z!EntryTest.test_validation_optionscsrg��fdd�}d|jd<|j�|�df|jd<|j�dd�|j�dd	�|��d
dg�|�|j��d	�dS)Ncs6d|��krdks(n��d�dS��d�dS�N�a�zFT)�lowerr�)Z	to_insert�Z
validationr&r'r�vs


z+EntryTest.test_validation.<locals>.validater�r�z%Sr��endr�r�FT)r��register�insertr!�get�r$r�r&r�r'�test_validationts
zEntryTest.test_validationcCs�dd�}|j�|�df|jd<|j�dd�|�|j��d�|�|j��d�|j�d	d�|�|j��d
�|j�dd�|�|j��d�|�|j��d
�|j�d�|�|j��d�|�|j��d�dS)NcSs.|D]$}d|��kr dksndSqdSr�)r�)ZcontentZletterr&r&r'r��sz-EntryTest.test_revalidation.<locals>.validatez%Pr�r�ZavocadoTr&rrZa1bF)�invalidr�)r�r�r�r!r�r`�deleter�r�r&r&r'�test_revalidation�szEntryTest.test_revalidation)r@rArBrp�sys�platformr�rHr r�r�r�r�r�r�rXr�r�r�rcr&r&rLr'r�sr�csbeZdZdZejdkrdndZ�fdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
�ZS)�ComboboxTest)r�rrhr�r�r�rir�r��postcommandr�r`r:rkr�r�r��valuesrEr�r�zCombobox.buttonr�cst���|��|_dSr*)rGrHr �combor0rLr&r'rH�s
zComboboxTest.setUpcKstj|jfi|��Sr*)r�ComboboxrJrmr&r&r'r �szComboboxTest.createc
Cs$|��}|�|ddddddd�dS)Nri�d������LY@�fffff�Y@���rZ1ir�r}r&r&r'�test_configure_height�sz"ComboboxTest.test_configure_heightcCsj|j��}|dd}}tjdkr8|�|j�||�d�|jjd||d�|jjd||d�|j��dS)Nr5r��
.*downarrow\Z�<ButtonPress-1>��x�y�<ButtonRelease-1>)r�rTr�r��assertRegexrR�event_generate�update_idletasks)r$rEr�r�r&r&r'�_show_drop_down_listbox�s

z$ComboboxTest._show_drop_down_listboxcszg�dg|jd<|j�d�fdd��|j��|j��|j��}|��|j��|j�d�|j��|���dS)Nr�r�z<<ComboboxSelected>>cs
��d�Sr�r���evtr�r&r'r��r�z1ComboboxTest.test_virtual_event.<locals>.<lambda>z<Return>)r��bindrKrQrUr�r�r�)r$rir&r�r'�test_virtual_event�s
�




zComboboxTest.test_virtual_eventcsbg��fdd�|jd<|j��|j��|��|���d|jd<|��|�t��d�dS)Ncs
��d�Sr�r�r&r�r&r'r��r�z9ComboboxTest.test_configure_postcommand.<locals>.<lambda>r�rr�)r�rKrQr�r�r!r�r0r&r�r'�test_configure_postcommand�s



z'ComboboxTest.test_configure_postcommandcs��fdd�}���jdtdkr$dnd�|dd��j�jddd	d
����jdd	����jdd����jdd�gd��jd<�j�d
�|d
d��j�d�|dd��j�d�|dd��j�d�d�jd<|dd��jjgd�d����jd�j�rdnd�gd��jd<���jd�j�r>dnd�gd��jd<���jd�j�rjdnd���t	j
�jjt�jd����t	j
�jjd�tj
�jgd�d�}��|d�j�r�dnd�|��dS)Ncs(���j��|����j��|�dSr*)r!r�r��current)ZgetvalZcurrvalr0r&r'�check_get_current�sz=ComboboxTest.test_configure_values.<locals>.check_get_currentr��rr5r&rrP�mon tue wed thur�ZmonZtueZwedZthurr7��*g��Q�	@rr��r�r��crrNrr��d)r�rNrr�r�rrN�r���1r�2�1 {} 2�za bza	bza
b�{a b} {a	b} {a
b}�za\tbz"a"z} {�a\\tb {"a"} \}\ \{�r�rNr�rrr�1 2 {})r!r�rr8�setr�	configure�wantobjectsrVrWrr�rr�rJr�)r$rZcombo2r&r0r'�test_configure_values�sZ�
�




����
�z"ComboboxTest.test_configure_values)r@rArBrpr�r�r�rHr r�r�rrrrcr&r&rLr'r��s	r�csXeZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Z�ZS)�PanedWindowTest)rrhri�orientr:rkrEcst���|��|_dSr*)rGrHr �panedr0rLr&r'rH#s
zPanedWindowTest.setUpcKstj|jfi|��Sr*)rZPanedWindowrJrmr&r&r'r 'szPanedWindowTest.createcCsd|��}|�t|d�d�d}t�dkr.d}|j|dd|d�|jdd�}|�t|d�d�dS)	Nr �verticalrrr�
horizontalr)r )r r!r.r	r"r#r&r&r'�test_configure_orient*s

�z%PanedWindowTest.test_configure_orientcCst�|j�}t�|�}|�tj|jj|�|��|��t�|j�}t�|�}|�tj|jj|�|��|��t�|j�}|j�|�|�tj|jj|�t�|j�}|j�|�|�	|j�
d�|j�
d��|�tj|jj
d�|��|��|�tj|jj
d�dS)Nrr�rN)rr�r!rVrWr�addr�rJr!�pane)r$rO�childZ
good_childZother_childr&r&r'�test_add5s(

zPanedWindowTest.test_addcCs`|�tj|jjd�|�tj|jjd�|j�t�|j��|j�d�|�tj|jjd�dS)Nr)	rVrWrr!�forgetr%rr�rJr0r&r&r'�test_forgetPs
zPanedWindowTest.test_forgetcCst|�tj|jjdd�|�tj|jjdd�|�tj|jjdd�t�|j�}t�|j�}t�|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)Nrr�)rVrWrr!r�rr�rJr!�panesr.)r$r'�child2�child3r+r&r&r'�test_insertXs.�
�zPanedWindowTest.test_insertcCs�|�tj|jjd�t�|j�}|j�|�|�	|j�d�t
�|�|jjddd�|jr\dnd�|�|j�dd�|jr|dnd�|�|j�d�|j�t
|���|jtj|jjddd�dS)Nr��weight�0r0Z	somevalue)Z	badoption)rVrWrr!r&rr�rJr%r+�dictr!rr.)r$r'r&r&r'�	test_panezs�� �zPanedWindowTest.test_panecCs�|�tj|jjd�|�tj|jjd�|�tj|jjd�tj|jdd�}|jj|dd�|�tj|jjd�tj|jdd�}|j�|�|�tj|jjd�|jjdd	d
�|j�d�}|j�dd�|�	||j�d��|�
|j�d�t�dS)Nrrr��rFr�r/�bTZboth)�expandZfilli�)rVrWrr!Zsashposrr�r%rK�assertNotEqualr+rS)r$r'r,Zcurr_posr&r&r'�test_sashpos�szPanedWindowTest.test_sashpos)
r@rArBrprHr r$r(r*r.r3r8rcr&r&rLr'rs"rc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�RadiobuttonTest)rr�r�rhr�r2r`r:rkrFr�rtr/r�rEcKstj|jfi|��Sr*)r�RadiobuttonrJrmr&r&r'r �szRadiobuttonTest.createcCs |��}|�|ddddd�dS)Nr/r�r�rr�r�r}r&r&r'�test_configure_value�sz$RadiobuttonTest.test_configure_valuecs6g��fdd�}t�|j�}tj|j||dd�}tj|j||dd�}|jrTdd�}nt}|��}|�|d�|�||d	�|�	��|�|�	�||j
�|d
���|���d|d<|��}|�t
|�d�|�t��d�|�||d	�|�	��|�|�	�||j
�|d
���|�t
|d
�t
|d
��dS)
Ncs��d�dSr�r�r&r�r&r'r��s
z6RadiobuttonTest.test_configure_invoke.<locals>.cb_testr)r�r�r/r�cSs|Sr*r&�r�r&r&r'r��r�z7RadiobuttonTest.test_configure_invoke.<locals>.<lambda>r�r/r�rr�)rWZIntVarrJrr:rrSr�r!r�r�r�r�r.r�r�)r$r�Zmyvarr�Zcbtn2r4r�r&r�r'�test_configure_invoke�s8
�
�

�

�z%RadiobuttonTest.test_configure_invokeN)r@rArBrpr r;r=r&r&r&r'r9�sr9c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�MenubuttonTest)rr�rh�	directionr��menur2r`r:rkrFr�rtrEcKstj|jfi|��Sr*)rZ
MenubuttonrJrmr&r&r'r �szMenubuttonTest.createc	Cs"|��}|�|dddddd�dS)Nr?ZaboveZbelow�left�right�flushr�r}r&r&r'�test_direction�s
�zMenubuttonTest.test_directioncCs4|��}tj|dd�}|j|d|td�|��dS)Nr@)r�r4)r rWZMenur8r.r�)r$r%r@r&r&r'�test_configure_menu�sz"MenubuttonTest.test_configure_menuN)r@rArBrpr rDrFr&r&r&r'r>�sr>csheZdZdZeZdZ�fdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Z�ZS)�	ScaleTest)rr�rh�from�lengthr r:rk�tor/r�r#cs,t���|��|_|j��|j��dSr*)rGrHr �scalerKrQr0rLr&r'rH�s


zScaleTest.setUpcKstj|jfi|��Sr*)rZScalerJrmr&r&r'r �szScaleTest.createcCs"|��}|j|dddddd�dS)NrHr��������-@�333333.@FrE�r ZcheckFloatParamr}r&r&r'�test_configure_from�szScaleTest.test_configure_fromcCs |��}|�|ddddd�dS)NrI�gffffff`@g33333�`@Z5i�r �checkPixelsParamr}r&r&r'�test_configure_length�szScaleTest.test_configure_lengthc	Cs$|��}|j|ddddddd�dS)NrJ�,rLrM���FrErNr}r&r&r'�test_configure_toszScaleTest.test_configure_toc	Cs$|��}|j|ddddddd�dS)Nr/rTrLrMrUFrErNr}r&r&r'r;szScaleTest.test_configure_valuecs�gd��|j�d�fdd��}d|jd<d|jd<d|jd	<|���gd��|jjd
dd�|jjd
dd�|jjdd�|���dS)N)r�r�r�z<<RangeChanged>>cs���Sr*)�popr��Zfailurer&r'r�r�z-ScaleTest.test_custom_event.<locals>.<lambda>�
rH�from_rrJrNr5)rZrJr���)rJ)rKrr�r)r$Zfuncidr&rXr'�test_custom_events



zScaleTest.test_custom_eventcCs�|jrdd�}nt}|j��}|�|j�|d�|jd�|�||j�dd��||jd��|�|j��|jd�d|jd<|�|j��|jd�|�tj|jjdd�|�tj|jjdd�dS)	NcSs|Sr*r&r<r&r&r'r�r�z$ScaleTest.test_get.<locals>.<lambda>rrJrHr/�r)	r�floatrKrTr!r�rVrWr)r$r4Zscale_widthr&r&r'�test_gets

$
zScaleTest.test_getcCsz|jrdd�}nt}||jd�}|d}|j�|�|�||j���|�||jd�}|j�|d�|�||j���|�t�|j�}||jd<|�|d�|�||j���|���|�||j���|d�~t	�|d|jd	<|�||j���|d�|�||j���||jd	��|�||j�d
d
��|�|�||j�|j�
�d
��|�|�tj|jjd�dS)NcSs|Sr*r&r<r&r&r'r�0r�z$ScaleTest.test_set.<locals>.<lambda>rJrYrHr�r�r5r/r)
rr^rKrr!r�rWZ	DoubleVarrJrrTrVr)r$r4�maxZnew_max�min�varr&r&r'�test_set.s.

  zScaleTest.test_set)r@rArBrpr
rer;rHr rOrSrVr;r\r_rcrcr&r&rLr'rG�srGc@sHeZdZdZeZdZdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�ProgressbarTest)rrhr rI�mode�maximumZphaser:rkr/r�r#cKstj|jfi|��Sr*)rZProgressbarrJrmr&r&r'r ]szProgressbarTest.createcCs|��}|�|dddd�dS)NrIgfffffY@g�����YL@Z2irQr}r&r&r'rS`sz%ProgressbarTest.test_configure_lengthc	Cs$|��}|j|ddddddd�dS)Nrf�fffff�b@������lS@rrUFrErNr}r&r&r'�test_configure_maximumdsz&ProgressbarTest.test_configure_maximumcCs|��}|�|ddd�dS)NreZdeterminateZ
indeterminater�r}r&r&r'�test_configure_modehsz#ProgressbarTest.test_configure_modecCsdSr*r&r0r&r&r'�test_configure_phaselsz$ProgressbarTest.test_configure_phasec	Cs$|��}|j|ddddddd�dS)Nr/rgrhrrUFrErNr}r&r&r'r;ps�z$ProgressbarTest.test_configure_valueN)
r@rArBrpr
rer;r rSrirjrkr;r&r&r&r'rdSsrdr�z"ttk.Scrollbar is special on MacOSXc@seZdZdZdZdd�ZdS)�
ScrollbarTest)rr�rhr r:rkr"cKstj|jfi|��Sr*)rZ	ScrollbarrJrmr&r&r'r szScrollbarTest.createN�r@rArBrpr;r r&r&r&r'rlvsrlcspeZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Z�ZS)�NotebookTest)rrhrir2r:rkrEcs\t���|jdd�|_t�|j�|_t�|j�|_|jj	|jdd�|jj	|jdd�dS)Nr�r2r�r4r5)
rGrHr �nbrr�rJ�child1r,r%r0rLr&r'rH�s
zNotebookTest.setUpcKstj|jfi|��Sr*)rZNotebookrJrmr&r&r'r �szNotebookTest.createc	Cs:|j�d�|j�|j�|�tj|jj|j�|�	|j�
d�d�|j�|j�|�	|j�
d�d�|j�|j�|�
|j�d��|jj|jdd�|j��|j��tjdkr�d}nd	}|�	|j�|�|j�d��td
dd
�D]B}z&|jjd|dd�dk�rW�q6Wq�tj�y(Yq�0q�|�d
�dS)Nrr�r�rr�r4r�z@20,5z@5,5r5r�z@%d, 5zTab with text 'a' not found)rpr)�hider,rVrWr�tabrqr!�indexr%�selectr�rKrQr�r��range�fail)r$Ztb_idx�ir&r&r'�test_tab_identifiers�s,


z!NotebookTest.test_tab_identifierscCsd|�tj|jjd�|�tj|jjd�|�tj|jjd�|�tj|jjd�|jtj|jjt�|j�dd�|j�	�}|j�|j
�|j�|j
�|�|j�	�|�t�|j�}|jj|dd�|j�	�}|j�d�}|j�|j
�}|j�|j
�|j�|j
�|�|j�	�|�|�|j�|j
�|�|�t|j
�|j�	�|�|�|j�d�|d�dS)	NrPr^Zoption)�unknownrr4rr�)rVrWrrprrr%rr�rJ�tabsrqr!rtr,r.)r$r{r'ZcurrZchild2_indexr&r&r'�test_add_and_hidden�s,�

z NotebookTest.test_add_and_hiddencCs�|�tj|jjd�|�tj|jjd�|�tj|jjd�|j��}|j�|j�}|j�|j�|�t	|j�|j���|�
t|�dt|j����|j�|j�|�
|j�|j�d�|�
||j�|j��dS)NrPr^r�)rVrWrrpr)r{rtrqZassertNotInr.r!r�r%r7)r$r{Zchild1_indexr&r&r'r*�s
zNotebookTest.test_forgetcCs�|�tj|jjd�|�tj|jjd�|�|j�d�t�|�|j�|j�d�|�|j�|j	�d�|�|j�d�d�dS)NrPr�rr�rN)
rVrWrrprtr+rSr!rqr,r0r&r&r'�
test_index�szNotebookTest.test_indexcCs�|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�t	�
|j�}|j�d|�|�|j��|dt|�|df�|j�
|�|�|j��|�|j�|j|�|�|j��t|�f|�|j�
|�|�tj|jjd|�|�tj|jjd|�|�tj|jjdd�|�tj|jjdd�|�tj|jjdd�dS)Nr�rr�rNrP)rpr{r�r!rqr,rVrWrrr�rJr.r))r$r{r-r&r&r'r.�s0
$zNotebookTest.test_insertcs�|j��|j��g�g�|j�d�fdd��|j�d�fdd��|�|j��t|j��|j�|j�|�	��|�|j��t|j��|j��|�	��dS)Nz<Unmap>cs
��d�Sr�r�r�r�r&r'r�
r�z*NotebookTest.test_select.<locals>.<lambda>z<<NotebookTabChanged>>cs
��d�Sr�r�r�)�tab_changedr&r'r�r�)
rprKrQrqrr!rur.r,r�r0r&)r�r~r'�test_selects


�

zNotebookTest.test_selectcCs�|�tj|jjd�|�tj|jjd�|�tj|jjd�|�|j�|j�t�|�|jj|jdd�d�|�|j�|jd�d�|jj|jdd�|�|jj|jdd�d�|�|j�|jd�d�dS)NrPZnotabr4r�rF�abc)	rVrWrrprsr+rqr2r!r0r&r&r'�test_tabszNotebookTest.test_tabcCsH|�t|j���d�|j�|j�|j�|j�|�|j��d�dS)NrNr&)r!r�rpr{r)rqr,r0r&r&r'�test_configure_tabs&sz NotebookTest.test_configure_tabscCs�|j��|j��|j�d�tjdkr.dnd}|�|j�dd�|�t|jdd�|j�	�|j�
d�|�|j��t|j��|j�	�|j�
d�|�|j��t|j
��|j�	�|j�
d�|�|j��t|j��|jj|j
ddd	�|jj|jd
dd	�|j��|j�	�|�|j�dd�|�t|jdd�tjdk�rVd}d}nd
}d}|j�
|�|�|j��t|j
��|j�
|�|�|j��t|j��dS)Nrr�r�rr5z
<Control-Tab>z<Shift-Control-Tab>r�)rFrtruz<Left>z<Right>z<Alt-a>z<Alt-e>)rprKrQrur�r�r!rRr
Zfocus_forcer�r.r,rqrsZenable_traversal)r$Zfocus_identify_asZbeginr�r&r&r'�test_traversal.s<






zNotebookTest.test_traversal)r@rArBrprHr ryr|r*r}r.rr�r�r�rcr&r&rLr'rn�s	 
rncs�eZdZdZejdkrdndZ�fdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Z�ZS)�SpinboxTest)r�rr�rhr�r�r��formatrH�	incrementr�r�r�r`r:rkr�rJr�r�r�rE�wrapr�r�z
Spinbox.fieldr�cs"t���|��|_|j��dSr*)rGrHr �spinrKr0rLr&r'rH`s

zSpinboxTest.setUpcKstj|jfi|��Sr*)r�SpinboxrJrmr&r&r'r eszSpinboxTest.createcCsp|j��}|j��}|d}|dd}|�|j�||�d�|jjd||d�|jjd||d�|j��dS)Nr5rNz.*uparrow\Zr�r�r��r�rTrUr�rRr�r��r$rErir�r�r&r&r'�_click_increment_arrowhs

z"SpinboxTest._click_increment_arrowcCsp|j��}|j��}|d}|dd}|�|j�||�d�|jjd||d�|jjd||d�|j��dS)Nr5rN�r�r�r�r�r�r�r&r&r'�_click_decrement_arrowrs

z"SpinboxTest._click_decrement_arrowcs�g��fdd�|jd<|j��|��|j��|���|��|�t��d�d|jd<|j��|��|��|j��|�t��d�dS)Ncs
��d�Sr�r�r&r�r&r'r�r�z4SpinboxTest.test_configure_command.<locals>.<lambda>r�rNr)r�rQr�r�r�r!r�r�r0r&r�r'�test_configure_command|s





z"SpinboxTest.test_configure_commandcCsbd|jd<d|jd<|j�d�|j��|��|�|j��d�|��|�|j��d�dS)NrrHr5rJr��5)r�rrQr�r!r�r0r&r&r'rV�s


zSpinboxTest.test_configure_tocCsbd|jd<d|jd<|j�d�|j��|��|�|j��d�|��|�|j��d�dS)Nr�rHrYrJrNr)r�rrQr�r!r�r0r&r&r'rO�s


zSpinboxTest.test_configure_fromcCs�d|jd<d|jd<d|jd<|j�d�|j��|��|�|j��d�d	|jd<|j��|��|�|j��d
�dS)NrrHrYrJr�r�r�r�rN�3)r�rrQr�r!r�r�r0r&r&r'�test_configure_increment�s





z$SpinboxTest.test_configure_incrementcCs�|j�d�d|jd<|j��|��|j��}|�t|�d�|�|�d�d�d|jd<|j��|��|j��}|�d|v�|�t|�d�dS)Nr�z%10.3fr�rY�.rr)	r�rrQr�r�r!r�rtr�)r$r/r&r&r'�test_configure_format�s





z!SpinboxTest.test_configure_formatcCs�d|jd<d|jd<|j�d�d|jd<|j��|��|�|j��d�|��|�|j��d�d	|jd<|j��|��|�|j��d�dS)
NrYrJr�rHTr��10rF)r�rrQr�r!r�r�r0r&r&r'�test_configure_wrap�s





zSpinboxTest.test_configure_wrapcCs||�|jdtdkrdnd�|j|jdddd�|�|jdd�|�|jdd�|�|jdd�gd	�|jd<|j�d
�|j��|��|�|j��d�|��|�|j��d
�|jj	gd�d
�|�|jd|j
r�dnd�gd�|jd<|�|jd|j
�rdnd�gd�|jd<|�|jd|j
�r:dnd�tj|j
gd�d
�}|�|d|j
�rjdnd�|��dS)Nr�rr&rrrr7r	rr�rrrrrrrrrrrr)r!r�rr8rrQr�r�r�rrrr�rJr�)r$Zspin2r&r&r'r�sH��

���
�z!SpinboxTest.test_configure_values)r@rArBrpr�r�r�rHr r�r�r�rVrOr�r�r�rrcr&r&rLr'r�Us


r�cs�eZdZdZ�fdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Z�ZS)0�TreeviewTest)r�columnsrh�displaycolumnsrir2�
selectmoder�r:rkr�Zyscrollcommandcst���|jdd�|_dS)Nrro)rGrHr �tvr0rLr&r'rH
s
zTreeviewTest.setUpcKstj|jfi|��Sr*)rZTreeviewrJrmr&r&r'r szTreeviewTest.createcCs:|��}|j|dddd�|�|dd�|�|dd�dS)Nr��a b c�r�r5rr7rr�r}r&r&r'�test_configure_columnss
�z#TreeviewTest.test_configure_columnscCs�|��}d|d<|j|dddd�|�|dd�|j|dddd�|�|dd	�|j|dd
dd�|j|dd
dd�|j|dddd�dS)Nr�r�r�zb a c)r5r�rr7�#all)r�)rNr�r)r�r5r
zInvalid column index dr)r�rNrzColumn index 3 out of bounds)r�r[zColumn index -2 out of bounds)r r8r"r}r&r&r'�test_configure_displaycolumnss&
�
�
�
�
�z*TreeviewTest.test_configure_displaycolumnsc	Cs8|��}|j|ddddddd�|j|ddd	td�dS)
Nrir�r�rZ3cFrEr�r�)r rRr
r}r&r&r'r�+sz"TreeviewTest.test_configure_heightcCs|��}|�|dddd�dS)Nr�r�ZbrowseZextendedr�r}r&r&r'�test_configure_selectmode0s�z&TreeviewTest.test_configure_selectmodecCs^|��}|j|dddd�|�|dd�|�|dd�|j|dddd�|j|ddd	d�dS)
Nr�z
tree headings)�tree�headingsr7)r�r�r�)r�r�)r�r�r}r&r&r'r�5s
�z TreeviewTest.test_configure_showcCs�|j��|�|j�d�d�|j��|j�dd�}|j��}|�|�|j�|d�}|�|�dg|jd<|jj	ddd�|j�|dd�}|jj	ddd�}|j
s�t|�}|�|d|d|�|j�|d�}|�|j�|�d�dS)	Nrr�r�testr��2�rE�#0)r�rKr!r�rQr��get_childrenr�r��columnrrS)r$�item_idZchildrenr�Zbbox_column0Z
root_widthrqr&r&r'r�>s"




zTreeviewTest.test_bboxcCs�|�|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)Nr&rr�r)
r!r�r�r�r+r,Zset_childrenrVrWr)r$r�r,r-r&r&r'�
test_childrenWs
�zTreeviewTest.test_childrencCs�|�|j�d�t�|jr2|�|jjddd�t�|jjddd�|�|j�dd�|jr\dnd�|�|jjddd�|jr~dnd�|jtj	|jjddd�|�tj	|jjd�d	d
iddid
diddiddig}|D] }|jtj	|jjdfi|��q�dS)Nr�r�rYrEr��X��idr�Zunknown_optionz
some valueZstretchZwrongr�Zminwidth)
r+r�r�r2rrSr!rVrWr)r$Zinvalid_kwsr\r&r&r'�test_columnrs&����zTreeviewTest.test_columncCs�|�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�rr�)
rVrWrr�r�r�r!r�r��reattach)r$r��item2�item1r&r&r'�test_delete�s�zTreeviewTest.test_deletecCs�|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�|�t	j
|jjddd�|�t	j
|jjd�|�t	j
|jj|dd�|�t	j
|jj|dd�|j�||�|�|j��d�|�|j�|�d�dS)Nrr�r&ZnonexistentZotherparentr�)r�r�r��detachr!r�r��moverVrWr)r$r�r��prevr&r&r'�test_detach_reattach�s<

����z!TreeviewTest.test_detach_reattachcCsT|�|j�d�d�|�|j�d�d�|�|j�i�d�|�tj|jjd�dS)NZ	somethingFrT)r!r��existsrVrWrr0r&r&r'�test_exists�szTreeviewTest.test_existscCst|�|j��d�|j�dd�}|j�|�|�|j��|�|j�|�|�|j��d�|�tj|jjd�dS)Nrr�r^)r!r�r�r�r�rVrWr)r$r�r&r&r'�
test_focus�szTreeviewTest.test_focuscCs�|�|j�d�t�|jjddd�|�|j�dd�d�|�|jjddd�d�|jtj|jjddd�|jtj|jjddd�dS)Nr�r^r4rF)r�r�)r�)r+r��headingr2r!rVrWrr0r&r&r'�test_heading�s��zTreeviewTest.test_headingcs��fdd�}g��j���jjd�fdd�d��jjddd��j��|d	d	��sd��d
�g��jjj}�jjdt�jjddd��d���	|�jjj�|d	d	��s���d
�dS)NcsNtdkr2���j�|�d����j�||�d�t�j||��j��dS)N)rrr�r�)rr!r�Zidentify_columnZidentify_regionr
rQr�r0r&r'�simulate_heading_click�s
zBTreeviewTest.test_heading_callback.<locals>.simulate_heading_clickr�cs
��d�Sr�r�r&r�r&r'r��r�z4TreeviewTest.test_heading_callback.<locals>.<lambda>r�r�r�r5z>The command associated to the treeview heading wasn't invoked.)
r�rKr�r�rQrwr�Z_tclCommandsr.r!)r$r�Zcommandsr&)r$r�r'�test_heading_callback�s 




 
z"TreeviewTest.test_heading_callbackcCsL|�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)NZwhatrrr�r�)
rVrWrr�rtr!r�r�r�r�)r$r�r��c1�c2r&r&r'r}s&zTreeviewTest.test_indexc	Cs�|�tj|jjdd�|jtj|jjdddd�|jtj|jjdddd�|�|j�|jjdddd���|�|j�|jjdddd���|�tj|jjdd�|j�ddd	�}|�|d	�|�tj|jjddd	�|�tj|jjddtd	��d
}|jjdd|fd�}|�|j�	|d�|j
�r&|fn|�|�|jj	|dd�|j
�rL|fn|�|jj	||j�|jj	|dd��d�|�|jj	|dd�|j
�r�|fn|�|�
|j�	|�t�|jj	|dd�|�|jj	|dd��|jjddd
d|gd�}|�|jj	|dd�|j
�rdd|fnd|�|jj	|gd�|�|jj	|dd��|jj	|dd�|�|jj	|dd�|j
�rpdnd�|jjdddd||ffd�}|�|jj	|dd�|j
�r�dd||ffn
d||f�|�|jj	|jjdddd�dd�d�|�|jj	|jjdd|d�dd�|�|j�ddd�}|�|d�|j�ddd�}|�|d�|�tj|jjddd�|�tj|jjddd�dS)Nr�r�r)�openZpleaseTFZmiddlez
first-itemuábarr�r�rN��tagsrrz1 2 %s�r�rN)rrz1 2r�z%s %sz{a b c} {%s %s}z
Label herer4rr1gz0.0)rVrWrr�r�r�r�r!r�itemrrJZ	splitlistr+r2)r$Zitemidr/r�r&r&r'�test_insert_item4s���  ����$���
�
�
��
��zTreeviewTest.test_insert_itemcCs�|�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�|jj
dddd�|j�d�|�|j��d�|jj
ddd	d�|j�d	�|�|j��d
�|jj
dddd�|j�d�|�|j��d�|jj
ddd
d�|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�rr�r&�with spacesr�)r��{brace)r��
unicode€)r�sbytes€)ubytes€)rV�	TypeErrorr�Z	selectionrWrZ
selection_setZ
selection_addZselection_removeZselection_toggler�r!)r$r�r�r�r�Zc3r&r&r'�test_selection�sn



zTreeviewTest.test_selectioncCs�ddg|jd<|jjddddgd�}|�|j�|�ddd	��|j�|dd�|�|jj|dd�|jrjd
nd�dg|jd<|�|j�|�ddi�|j�|dd�|�|jj|dd�d�|�|jj|dd�|jr�d
nd�|j�|dd�|�|j�|d�|j�r
dnd�|�|jj|dd�|j�r.dnd�|�|j�|�|j�rRddinddi�|�tj|jj|d�|�tj|jj|dd�|�tj|jjd�dS)N�A�Br�rr�r�r5r)r�r�)r�r�za a)r�)r5r�zb a�{Z123)r�r�z123 aZnotme)	r�r�r!rr�rrVrWr)r$r�r&r&r'rc�s6�����zTreeviewTest.test_setc	s8g�|jjdddgd�}|jjdddgd�}|j�dd�fdd��|j�dd�fd	d��|j��|j��t�}t�}td
dd�D]@}t|�d
kr�q�|j�|�}|r�||vr�|�	|�|�	|�q�|�
t|�d
�|D]}t|jd
|�q�|�
t��d�t�ddd
��ddd
��D]}|�
|d��q dS)Nrr�Zcallr�r�cs
��d�Sr�r�r��Zeventsr&r'r��r�z,TreeviewTest.test_tag_bind.<locals>.<lambda>r�cs
��d�S)NrNr�r�r�r&r'r��r�rr�rYrNr�r�r�)
r�r�Ztag_bindrKrQrrvr�Zidentify_rowr%r!r
�zip)	r$r�r�Zpos_y�foundrxr�r�rr&r�r'�
test_tag_bind�s4

�

�


"zTreeviewTest.test_tag_bindcCs�|�t|jj�|jtj|jjddd�|jjddd�|�t|j�dd��d�|�t|jjddd��d�|�|j�d�t	�dS)Nr�Zblue)Zsky)r�r�)
rVr�r�Z
tag_configurerWrr!r.r+r2r0r&r&r'�test_tag_configures���zTreeviewTest.test_tag_configurecCs|jjddddgd�}|jjddddgd�}|�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)Nrr�zItem 1Ztag1)rFr�zItem 2Ztag2znon-existingZtag3r&)	r�r�rVr�Ztag_hasrr�r�r!)r$r�r�r&r&r'�test_tag_hasszTreeviewTest.test_tag_has)r@rArBrprHr r�r�r�r�r�r�r�r�r�r�r�r�r�r�r}r�r�rcr�r�r�rcr&r&rLr'r�s0	)
#LF  r�c@seZdZdZdZdd�ZdS)�
SeparatorTest)rrhr r:rkr#cKstj|jfi|��Sr*)rZ	SeparatorrJrmr&r&r'r *szSeparatorTest.createNrmr&r&r&r'r�"sr�c@seZdZdZdd�ZdS)�SizegripTest)rrhr:rkcKstj|jfi|��Sr*)rZSizegriprJrmr&r&r'r 5szSizegripTest.createNror&r&r&r'r�.sr�c@seZdZdd�Zdd�ZdS)�DefaultRootTestcCs|�tj�dSr*)�_test_widgetrrlr0r&r&r'�
test_frame;szDefaultRootTest.test_framecCs|�tj�dSr*)r�rr�r0r&r&r'�
test_label>szDefaultRootTest.test_labelN)r@rArBr�r�r&r&r&r'r�9sr��__main__)5ZunittestrWrrZtest.supportrrr�Ztest.test_ttk_textonlyrZtkinter.test.supportrrr	r
rZtkinter.test.widget_testsrr
rrrrrrZTestCaserCrdrfrqr�r�r�r�r�r�rr9r>rGrdZskipIfr�rlrnr�r�r�r�r�Z	tests_guir@�mainr&r&r&r'�<module>s�$.8!0}3i"�
R0 


�