a
    ¼3jD  ć                   @   s   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 ed g d¢Z
G dd	 d	e	e jZed
kr|e  ”  dS )é    N)Śttk)Śsupport)Śrequires)ŚAbstractTkTestZgui)Ś.ZComboboxPopdownFrameZHeadingzHorizontal.TProgressbarzHorizontal.TScaleZItemZSashŚTButtonZTCheckbuttonZ	TComboboxZTEntryZTLabelframezTLabelframe.LabelZTMenubuttonZ	TNotebookzTNotebook.TabZ
ToolbuttonZTProgressbarZTRadiobuttonŚTreeviewZTScaleZ
TScrollbarZTSpinboxzVertical.TProgressbarzVertical.TScalec                       sT   e Zd Z fddZdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
  ZS )Ś	StyleTestc                    s   t   ”  t | j”| _d S )N)ŚsuperŚsetUpr   ZStyleŚrootŚstyle)Śself©Ś	__class__© ś\/www/server/python_manager/versions/3.9.10/lib/python3.9/tkinter/test/test_ttk/test_style.pyr      s    
zStyleTest.setUpc                 C   s>   | j }|jddd |  | dd”d” |  | d”t” d S )Nr   Śyellow©Ś
backgroundr   )r   Ś	configureŚassertEqualŚassertIsInstanceŚdict©r   r   r   r   r   Śtest_configure   s    ’zStyleTest.test_configurec              	   C   są  | j }dgdgfD ]}| j|dj |jdg |¢dR gd dg}|  | dd”|” | d”}|  |t” |  |d |” W d    q1 s0    Y  qd	d
gdgdgfD ]}| j|dj |jdg |¢dR gd dg}|  | dd”|” | d”}|  |t” |  |d |” W d    q°1 s20    Y  q°g dgdgfD ]}| j|dj |jdg |¢dR gd dg}|  | dd”|” | d”}|  |t” |  |d |” W d    n1 sĪ0    Y  qLd S )NŚactive)r   )Śstatesr   Śwhiter   )r   r   r   Śpressedś	!disabledzpressed !disabled)r   r    Śblack)r   r    r!   Ś r   Śgrey)r#   )r   ŚsubTestŚmapr   r   r   )r   r   r   ZexpectedŚmr   r   r   Śtest_map$   s2    
0
2
zStyleTest.test_mapc                 C   sn   | j }|jddd |jddgd |  | dd”d” |  | ddddg”d” |  |jddd	d
d	” d S )Nr   r   r   )r   r   Śbluer   r   r(   ZoptionnotdefinedZiknewit)Śdefault)r   r   r%   r   Ślookupr   r   r   r   Śtest_lookupF   s    ’’’’zStyleTest.test_lookupc                 C   s   | j }|  tj|jd” | d”}| dd” |  | d”dddifg” | d|” |  | d”|” |  | d”t” |  tj|jddd	d
ifg” d S )NZ
NotALayoutr   r"   ZnullZstickyZnswer   ŚnameŚoptionZ
inexistent)r   ŚassertRaisesŚtkinterŚTclErrorZlayoutr   r   Ślist)r   r   Ztv_styler   r   r   Śtest_layoutR   s    
’’zStyleTest.test_layoutc                 C   s   |   tj| jjd” | j ” }d }| j ” D ] }||kr,|}| j |”  qRq,d S |  ||k” |  || j ” k” | j |” d S )NZnonexistingname)r.   r/   r0   r   Ś	theme_useŚtheme_namesZassertFalse)r   Ś
curr_themeZ	new_themeŚthemer   r   r   Śtest_theme_usei   s    ’
zStyleTest.test_theme_usec           	   
   C   s4  | j }| j  ” }|  | j j|” | j  ” D ]}| j  |” tD ]ģ}| |”}|sTq@| j||dø tjdkr|t	d||| |dv r¦t
 ” d d dkr¦W d    q@d| }|  | |”d ” |j|fi |¤ |  | |”|” | ” D ]\}}|  | ||”|” qīW d    q@1 s"0    Y  q@q*d S )N©r6   r,   é   r   ©ZvistaZxpnative©é   é   śC.)r   r3   Ś
addCleanupr4   ŚCLASS_NAMESr   r$   r   ŚverboseŚprintŚsysŚgetwindowsversionr   Śitems©	r   r   r5   r6   r,   r)   ZnewnameŚkeyŚvaluer   r   r   Śtest_configure_custom_copy~   s,    


’
z$StyleTest.test_configure_custom_copyc           	   
   C   s4  | j }| j  ” }|  | j j|” | j  ” D ]}| j  |” tD ]ģ}| |”}|sTq@| j||dø tjdkr|t	d||| |dv r¦t
 ” d d dkr¦W d    q@d| }|  | |”i ” |j|fi |¤ |  | |”|” | ” D ]\}}|  | ||”|” qīW d    q@1 s"0    Y  q@q*d S )Nr8   r9   r%   r:   r;   r>   )r   r3   r?   r4   r@   r%   r$   r   rA   rB   rC   rD   r   rE   rF   r   r   r   Śtest_map_custom_copy   s,    


’
zStyleTest.test_map_custom_copy)Ś__name__Ś
__module__Ś__qualname__r   r   r'   r+   r2   r7   rI   rJ   Ś__classcell__r   r   r   r   r	      s   "r	   Ś__main__)ZunittestrC   r/   r   Śtestr   Ztest.supportr   Ztkinter.test.supportr   r@   ZTestCaser	   rK   Śmainr   r   r   r   Ś<module>   s   
 