
   aeߢ                       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 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                     dS dS )    N)ttk)TclError)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                   x     e Zd Z fdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Z xZS )	StyleTestc                     t                                                       t          j        | j                  | _        d S N)supersetUpr   Stylerootstyle)self	__class__s    n/nix/store/c6yb989sl77467xxwhylnkph1pqyi47p-python3-3.11.15/lib/python3.11/tkinter/test/test_ttk/test_style.pyr"   zStyleTest.setUp   s+    Yty))


    c                     | j         }|                    dd           |                     |                    dd          d           |                     |                    d          t                     d S )Nr   yellow
backgroundr-   )r%   	configureassertEqualassertIsInstancedictr&   r%   s     r(   test_configurezStyleTest.test_configure   sr    
	h777LAA	 	 	eooi88$?????r)   c                    | j         }dgdgfD ]}|                     |          5  |                    dg |dR g           dg}|                     |                    dd          |           |                    d          }|                     |t
                     |                     |d         |           d d d            n# 1 swxY w Y   d	d
gdgdgfD ]}|                     |          5  |                    dg |dR g           dg}|                     |                    dd          |           |                    d          }|                     |t
                     |                     |d         |           d d d            n# 1 swxY w Y   g dgdgfD ]}|                     |          5  |                    dg |dR g           dg}|                     |                    dd          |           |                    d          }|                     |t
                     |                     |d         |           d d d            n# 1 swxY w Y   d S )Nactive)r5   )statesr   whiter,   )r5   r7   r-   pressed	!disabledzpressed !disabled)r8   r9   black)r8   r9   r:     grey)r=   )r%   subTestmapr/   r0   r1   )r&   r%   r6   expectedms        r(   test_mapzStyleTest.test_map%   sf   
  j;-/ 	< 	<FV,, < <		)1C61C71C1C0D	EEE/0  9l!C!CXNNNIIi((%%a...  <(;;;< < < < < < < < < < < < < < < !+.1D0EH`Gaa 	< 	<FV,, < <		)1C61C71C1C0D	EEE=>  9l!C!CXNNNIIi((%%a...  <(;;;< < < < < < < < < < < < < < < 2$n 	< 	<FV,, < <		)1B61B61B1B0C	DDD%;  9l!C!CXNNNIIi((%%a...  <(;;;< < < < < < < < < < < < < < <	< 	<s8   BC		C	C	6BFF	 F	BI''I+	.I+	c                 x   | j         }|                    dd           |                    ddg           |                     |                    dd          d           |                     |                    ddddg          d           |                     |                    ddd	
          d	           d S )Nr   r+   r,   )r5   r-   bluer-   r5   rD   optionnotdefinediknewit)default)r%   r.   r?   r/   lookupr2   s     r(   test_lookupzStyleTest.test_lookupG   s    
	h777		))I(J	KKKi>>IIIi|$& &'-	/ 	/ 	/i1C &   )	+ 	+ 	+ 	+ 	+r)   c                 D   | 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 )N
NotALayoutr   r;   nullstickynswer   nameoption
inexistent)r%   assertRaisestkinterr   layoutr/   r0   list)r&   r%   tv_styles      r(   test_layoutzStyleTest.test_layoutS   s   
'*EL,GGG<<
++ 	Z$$$j11x()*	
 	
 	

 	Z***j118<<< 	ell955t<<< 	'*EL*x./0	2 	2 	2 	2 	2r)   c                    |                      t          j        | j        j        d           | j                                        }d }| j                                        D ]&}||k    r|}| j                            |            n'd S |                     ||k               |                     || j                                        k               | j                            |           d S )Nnonexistingname)rR   rS   r   r%   	theme_usetheme_namesassertFalse)r&   
curr_theme	new_themethemes       r(   test_theme_usezStyleTest.test_theme_usej   s    '*DJ,@	 	 	 Z))++
	Z++-- 	 	E
""!	
$$U+++ # Fy0111dj&:&:&<&<<===
Z(((((r)   c           
         | j         }| j                                         }|                     | j         j        |           | j                                         D ]l}| j                             |           t          D ]F}|                    |          }|s|                     ||          5  t          j        dk    rt          d|||           |dv r,t          j                    d d         dk    r	 d d d            d| }|                     |                    |          d             |j        |fi | |                     |                    |          |           |                                D ]/\  }}|                     |                    ||          |           0	 d d d            n# 1 swxY w Y   Hnd S )Nr_   rO      r.   vistaxpnative      C.)r%   rZ   
addCleanupr[   CLASS_NAMESr.   r>   r   verboseprintsysgetwindowsversionr/   items	r&   r%   r]   r_   rO   rG   newnamekeyvalues	            r(   test_configure_custom_copyz$StyleTest.test_configure_custom_copy~   sR   
Z))++

,j999Z++-- 	O 	OEJ  '''# O O//$// \\D\99 O O!++k5$@@@!666 # 5 7 7 ;v E E O O O O O O O *4kkG$$U__W%=%=tDDD#EOG77w777$$U__W%=%=wGGG&-mmoo O O
U((#)F)FNNNNOO O O O O O O O O O O O O O O	O	O 	Os   0AF9B)F99F= F=c           
         | j         }| j                                         }|                     | j         j        |           | j                                         D ]}| j                             |           t          D ]p}|                    |          }|s|                     ||          5  t          j        dk    rt          d|||           |dv r,t          j                    d d         dk    r	 d d d            d| }|                     |                    |          i             |j        |fi | |dk    r$|dk    rt          | j                  d	k     rd
g|d<   |                     |                    |          |           |                                D ]/\  }}|                     |                    ||          |           0	 d d d            n# 1 swxY w Y   rd S )Nrb   rc   r?   rd   rg   rj   altr
   )   rh   ri   )disabled1embossed)r%   rZ   rk   r[   rl   r?   r>   r   rm   rn   ro   rp   r/   r   r$   rq   rr   s	            r(   test_map_custom_copyzStyleTest.test_map_custom_copy   s   
Z))++

,j999Z++-- 	I 	IEJ  '''# I I))D// \\D\99 I I!++eUD':::!666 # 5 7 7 ;v E E I I I I I I I *4kkG$$UYYw%7%7<<<EIg11111~~$#++:KDI:V:VYb:b:b/@.A
+$$UYYw%7%7AAA&-mmoo I I
U((7C)@)@%HHHHII I I I I I I I I I I I I I I	I	I 	Is   0AG#CG##G'*G'c                 R   | j         }|                                }|                     |t                     |D ]m}|                     |t                     |                    |          }|                     |t                     |D ]}|                     |t                     nd S r    )r%   element_namesassertNotIsInstancestrr0   element_options)r&   r%   r   rO   r   optnames         r(   test_element_optionszStyleTest.test_element_options   s    
++--  444! 	4 	4D!!$,,,#33D99O$$_c:::* 4 4%%gs33334		4 	4r)   c                 6   | j         }|                     t                    5  |                    d           d d d            n# 1 swxY w Y   |                     t
          d          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nplain.newelemzNo such element type spamspam)r%   rR   	TypeErrorelement_createassertRaisesRegexr   r2   s     r(   test_element_create_errorsz$StyleTest.test_element_create_errors   s   
y)) 	2 	2  111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2##H.IJJ 	: 	:  &999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s#   AAA*BBBc                    | j         }|                    ddd           |                     d|                                           |                    dddd           |                     d|                                           d S )Nzplain.backgroundfromrG   zplain.arrow
rightarrow)r%   r   assertInr   r2   s     r(   test_element_create_fromz"StyleTest.test_element_create_from   s    
/CCC(%*=*=*?*?@@@]FI|LLLmU%8%8%:%:;;;;;r)   c                 :   | j         }|                     t                    5  |                    dd           d d d            n# 1 swxY w Y   |                     t
          d          5  |                    ddd           d d d            d S # 1 swxY w Y   d S )Nr   r   ztheme "spam" doesn't existr   )r%   rR   
IndexErrorr   r   r   r2   s     r(   test_element_create_from_errorsz)StyleTest.test_element_create_from_errors   s/   
z** 	: 	:  &999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:##H.KLL 	B 	B  &&AAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs#   AA	A	+BBBc           	         | j         }t          j        | j        dd          }|                    dd|           |                     d|                                           |                    ddddifg           t          j	        | j        d	          }|
                    d
d           |                     |                                d           |                     |                                d           t          j        dd          }t          j        | j        |dd          }t          j        | j        |dd          }t          j        | j        |dd          }|                    dd|d|fd|fdd           |                     d|                                           |                    ddddifg           t          j        | j        d	          }|
                    d
d           |                     |                                d           |                     |                                d           d S )N   
   masterwidthheightblockimage
TestLabel1rM   newsr%   Tbothexpandfillz
python.xbm
imghdrdata)subdirr+   rD   )r   file
foregroundr-   r7   r:   zButton.buttonr8   r5   )rc      we)borderrM   Button   )r%   rS   
PhotoImager$   r   r   r   rT   r   Labelpackr/   winfo_reqwidthwinfo_reqheightr   findfileBitmapImager   )	r&   r%   r   aimgfileimg1img2img3bs	            r(   test_element_create_imagez#StyleTest.test_element_create_image   s_   
"$)2bIIIWgu555gu2244555\Wx.@$A#BCCCIdi|444	d((())++R000**,,b111"<EEE"$)'.66K K K"$)'.4K K K"$)'.5'K K K_g!It#4x6F$*4 	 	9 	9 	9 	ou':':'<'<===X8V2D EFGGGJty111	d((())++R000**,,b11111r)   c           	         | j         }t          j        | j        dd          }|                     t
                    5  |                    dd           d d d            n# 1 swxY w Y   |                     t                    5  |                    dd|d           d d d            n# 1 swxY w Y   |                     t                    5  |                    dd|d           d d d            n# 1 swxY w Y   | 	                    t          d          5  |                    dd|d|f           d d d            n# 1 swxY w Y   | 	                    t          d          5  |                    dd|d|f           d d d            n# 1 swxY w Y   |                     t                    5  |                    dd|d	d|f           d d d            n# 1 swxY w Y   |                     t                    5  |                    dd|dd
|f           d d d            n# 1 swxY w Y   | 	                    t          d          5  |                    dd|d           d d d            d S # 1 swxY w Y   d S )Nr   r   block2r   ri   r<   zInvalid state namer   r8   selectedz
bad option)r   )r%   rS   r   r$   rR   r   r   r   
ValueErrorr   r   )r&   r%   r   s      r(    test_element_create_image_errorsz*StyleTest.test_element_create_image_errors   s   
"$)2bIIIz** 	4 	4  7333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4y)) 	> 	>  7E1===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>z** 	? 	?  7E2>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?##H.BCC 	L 	L  7EFE?KKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L##H.BCC 	G 	G  7EAu:FFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	Gy)) 	R 	R  7EIq%;PQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	Ry)) 	S 	S  7EAz5;QRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S##Hl;; 	C 	C  7E BBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   A!!A%(A%B++B/2B/C55C9<C9EE	E(FFF4GG #G H))H-0H-I66I:=I:c                 F   | j         }|                                }|                    d          }|                    d           |                     d|                                           |                    ddddgiddid	d
difgdd           |                     d|                                           |                    dd           |                     d|                                           |                    d           |                     |                                d           |                     |                    d          |           |                    d           |                     |                                d           |                     |                    dd          d           |                     |                    d          d	d
difg           |                    d           |                     |                                d           |                     |                    dd          d           |                     |                    d          d	d
difg           |                    |           d S )NTLabel
testtheme1
testtheme2element creater   rG   paddingr   elemrM   r   )r.   rT   )r   r   settings
testtheme3r<   )r   10r;   )	r%   rZ   rT   theme_creater   r[   r/   r   rH   )r&   r%   r]   curr_layouts       r(   test_theme_createzStyleTest.test_theme_create  s   
__&&
ll8,,<(((lE$5$5$7$7888<&(;='_"Xt$456 3
 3
 	 	 	 	lE$5$5$7$7888<666lE$5$5$7$7888%%%,,..333h//===%%%,,..	:::h	::DAAAh//6Hd;K2L1MNNN%%%,,..333h	::B???h//6Hd;K2L1MNNN
#####r)   c                 (   | j         }|                                }t          j        | j        dd          }d}|                    |dd|dddgidd|gid	d
dddddgiddd	dfddddddifgdfgdd           |                    |           |                     d|                                           |                     |	                    dd          d	           |                     |	                    dd           d!           |                     |	                    dd          d           |                     |	                    ddd"g          d           |                     |	                    ddd"d#g          d$           |                     |	                    ddd"d%g          d&           |                     |
                    d          dd	dd'fddd(dddifgdfg           t          j        | j        d)          }|                    d*d+,           |                     |                                d-           |                     |                                d           |                    |           d S ).Nr   r   
testtheme4r   r   x   d   )r   r   left)   r   r   rc   r+   )anchorr   r   r   )r8   red)r5   rz   rD   zTestWidget.blockr   )rM   sidezTestWidget.bordernswri   TestWidget.block2rM   rN   )rM   r   children)r.   r?   rT   )r   r   
TestWidgetr   r   r   r   r   z3 0 0 2r5   r8   r   rz   rD   )r   rM   r{   r   Tr   r      )r%   rZ   rS   r   r$   r   r   r   r/   rH   rT   r   r   r   r   r   )r&   r%   r]   r   r^   r   s         r(   test_theme_create_imagez!StyleTest.test_theme_create_image(  s2   
__&&
"$)2bIII 	9 7ESC3P3P"Q !7E"2#
 %+"*  !*6# (D&)I)IJ("'"#08V2DE%+ + 	 0
 0
 	 	 	@ 		"""gu2244555lH==vFFFlI>>	JJJlLAA8LLLlL'/j2 23;	= 	= 	=lL'/&;= =>C	E 	E 	ElL'/&<> >?E	G 	G 	Gl33#f%E%EF$#!"5&7I!J K' ' 	 	 	 Idi|444	d((())++S111**,,c222
#####r)   )__name__
__module____qualname__r"   r3   rB   rI   rW   r`   rv   r}   r   r   r   r   r   r   r   r   __classcell__)r'   s   @r(   r   r      s*       * * * * *
@ @ @< < <D	+ 	+ 	+2 2 2.) ) )(O O O4I I I6	4 	4 	4: : :< < <B B B2 2 2<C C C(!$ !$ !$F?$ ?$ ?$ ?$ ?$ ?$ ?$r)   r   __main__)unittestro   rS   r   r   testr   test.supportr   tkinter.test.supportr   r   rl   TestCaser   r   mainr<   r)   r(   <module>r      s     



                    ! ! ! ! ! ! B B B B B B B B   Q$ Q$ Q$ Q$ Q$ 1 Q$ Q$ Q$h
 zHMOOOOO r)   