
    z%it                        	 d dl mZ d dlZd dlmZ d dlZd dlmZ d dl	m
Z
 h dZdhZeez  Zd Zd Z G d	 d
ej                         Z G d dej                         Z G d dej                         Zedk(  r ej*                  d       yy)    )macosxN)requires)FileList>   cocoacarbonxquartzotherc                  $    t         j                  ay N)r   _tk_typeorig_tktype     Q/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/idle_test/test_macosx.pysetUpModuler      s    //Kr   c                  "    t         t        _        y r   )r   r   r   r   r   r   tearDownModuler      s	    !FOr   c                   4    e Zd Z	 ed        Zed        Zd Zy)InitTktypeTestc                     t        d       t        j                         | _        | j                  j	                          t
        j                  | _        y )Ngui)r   tkTkrootwithdrawr   platformorig_platformclss    r   
setUpClasszInitTktypeTest.setUpClass   s2    557"OOr   c                     | j                   j                          | j                   j                          | ` | j                  t        _        y r   )r   update_idletasksdestroyr   r   r   r   s    r   tearDownClasszInitTktypeTest.tearDownClass"   s4    !!#H++r   c                    	 dt         fdt        ffD ]j  \  }}| j                  |      5  |t        _        d t        _        t        j                          | j                  t        j
                  |       d d d        l y # 1 sw Y   wxY w)Ndarwinr	   )r   )alltypesnontypessubTestr   r   r   _init_tk_typeassertIn)selfr   typess      r   test_init_sets_tktypez$InitTktypeTest.test_init_sets_tktype)   s{    F ((3gx5HH 	6OHex0 6"*"&$$&foou5	6 6	66 6s   AB  B		N)__name__
__module____qualname__classmethodr    r$   r.   r   r   r   r   r      s0    , , , ,6r   r   c                       e Zd Z	 ej                  dfej
                  dfej                  dfej                  dffZ e	j                  d      d        Zd Zy)	IsTypeTkTestr   r   r   r   r   zidlelib.macosx._init_tk_typec                     	 d t         _        | j                  D ]R  \  }}| j                  |      5   |        | j	                  |j
                         |j                          d d d        T y # 1 sw Y   _xY w)N)func)r   r   isfuncsr)   
assertTruecalled
reset_mock)r,   mockinitr7   whentrues       r   test_is_calls_initzIsTypeTkTest.test_is_calls_init;   sl    L"ll 	&ND(4( &0##%& &	&& &s   3A//A8	c                     	 | j                   D ]_  \  }}t        D ]Q  }| j                  |||      5  |t        _         ||v r| j
                  n| j                   |              d d d        S a y # 1 sw Y   `xY w)N)r7   r=   tktype)r8   r'   r)   r   r   r9   assertFalse)r,   r7   r=   r@   s       r   test_isfuncszIsTypeTkTest.test_isfuncsE   s    6"ll 	.ND(" .\\thv\N .&,FOP((:T__@P@P&*f.. ..	.. .s   3A11A:N)r/   r0   r1   r   isAquaTk
isCarbonTk	isCocoaTk	isXQuartzr8   mockpatchr>   rB   r   r   r   r4   r4   3   sh    0!45!!H.  7,  9.G TZZ./& 0&.r   r4   c                   ^    e Zd Z	 ed        Zed        Z ej                  d      d        Zy)	SetupTestc                     t        d       t        j                         | _        | j                  j	                          fd| j                  _        y )Nr   c                      y r   r   )tkpathr7   cmds     r   rN   z!SetupTest.setUpClass.<locals>.cmdW   s    r   )r   r   r   r   r   createcommand)r   rN   s    @r   r    zSetupTest.setUpClassR   s:    557	/ "%r   c                 p    | j                   j                          | j                   j                          | ` y r   )r   r"   r#   r   s    r   r$   zSetupTest.tearDownClass\   s'    !!#Hr   zidlelib.macosx.overrideRootMenuc                 8   	 | j                   }t        |      }t        D ]m  }| j                  |      5  |t        _        t	        j                  ||       |dv r| j                  |j                         |j                          d d d        o y # 1 sw Y   zxY w)N)r@   r5   )
r   r   r'   r)   r   r   setupAppr9   r:   r;   )r,   overrideRootMenur   flistr@   s        r   test_setupappzSetupTest.test_setupappb   s    9yy 	.FV, ."(e,00OO$4$;$;< ++-. .	.. .s   ABB	N)	r/   r0   r1   r2   r    r$   rG   rH   rU   r   r   r   rJ   rJ   O   sK    % %  
 TZZ12
. 3
.r   rJ   __main__   )	verbosity)idlelibr   unittesttest.supportr   tkinterr   unittest.mockrG   idlelib.filelistr   mactypesr(   r'   r   r   TestCaser   r4   rJ   r/   mainr   r   r   <module>rb      s    '   !   %)9h"
"6X&& 66.8$$ .8.!! .B zHMMA r   