
    4hh[                         S SK r S SKrS SKJr  S SKJrJrJr  S SKJrJ	r	  \" S5        Sr
 " S S\\ R                  5      r " S	 S
\	\ R                  5      r\S:X  a  \ R                  " 5         gg)    N)font)requires
gc_collect	ALWAYS_EQ)AbstractTkTestAbstractDefaultRootTestguiTkDefaultFontc                   f    \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rS rS rS rSrg)FontTest   c                    [         R                  R                  U 5         [        R                  " U R
                  [        SS9U l        g ! [        R                   a,    [        R                  " U R
                  [        SS9U l         g f = f)NTrootnameexistsF)	r   
setUpClass__func__r   Fontr   fontnametkinterTclError)clss    D/opt/python-3.13.8/usr/lib/python3.13/test/test_tkinter/test_font.pyr   FontTest.setUpClass   sc    !!**3/	MyychhXdKCH 	MyychhXeLCH	Ms   )A =B
Bc                    U R                   R                  5       nU R                  [        U5      1 Sk5        U HQ  nU R	                  U R                   R                  U5      X   5        U R	                  U R                   U   X   5        MS     S Hm  nU R                  X   [        5        U R                  U R                   R                  U5      [        5        U R                  U R                   U   [        5        Mo     U R                  (       a  [        O[        nS Ha  nU R                  X   U5        U R                  U R                   R                  U5      U5        U R                  U R                   U   U5        Mc     g 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_configureFontTest.test_configure   s$   ))%%'GL	NCTYY^^C0',?TYYs^W\:  /C!!',4!!$)).."5s;!!$))C.#6 / **34C!!',9!!$)).."5x@!!$))C.(; 5    c                    Sn [         R                  " U R                  USS9nU R                  UR                  S5      U5        A[        5         g ! [        R                   a#    [         R                  " U R                  USS9n Ncf = f)Nu   MS ゴシックT)r   r    r   Fr    )r   r   r   r   r   r'   r(   r   )r.   r    fs      r   test_unicode_familyFontTest.test_unicode_family&   su    .	G		tyyEA 	)62	  	G		tyyFA	Gs    A 4BBc                 H   U R                   R                  5       nU R                  [        U5      1 Sk5        U H0  nU R	                  U R                   R                  U5      X   5        M2     S HJ  nU R                  X   [        5        U R                  U R                   R                  U5      [        5        ML     U R                  (       a  [        O[        nS HB  nU R                  X   U5        U R                  U R                   R                  U5      U5        MD     g r   )	r   actualr%   r&   r'   r)   r*   r+   r,   r-   s       r   test_actualFontTest.test_actual0   s    ))""$GL	NCTYY--c2GLA .C!!',4!!$))"2"23"7= / **34C!!',9!!$))"2"23"7B 5r4   c                     U R                  U R                  R                  [        5        U R                  [	        U R                  5      [        5        g N)r'   r   r   r   r*   r.   s    r   	test_nameFontTest.test_name>   s2    2TYY2r4   c                 d   [         R                  " U R                  [        SS9n[         R                  " U R                  [        SS9nU R	                  X5        U R                  X5        U R                  XR                  5       5        U R                  US5        U R                  U[        5        [        R                  " 5       nU R                  UR                  5        [         R                  " U[        SS9nU R                  [        U5      [        U5      5        U R                  X5        g )NTr   r   )r   r   r   r   assertIsNotr'   assertNotEqualcopyr   r   Tk
addCleanupdestroyr*   )r.   font1font2root2font3s        r   test_equalityFontTest.test_equalityB   s    		tyyxE		tyyxE&&E::<0E1%	*

&		u8DAUSZ0E)r4   c                 b    U R                  U R                  R                  S5      [        5        g )Nabc)r)   r   measurer,   r?   s    r   test_measureFontTest.test_measureR   s!    dii//6<r4   c                 l   U R                   R                  5       nU R                  [        U5      1 Sk5        U Hw  nU R	                  U R                   R                  U5      X   5        U R                  X   [        5        U R                  U R                   R                  U5      [        5        My     g )N>   fixedascentdescent	linespace)r   metricsr%   r&   r'   r)   r,   )r.   rY   r0   s      r   test_metricsFontTest.test_metricsU   s    ))##%G7	9CTYY..s3W\B!!',4!!$))"3"3C"8#> r4   c                     [         R                  " U R                  5      nU R                  U[        5        U R                  U5        U H*  nU R                  U[        5        U R                  U5        M,     g r>   )r   familiesr   r)   tuple
assertTruer*   )r.   r]   r    s      r   test_familiesFontTest.test_families^   sV    ==+h.!F!!&#.OOF# r4   c                    [         R                  " U R                  5      nU R                  U[        5        U R                  U5        U H*  nU R                  U[        5        U R                  U5        M,     U R                  [        U5        g r>   )	r   namesr   r)   r^   r_   r*   assertInr   )r.   rc   r   s      r   
test_namesFontTest.test_namesf   sf    

499%eU+D!!$,OOD!  	h&r4   c                     [         R                  " [        U R                  S9nU R	                  U[         R
                  5        U R                  UR                  [        5        g )N)r   )r   
