
   z&)\                       d dl Z d dlZd dlmZ d dlmZmZmZ d dlmZm	Z	  ed           dZ
 G d dee j                  Z G d	 d
e	e j                  Zedk    r e j                     dS dS )    N)font)requires
gc_collect	ALWAYS_EQ)AbstractTkTestAbstractDefaultRootTestguiTkDefaultFontc                   f    e Zd Ze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S )FontTestc                 
   t           j                            |            	 t          j        | j        t          d          | _        d S # t          j        $ r* t          j        | j        t          d          | _        Y d S w xY w)NTrootnameexistsF)	r   
setUpClass__func__r   Fontr   fontnametkinterTclError)clss    q/nix/store/c6yb989sl77467xxwhylnkph1pqyi47p-python3-3.11.15/lib/python3.11/tkinter/test/test_tkinter/test_font.pyr   zFontTest.setUpClass   s    !**3///	MychXdKKKCHHH 	M 	M 	MychXeLLLCHHHH	Ms   &A	 	5BBc                 J   | j                                         }|                     t          |          h d           |D ]]}|                     | j                             |          ||                    |                     | j         |         ||                    ^dD ]|}|                     ||         t                     |                     | j                             |          t                     |                     | j         |         t                     }| j        rt          nt          }dD ]m}|                     ||         |           |                     | j                             |          |           |                     | j         |         |           nd S N>   sizeslantfamilyweight	underline
overstrike)r   r   r   )r   r    r!   )
r   	configureassertGreaterEqualsetassertEqualcgetassertIsInstancestrwantobjectsintselfoptionskeysizetypes       r   test_configurezFontTest.test_configure   s   )%%''GLLL	N 	N 	N 	; 	;CTY^^C00'#,???TYs^WS\::::. 	7 	7C!!'#,444!!$).."5"5s;;;!!$)C.#6666*3334 	< 	<C!!'#,999!!$).."5"5x@@@!!$)C.(;;;;	< 	<    c                    d}	 t          j        | j        |d          }n1# t          j        $ r t          j        | j        |d          }Y nw xY w|                     |                    d          |           ~t                       d S )Nu   MS ゴシックT)r   r   r   Fr   )r   r   r   r   r   r%   r&   r   )r,   r   fs      r   test_unicode_familyzFontTest.test_unicode_family&   s    .	G	tyEEEAA 	G 	G 	G	tyFFFAAA	G))6222s   ! +AAc                 n   | j                                         }|                     t          |          h d           |D ]6}|                     | j                             |          ||                    7dD ]V}|                     ||         t                     |                     | j                             |          t                     W| j        rt          nt          }dD ]L}|                     ||         |           |                     | j                             |          |           Md S r   )	r   actualr#   r$   r%   r'   r(   r)   r*   r+   s       r   test_actualzFontTest.test_actual0   sB   )""$$GLLL	N 	N 	N 	B 	BCTY--c22GCLAAAA. 	> 	>C!!'#,444!!$)"2"23"7"7====*3334 	C 	CC!!'#,999!!$)"2"23"7"7BBBB	C 	Cr1   c                     |                      | j        j        t                     |                      t	          | j                  t                     d S N)r%   r   r   r   r(   r,   s    r   	test_namezFontTest.test_name>   s@    222TY22222r1   c                    t          j        | j        t          d          }t          j        | j        t          d          }|                     ||           |                     ||           |                     ||                                           |                     |d           |                     |t                     t          j
                    }|                     |j                   t          j        |t          d          }|                     t          |          t          |                     |                     ||           d S )NTr   r   )r   r   r   r   assertIsNotr%   assertNotEqualcopyr   r   Tk
