
    ;et                        	 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           dS dS )    )macosxN)requires)FileList>   cocoacarbonxquartzotherc                      t           j        ad S N)r   _tk_typeorig_tktype     4/usr/lib/python3.11/idlelib/idle_test/test_macosx.pysetUpModuler      s    /KKKr   c                  (    t           t          _        d S r   )r   r   r   r   r   r   tearDownModuler      s    !FOOOr   c                   B    e Zd Z	 ed             Zed             Zd ZdS )InitTktypeTestc                     t          d           t          j                    | _        | j                                         t
          j        | _        d S )Ngui)r   tkTkrootwithdrawr   platformorig_platformclss    r   
setUpClasszInitTktypeTest.setUpClass   s>    577"Or   c                     | j                                          | j                                          | ` | j        t          _        d S r   )r   update_idletasksdestroyr   r   r   r   s    r   tearDownClasszInitTktypeTest.tearDownClass"   s=    !!###H+r   c                 *   	 dt           fdt          ffD ]~\  }}|                     |          5  |t          _        d t          _        t          j                     |                     t          j        |           d d d            n# 1 swxY w Y   d S )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 	6 	6OHex00 6 6"*"&$&&&fou555	6 6 6 6 6 6 6 6 6 6 6 6 6 6 6	6 	6s   ABB	B	N)__name__
__module____qualname__classmethodr    r$   r.   r   r   r   r   r      sZ        , , [, , , [,6 6 6 6 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dS )	IsTypeTkTestr   r   r   r   r   zidlelib.macosx._init_tk_typec                    	 d t           _        | j        D ]k\  }}|                     |          5   |             |                     |j                   |                                 d d d            n# 1 swxY w Y   ld S )N)func)r   r   isfuncsr)   
assertTruecalled
reset_mock)r,   mockinitr7   whentrues       r   test_is_calls_initzIsTypeTkTest.test_is_calls_init;   s    L"l 	& 	&ND(4(( & &000##%%%& & & & & & & & & & & & & & &	& 	&s   9A55A9	<A9	c                     	 | j         D ]n\  }}t          D ]a}|                     |||          5  |t          _         ||v r| j        n| j         |                       d d d            n# 1 swxY w Y   bod S )N)r7   r=   tktype)r8   r'   r)   r   r   r9   assertFalse)r,   r7   r=   r@   s       r   test_isfuncszIsTypeTkTest.test_isfuncsE   s    6"l 	. 	.ND(" . .\\thv\NN . .&,FOP((:(:T__@P&*dff. . .. . . . . . . . . . . . . . ..	. 	.s   0A++A/2A/N)r/   r0   r1   r   isAquaTk
isCarbonTk	isCocoaTk	isXQuartzr8   mockpatchr>   rB   r   r   r   r4   r4   3   s        0!45!H. 7, 9.G TZ.//& & 0/&. . . . .r   r4   c                   n    e Zd Z	 ed             Zed             Z ej        d          d             ZdS )	SetupTestc                     t          d           t          j                    | _        | j                                         fd| j        _        d S )Nr   c                     d S 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   sZ    577	/ 	/ 	/ 	/ 	/ "%r   c                 n    | j                                          | j                                          | ` d S r   )r   r"   r#   r   s    r   r$   zSetupTest.tearDownClass\   s3    !!###HHHr   zidlelib.macosx.overrideRootMenuc                 J   	 | j         }t          |          }t          D ]}|                     |          5  |t          _        t	          j        ||           |dv r|                     |j                   |	                                 d d d            n# 1 swxY w Y   d S )N)r@   r5   )
r   r   r'   r)   r   r   setupAppr9   r:   r;   )r,   overrideRootMenur   flistr@   s        r   test_setupappzSetupTest.test_setupappb   s    9y 	. 	.FV,, . ."(e,,,000OO$4$;<<< ++---. . . . . . . . . . . . . . .	. 	.s   ABB	B	N)	r/   r0   r1   r2   r    r$   rG   rH   rU   r   r   r   rJ   rJ   O   st        % % [%   [
 TZ122
. 
. 32
. 
. 
.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      sW   '        ! ! ! ! ! !           % % % % % %)))9h" " "
" " "6 6 6 6 6X& 6 6 66. . . . .8$ . . .8. . . . .! . . .B zHMA r   