Ë
    #´˜jt  ã                   ó  — d Z 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)z%Test macosx, coverage 45% on Windows.é    )ÚmacosxN)Úrequires)ÚFileList>   ÚcocoaÚcarbonÚxquartzÚotherc                  ó$   — t         j                  ay ©N)r   Ú_tk_typeÚorig_tktype© ó    ú/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	   € Ü!„F…Or   c                   ó6   — e Zd ZdZed„ «       Zed„ «       Zd„ Zy)ÚInitTktypeTestzTest _init_tk_type.c                 óª   — 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   € ä�ŒÜ—5‘5“7ˆŒØ�‰×ÑÔÜ"ŸO™OˆÕ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)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_tktypez$InitTktypeTest.test_init_sets_tktype)   si   € à (¬(Ð3°g¼xÐ5HÓH‰OˆH�eØ—‘ x�Õ0Ø"*””Ø"&””Ü×$Ñ$Ô&Ø—‘œfŸo™o¨uÔ5÷	 1Ð0ñ  Iß0Ð0ús   ©AA?Á?B	N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr    r$   r.   r   r   r   r   r      s0   „ Ùàñ,ó ð,ð ñ,ó ð,ó6r   r   c                   ó²   — e Zd 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	)
ÚIsTypeTkTestz*Test each of the four isTypeTk predecates.©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)zBTest that each isTypeTk calls _init_tk_type when _tk_type is None.N)Úfunc)r   r   Úisfuncsr)   Ú
assertTrueÚcalledÚ
reset_mock)r,   Úmockinitr8   Úwhentrues       r   Útest_is_calls_initzIsTypeTkTest.test_is_calls_init;   s[   € ð ŒŒØ"Ÿlœl‰NˆD�(Ø—‘ 4�Õ(Ù”Ø—‘ §¡Ô0Ø×#Ñ#Ô%÷ )Ð(ñ +ß(Ð(ús   °3A.Á.A7	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)z,Test that each isTypeTk return correct bool.)r8   r>   ÚtktypeN)r9   r'   r)   r   r   r:   ÚassertFalse)r,   r8   r>   rA   s       r   Útest_isfuncszIsTypeTkTest.test_isfuncsE   si   € à"Ÿlœl‰NˆD�(ß"�Ø—\‘\ t°hÀv�\ÕNØ&,”F”OØP¨°(Ñ(:�T—_’_À×@PÑ@PÙ&*£fô.÷ OÐNñ #ñ +çNÐNús   °3A0Á0A9N)r/   r0   r1   r2   r   ÚisAquaTkÚ
isCarbonTkÚ	isCocoaTkÚ	isXQuartzr9   ÚmockÚpatchr?   rC   r   r   r   r5   r5   3   sh   „ Ù0Ø—‘Ð!4Ð5Ø×!Ñ! HÐ.Ø× Ñ  7Ð,Ø× Ñ  9Ð.ð€Gð €T‡Z�ZÐ.Ó/ñ&ó 0ð&ó.r   r5   c                   ó`   — e Zd ZdZed„ «       Zed„ «       Z ej                  d«      d„ «       Z	y)Ú	SetupTestzTest setupApp.c                 ó®   ‡— t        d«       t        j                  «       | _        | j                  j	                  «        ˆfd„Š‰| j                  _        y )Nr   c                 óX   •— t        | t        «      sJ ‚t        |t        ‰«      «      sJ ‚y r   )Ú
isinstanceÚstrÚtype)Útkpathr8   Úcmds     €r   rR   z!SetupTest.setUpClass.<locals>.cmdW   s'   ø€ Ü˜f¤cÔ*Ð*Ð*Ü˜d¤D¨£IÔ.Ð.Ñ.r   )r   r   r   r   r   Úcreatecommand)r   rR   s    @r   r    zSetupTest.setUpClassR   s:   ø€ ä�ŒÜ—5‘5“7ˆŒØ�‰×ÑÔô	/ð "%ˆ�‰Õ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                 ó6  — | 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)z/Call setupApp with each possible graphics type.)rA   r6   N)
r   r   r'   r)   r   r   ÚsetupAppr:   r;   r<   )r,   ÚoverrideRootMenur   ÚflistrA   s        r   Útest_setupappzSetupTest.test_setupappb   sz   € ð �y‰yˆÜ˜“ˆßˆFØ—‘ V�Õ,Ø"(””Ü—‘  eÔ,ØÐ0Ñ0Ø—O‘OÐ$4×$;Ñ$;Ô<Ø ×+Ñ+Ô-÷ -Ð,ñ ß,Ð,ús   ³ABÂB	N)
r/   r0   r1   r2   r3   r    r$   rH   rI   rY   r   r   r   rK   rK   O   sK   „ Ùàñ%ó ð%ð ñó ðð
 €T‡Z�ZÐ1Ó2ñ
.ó 3ñ
.r   rK   Ú__main__é   )Ú	verbosity)r2   Úidlelibr   ÚunittestÚtest.supportr   Útkinterr   Úunittest.mockrH   Úidlelib.filelistr   Úmactypesr(   r'   r   r   ÚTestCaser   r5   rK   r/   Úmainr   r   r   Ú<module>rf      sŽ   ðÙ 'å Û Ý !Û Ý Ý %â)€Øˆ9€Ø�hÑ€ò"ò
"ô6�X×&Ñ&ô 6ô6.�8×$Ñ$ô .ô8.�×!Ñ!ô .ðB ˆzÒØ€H‡M�M˜AÖð r   