addCleanupdestroyr(   )r,   font1font2root2font3s        r   test_equalityzFontTest.test_equalityB   s   	tyxEEE	tyxEEE&&&&&&E5::<<000E1%%%	***
&&&	u8DAAAUSZZ000E5)))))r1   c                 l    |                      | j                            d          t                     d S )Nabc)r'   r   measurer*   r:   s    r   test_measurezFontTest.test_measureR   s.    di//66<<<<<r1   c                    | j                                         }|                     t          |          h d           |D ]}|                     | j                             |          ||                    |                     ||         t                     |                     | j                             |          t                     d S )N>   fixedascentdescent	linespace)r   metricsr#   r$   r%   r'   r*   )r,   rQ   r.   s      r   test_metricszFontTest.test_metricsU   s    )##%%G777	9 	9 	9 	? 	?CTY..s33WS\BBB!!'#,444!!$)"3"3C"8"8#>>>>	? 	?r1   c                    t          j        | j                  }|                     |t                     |                     |           |D ]2}|                     |t                     |                     |           3d S r9   )r   familiesr   r'   tuple
assertTruer(   )r,   rT   r   s      r   test_familieszFontTest.test_families^   s    =++h...!!! 	$ 	$F!!&#...OOF####	$ 	$r1   c                 8   t          j        | j                  }|                     |t                     |                     |           |D ]2}|                     |t                     |                     |           3|                     t          |           d S r9   )	r   namesr   r'   rU   rV   r(   assertInr   )r,   rY   r   s      r   
test_nameszFontTest.test_namesf   s    
49%%eU+++ 	" 	"D!!$,,,OOD!!!!h&&&&&r1   c                     t          j        t          | j                  }|                     |t           j                   |                     |j        t                     d S )N)r   )r   
nametofontr   r   r'   r   r%   r   )r,   testfonts     r   test_nametofontzFontTest.test_nametofonto   sN    ?8$)<<<h	22211111r1   c                 h    |                      t          | j                  dt          d           d S )Nz<tkinter.font.Font object >)r%   reprr   r   r:   s    r   	test_reprzFontTest.test_reprt   s=    OOG(GGG	
 	
 	
 	
 	
r1   N)__name__
__module____qualname__classmethodr   r0   r4   r7   r;   rG   rK   rR   rW   r[   r_   rc    r1   r   r   r      s        M M [M< < <"  C C C3 3 3* * * = = =? ? ?$ $ $' ' '2 2 2

 
 
 
 
r1   r   c                        e Zd Zd Zd Zd ZdS )DefaultRootTestc                    |                      t          t          j                   t	          j                    }t          j                    }|                     |t                     |                     |           |D ]2}|                     |t                     |                     |           3|
                                 t	          j                     |                      t          t          j                   d S r9   )assertRaisesRuntimeErrorr   rT   r   r@   r'   rU   rV   r(   rB   NoDefaultRoot)r,   r   rT   r   s       r   rW   zDefaultRootTest.test_families|   s    ,666z||=??h...!!! 	$ 	$F!!&#...OOF####,66666r1   c                 4   |                      t          t          j                   t	          j                    }t          j                    }|                     |t                     |                     |           |D ]2}|                     |t                     |                     |           3| 
                    t          |           |                                 t	          j                     |                      t          t          j                   d S r9   )rl   rm   r   rY   r   r@   r'   rU   rV   r(   rZ   r   rB   rn   )r,   r   rY   r   s       r   r[   zDefaultRootTest.test_names   s    ,
333z||
eU+++ 	" 	"D!!$,,,OOD!!!!h&&&,
33333r1   c                    |                      t          t          j        t                     t          j                    }t          j        t                    }|                     |t          j                   | 	                    |j
        t                     |                                 t          j                     |                      t          t          j        t                     d S r9   )rl   rm   r   r]   r   r   r@   r'   r   r%   r   rB   rn   )r,   r   r^   s      r   r_   zDefaultRootTest.test_nametofont   s    ,BBBz||?8,,h	222111,BBBBBr1   N)rd   re   rf   rW   r[   r_   rh   r1   r   rj   rj   z   sF        7 7 74 4 4C C C C Cr1   rj   __main__)unittestr   r   test.supportr   r   r   tkinter.test.supportr   r   r   TestCaser   rj   rd   mainrh   r1   r   <module>rw      s           8 8 8 8 8 8 8 8 8 8 H H H H H H H H l
 l
 l
 l
 l
~x0 l
 l
 l
^%C %C %C %C %C-x/@ %C %C %CP zHMOOOOO r1   