
    z%i                         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	m
Z
  ed       g dZ G d d	e	e j                        Zed
k(  r e j                          yy)    N)ttk)support)requires)AbstractTkTestget_tk_patchlevelgui).ComboboxPopdownFrameHeadingzHorizontal.TProgressbarzHorizontal.TScaleItemSashTButtonTCheckbutton	TComboboxTEntryTLabelframezTLabelframe.LabelTMenubutton	TNotebookzTNotebook.Tab
ToolbuttonTProgressbarTRadiobuttonTreeviewTScale
TScrollbarTSpinboxzVertical.TProgressbarzVertical.TScalec                   H     e Zd Z fdZd Zd Zd Zd Zd Zd Z	d Z
 xZS )		StyleTestc                 j    t         |           t        j                  | j                        | _        y )N)supersetUpr   Stylerootstyle)self	__class__s    L/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_ttk/test_style.pyr    zStyleTest.setUp   s     YYtyy)
    c                     | j                   }|j                  dd       | j                  |j                  dd      d       | j                  |j                  d      t               y )Nr   yellow
backgroundr+   )r#   	configureassertEqualassertIsInstancedictr$   r#   s     r&   test_configurezStyleTest.test_configure   sR    

	h7LA	eooi8$?r'   c                 0   | j                   }dgdgfD ]  }| j                  |      5  |j                  dg |dg       dg}| j                  |j                  dd      |       |j                  d      }| j	                  |t
               | j                  |d   |       d d d         d	d
gdgdgfD ]  }| j                  |      5  |j                  dg |dg       dg}| j                  |j                  dd      |       |j                  d      }| j	                  |t
               | j                  |d   |       d d d         g dgdgfD ]  }| j                  |      5  |j                  dg |dg       dg}| j                  |j                  dd      |       |j                  d      }| j	                  |t
               | j                  |d   |       d d d         y # 1 sw Y   xY w# 1 sw Y   SxY w# 1 sw Y   xY w)Nactive)r3   )statesr   whiter*   )r3   r5   r+   pressed	!disabledzpressed !disabled)r6   r7   black)r6   r7   r8     grey)r;   )r#   subTestmapr-   r.   r/   )r$   r#   r4   expectedms        r&   test_mapzStyleTest.test_map$   s5   

  j;-/ 	<FV, <		)1C61C71C0D	E/0  9l!CXNIIi(%%a.  <(;< <	< !+.1D0EH`Gaa 	<FV, <		)1C61C71C0D	E=>  9l!CXNIIi(%%a.  <(;< <	< 2$n 	<FV, <		)1B61B61B0C	D%;  9l!CXNIIi(%%a.  <(;< <	<'< << << <s&   A;G2A;G?,A;H2G<	?H		H	c                 @   | j                   }|j                  dd       |j                  ddg       | j                  |j	                  dd      d       | j                  |j	                  ddddg      d       | j                  |j	                  ddd	
      d	       y )Nr   r)   r*   )r3   r+   bluer+   r3   rB   optionnotdefinediknewit)default)r#   r,   r=   r-   lookupr0   s     r&   test_lookupzStyleTest.test_lookupF   s    

	h7		))I(J	Ki>Ii|$&'-	/i1C &  )	+r'   c                    | j                   }| j                  t        j                  |j                  d       |j	                  d      }|j	                  dd       | j                  |j	                  d      dddifg       |j	                  d|       | j                  |j	                  d      |       | j                  |j	                  d      t               | j                  t        j                  |j                  ddd	d
ifg       y )N
NotALayoutr   r9   nullstickynswer   nameoption
inexistent)r#   assertRaisestkinterTclErrorlayoutr-   r.   list)r$   r#   tv_styles      r&   test_layoutzStyleTest.test_layoutR   s    

'**ELL,G<<
+ 	Z$j1x()*	

 	Z*j18< 	ell95t< 	'**ELL*x./0	2r'   c                    | j                  t        j                  | j                  j                  d       | j                  j	                         }d }| j                  j                         D ]&  }||k7  s	|}| j                  j	                  |        n y | j                  ||k(         | j                  || j                  j	                         k7         | j                  j	                  |       y )Nnonexistingname)rP   rQ   rR   r#   	theme_usetheme_namesassertFalse)r$   
curr_theme	new_themethemes       r&   test_theme_usezStyleTest.test_theme_usei   s    '**DJJ,@,@	 ZZ))+
	ZZ++- 	E
"!	

$$U+		 y01djj&:&:&<<=

Z(r'   c           
      d   | j                   }| j                   j                         }| j                  | j                   j                  |       | j                   j                         D ]9  }| j                   j                  |       t        D ]  }|j                  |      }|s| j                  ||      5  t        j                  dk\  rt        d|||       |dv r$t        j                         d d dk(  r
	 d d d        ud| }| j                  |j                  |      d         |j
                  |fi | | j                  |j                  |      |       |j                         D ]'  \  }}| j                  |j                  ||      |       ) 	 d d d         < y # 1 sw Y   #xY w)Nr^   rM      r,   vistaxpnative      C.)r#   rY   
addCleanuprZ   CLASS_NAMESr,   r<   r   verboseprintsysgetwindowsversionr-   items	r$   r#   r\   r^   rM   rE   newnamekeyvalues	            r&   test_configure_custom_copyz$StyleTest.test_configure_custom_copy~   s   

ZZ))+


,,j9ZZ++- 	OEJJ  '# O//$/\\D\9 O!+k5$@!66 # 5 5 7 ;v E O O !#4&kG$$U__W%=tD#EOOG7w7$$U__W%=wG&-mmo O
U((#)FNOO O	O	OO Os   7AF%BF%%F/c           
         | j                   }| j                   j                         }| j                  | j                   j                  |       | j                   j                         D ]a  }| j                   j                  |       t        D ]9  }|j                  |      }|s| j                  ||      5  t        j                  dk\  rt        d|||       |dv r$t        j                         d d dk(  r
	 d d d        ud| }| j                  |j                  |      i         |j
                  |fi | |dk(  r#|dk(  rt        | j                        d	k  rd
g|d<   | j                  |j                  |      |       |j                         D ]'  \  }}| j                  |j                  ||      |       ) 	 d d d        < d y # 1 sw Y   KxY w)Nra   rb   r=   rc   rf   ri   altr	   )   rg   rh   )disabled1embossed)r#   rY   rj   rZ   rk   r=   r<   r   rl   rm   rn   ro   r-   r   r"   rp   rq   s	            r&   test_map_custom_copyzStyleTest.test_map_custom_copy   s   

ZZ))+


,,j9ZZ++- 	IEJJ  '# I))D/\\D\9 I!+eUD':!66 # 5 5 7 ;v E I I !#4&kG$$UYYw%7<EIIg11~$#+:KDII:VYb:b/@.A
+$$UYYw%7A&-mmo I
U((7C)@%HII I	I	II Is   7AGB<GG)__name__
__module____qualname__r    r1   r@   rG   rV   r_   ru   r|   __classcell__)r%   s   @r&   r   r      s/    *
@<D	+2.)*O4Ir'   r   __main__)unittestrn   rQ   r   testr   test.supportr   test.test_tkinter.supportr   r   rk   TestCaser   r}   mainr:   r'   r&   <module>r      s[     
    ! G \I 1 1 \I~ zHMMO r'   