
    /hht                        S r SSKJr  SSKrSSKJr  SSKrSSKJ	r	  SSK
Jr  1 SkrS1r\\-  rS rS	 r " S
 S\R"                  5      r " S S\R"                  5      r " S S\R"                  5      r\S:X  a  \R,                  " SS9  gg)z%Test macosx, coverage 45% on Windows.    )macosxN)requires)FileList>   cocoacarbonxquartzotherc                  $    [         R                  qg N)r   _tk_typeorig_tktype     F/opt/python-3.13.8/usr/lib/python3.13/idlelib/idle_test/test_macosx.pysetUpModuler      s    //Kr   c                  "    [         [        l        g r   )r   r   r   r   r   r   tearDownModuler      s	    !FOr   c                   >    \ rS rSrSr\S 5       r\S 5       rS rSr	g)InitTktypeTest   zTest _init_tk_type.c                     [        S5        [        R                  " 5       U l        U R                  R	                  5         [
        R                  U l        g )Ngui)r   tkTkrootwithdrawr   platformorig_platformclss    r   
setUpClassInitTktypeTest.setUpClass   s2    557"OOr   c                     U R                   R                  5         U R                   R                  5         U ? U R                  [        l        g r   )r   update_idletasksdestroyr   r   r   r   s    r   tearDownClassInitTktypeTest.tearDownClass"   s4    !!#H++r   c                     S[         4S[        44 Hh  u  pU R                  US9   U[        l        S[        l        [        R                  " 5         U R                  [        R
                  U5        SSS5        Mj     g! , (       d  f       M|  = f)z<Test that _init_tk_type sets _tk_type according to platform.darwinr	   )r   N)alltypesnontypessubTestr   r   r   _init_tk_typeassertIn)selfr   typess      r   test_init_sets_tktype$InitTktypeTest.test_init_sets_tktype)   sg     ((3gx5HHOHx0"*"&$$&foou5	 10  I00s   AA>>
B	r   N)
__name__
__module____qualname____firstlineno____doc__classmethodr!   r&   r1   __static_attributes__r   r   r   r   r      s0    , , , ,6r   r   c                       \ rS rSrSr\R                  S4\R                  S4\R                  S4\R                  S44r
\R                  " S5      S 5       rS	 rS
rg)IsTypeTkTest3   z*Test each of the four isTypeTk predecates.r   r   r   r   r   zidlelib.macosx._init_tk_typec                     S[         l        U R                   HO  u  p#U R                  US9   U" 5         U R	                  UR
                  5        UR                  5         SSS5        MQ     g! , (       d  f       Mc  = f)zBTest that each isTypeTk calls _init_tk_type when _tk_type is None.N)func)r   r   isfuncsr,   
assertTruecalled
reset_mock)r/   mockinitr?   whentrues       r   test_is_calls_initIsTypeTkTest.test_is_calls_init;   sY     "llND4(0##% )( +((s   3A,,
A;	c                    U R                    H^  u  p[         HO  nU R                  XUS9   U[        l        X2;   a  U R
                  OU R                  " U" 5       5        SSS5        MQ     M`     g! , (       d  f       Mg  = f)z,Test that each isTypeTk return correct bool.)r?   rE   tktypeN)r@   r*   r,   r   r   rA   assertFalse)r/   r?   rE   rI   s       r   test_isfuncsIsTypeTkTest.test_isfuncsE   sd    "llND"\\tv\N&,FO(.(:T__@P@PP&*f. ON # +NNs   4A00
A?r   N)r3   r4   r5   r6   r7   r   isAquaTk
isCarbonTk	isCocoaTk	isXQuartzr@   mockpatchrF   rK   r9   r   r   r   r;   r;   3   sf    0!45!!H.  7,  9.G 
ZZ./& 0&.r   r;   c                   h    \ rS rSrSr\S 5       r\S 5       r\R                  " S5      S 5       r
Srg)		SetupTestO   zTest setupApp.c                    ^ [        S5        [        R                  " 5       U l        U R                  R	                  5         U4S jmTU R                  l        g )Nr   c                    > g r   r   )tkpathr?   cmds     r   rY   !SetupTest.setUpClass.<locals>.cmdW   s    r   )r   r   r   r   r   createcommand)r    rY   s    @r   r!   SetupTest.setUpClassR   s:    557	/ "%r   c                 p    U R                   R                  5         U R                   R                  5         U ? g r   )r   r$   r%   r   s    r   r&   SetupTest.tearDownClass\   s'    !!#Hr   zidlelib.macosx.overrideRootMenuc                 D   U R                   n[        U5      n[         Hm  nU R                  US9   U[        l        [        R                  " X#5        US;   a  U R                  UR                  5        UR                  5         SSS5        Mo     g! , (       d  f       M  = f)z/Call setupApp with each possible graphics type.)rI   r=   N)
r   r   r*   r,   r   r   setupApprA   rB   rC   )r/   overrideRootMenur   flistrI   s        r   test_setupappSetupTest.test_setupappb   sx     yyFV,"(,00OO$4$;$;< ++- -, ,,s   AB
B	r   N)r3   r4   r5   r6   r7   r8   r!   r&   rQ   rR   rc   r9   r   r   r   rT   rT   O   sI    % %  
 
ZZ12
. 3
.r   rT   __main__   )	verbosity)r7   idlelibr   unittesttest.supportr   tkinterr   unittest.mockrQ   idlelib.filelistr   mactypesr+   r*   r   r   TestCaser   r;   rT   r3   mainr   r   r   <module>rq      s    '   !   %)9h"
"6X&& 66.8$$ .8.!! .B zMMA r   