nametofontr   r   r)   r   r'   r   )r.   testfonts     r   test_nametofontFontTest.test_nametofonto   s>    ??8$))<h		21r4   c                 `    U R                  [        U R                  5      S[        < S35        g )Nz<tkinter.font.Font object >)r'   reprr   r   r?   s    r   	test_reprFontTest.test_reprt   s'    O9(QG	
r4    N)__name__
__module____qualname____firstlineno__classmethodr   r2   r7   r;   r@   rM   rR   rZ   r`   re   rj   ro   __static_attributes__rq   r4   r   r   r      sN    M M<"C3* =?$'2

r4   r   c                   &    \ rS rSrS rS rS rSrg)DefaultRootTestz   c                    U R                  [        [        R                  5        [        R
                  " 5       n[        R                  " 5       nU R                  U[        5        U R                  U5        U H*  nU R                  U[        5        U R                  U5        M,     UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r>   )assertRaisesRuntimeErrorr   r]   r   rF   r)   r^   r_   r*   rH   NoDefaultRoot)r.   r   r]   r    s       r   r`   DefaultRootTest.test_families|   s    ,6zz|==?h.!F!!&#.OOF#  	,6r4   c                    U R                  [        [        R                  5        [        R
                  " 5       n[        R                  " 5       nU R                  U[        5        U R                  U5        U H*  nU R                  U[        5        U R                  U5        M,     U R                  [        U5        UR                  5         [        R                  " 5         U R                  [        [        R                  5        g r>   )r|   r}   r   rc   r   rF   r)   r^   r_   r*   rd   r   rH   r~   )r.   r   rc   r   s       r   re   DefaultRootTest.test_names   s    ,

3zz|

eU+D!!$,OOD!  	h&,

3r4   c                    U R                  [        [        R                  [        5        [
        R                  " 5       n[        R                  " [        5      nU R                  U[        R                  5        U R                  UR                  [        5        UR                  5         [
        R                  " 5         U R                  [        [        R                  [        5        g r>   )r|   r}   r   rh   r   r   rF   r)   r   r'   r   rH   r~   )r.   r   ri   s      r   rj   DefaultRootTest.test_nametofont   s    ,Bzz|??8,h		21,Br4   rq   N)rr   rs   rt   ru   r`   re   rj   rw   rq   r4   r   ry   ry   z   s    74Cr4   ry   __main__)unittestr   r   test.supportr   r   r   test.test_tkinter.supportr   r   r   TestCaser   ry   rr   mainrq   r4   r   <module>r      sj       8 8 M l
~x00 l
^%C-x/@/@ %CP zMMO r4   