Ë
    #´˜j£<  ã                   ó  — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlZddlmZ ddlmZ  G d	„ d
ej                  «      Z G d„ dej                  «      Z G d„ dej                  e«      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ d ej                  e«      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)¬*«       yy)+a¼  Test query, coverage 93%.

Non-gui tests for Query, SectionName, ModuleName, and HelpSource use
dummy versions that extract the non-gui methods and add other needed
attributes.  GUI tests create an instance of each class and simulate
entries and button clicks.  Subclass tests only target the new code in
the subclass definition.

The appearance of the widgets is checked by the Query and
HelpSource htests.  These are run by running query.py.
é    )ÚqueryN©Úrequires)ÚExtraAssertions)ÚTkÚEND)Úmock)ÚVarc                   óB   — e Zd ZdZ G d„ d«      Zd„ Zd„ Zd„ Zd„ Zd„ Z	y	)
Ú	QueryTestzTest Query base class.c                   ó¢   — e Zd Zej                  j
                  Zej                  j                  Zej                  j                  Zd„ Zd„ Z	d„ Z
y)úQueryTest.Dummy_Queryc                 óT   — t        |¬«      | _        ddi| _        d | _        d| _        y )N©ÚvalueÚtextÚ F)r
   ÚentryÚentry_errorÚresultÚ	destroyed©ÚselfÚdummy_entrys     ú.lib/python3.12/idlelib/idle_test/test_query.pyÚ__init__zQueryTest.Dummy_Query.__init__"   s(   € Ü ;Ô/ˆDŒJØ &¨˜|ˆDÔØˆDŒKØ"ˆD�Nó    c                 ó"   — || j                   d<   y ©Nr   ©r   ©r   Úmessages     r   Ú	showerrorzQueryTest.Dummy_Query.showerror'   ó   € Ø'.ˆD×Ñ˜VÒ$r   c                 ó   — d| _         y ©NT)r   ©r   s    r   ÚdestroyzQueryTest.Dummy_Query.destroy)   s	   € Ø!ˆD�Nr   N)Ú__name__Ú
__module__Ú__qualname__r   ÚQueryÚentry_okÚokÚcancelr   r#   r(   © r   r   ÚDummy_Queryr      s<   „ à—;‘;×'Ñ'ˆØ�[‰[�^‰^ˆØ—‘×#Ñ#ˆò	#ò
	/ó	"r   r1   c                 óô   — | j                  d«      }| j                  |j                  «       d «       | j                  |j                  |j                  fd«       | j                  d|j                  d   «       y )NÚ ©NFz
blank liner   )r1   ÚassertEqualr-   r   r   ÚassertInr   ©r   Údialogs     r   Útest_entry_ok_blankzQueryTest.test_entry_ok_blank,   sa   € Ø×!Ñ! #Ó&ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø×Ñ˜&Ÿ-™-¨×)9Ñ)9Ð:¸MÔJØ�‰�l F×$6Ñ$6°vÑ$>Õ?r   c                 óÖ   — | j                  d«      }| j                  } ||j                  «       d«        ||j                  |j                  fd«        ||j
                  d   d«       y )Nú  good Úgoodr4   r   r   )r1   r5   r-   r   r   r   )r   r8   ÚEquals      r   Útest_entry_ok_goodzQueryTest.test_entry_ok_good2   s\   € Ø×!Ñ! )Ó,ˆØ× Ñ ˆÙˆf�o‰oÓ Ô(Ùˆv�}‰}˜f×.Ñ.Ð/°Ô?Ùˆf× Ñ  Ñ(¨"Õ-r   c                 ór  — | j                  d«      }t        j                  «       |j                  _        | j                  |j                  «       d «       | j                  |j                  j                  j                  «       |j                  `| j                  |j                  |j                  fd«       y )Nr   r4   )r1   r	   ÚMockr   Ú	focus_setr5   r.   Ú
assertTrueÚcalledr   r   r7   s     r   Útest_ok_blankzQueryTest.test_ok_blank9   s   € Ø×!Ñ! "Ó%ˆÜ!%§¡£ˆ�‰ÔØ×Ñ˜Ÿ™› dÔ+Ø�‰˜Ÿ™×.Ñ.×5Ñ5Ô6Ø�L‰LÐ"Ø×Ñ˜&Ÿ-™-¨×)9Ñ)9Ð:¸MÕJr   c                 ó¶   — | j                  d«      }| j                  |j                  «       d «       | j                  |j                  |j                  fd«       y )Nr<   )r<   T)r1   r5   r.   r   r   r7   s     r   Útest_ok_goodzQueryTest.test_ok_goodA   sG   € Ø×!Ñ! &Ó)ˆØ×Ñ˜Ÿ™› dÔ+Ø×Ñ˜&Ÿ-™-¨×)9Ñ)9Ð:¸NÕKr   c                 ó¶   — | j                  d«      }| j                  |j                  «       d «       | j                  |j                  |j                  fd«       y )Nzdoes not matterr&   )r1   r5   r/   r   r   r7   s     r   Útest_cancelzQueryTest.test_cancelF   sH   € Ø×!Ñ!Ð"3Ó4ˆØ×Ñ˜Ÿ™›¨$Ô/Ø×Ñ˜&Ÿ-™-¨×)9Ñ)9Ð:¸LÕIr   N)
r)   r*   r+   Ú__doc__r1   r9   r>   rD   rF   rH   r0   r   r   r   r      s,   „ Ù÷"ñ "ò @ò.òKòLó
Jr   r   c                   ó<   — e Zd ZdZ G d„ d«      Zd„ Zd„ Zd„ Zd„ Zy)	ÚSectionNameTestz#Test SectionName subclass of Query.c                   óJ   — e Zd Zej                  j
                  ZdgZd„ Zd„ Zy)ú!SectionNameTest.Dummy_SectionNameÚusedc                 ó8   — t        |¬«      | _        ddi| _        y ©Nr   r   r   ©r
   r   r   r   s     r   r   z*SectionNameTest.Dummy_SectionName.__init__R   ó   € Ü ;Ô/ˆDŒJØ &¨˜|ˆDÕr   c                 ó"   — || j                   d<   y r   r    r!   s     r   r#   z+SectionNameTest.Dummy_SectionName.showerrorU   r$   r   N)	r)   r*   r+   r   ÚSectionNamer-   Ú
used_namesr   r#   r0   r   r   ÚDummy_SectionNamerM   O   s$   „ Ø×$Ñ$×-Ñ-ˆØ�Xˆ
ò	,ó	/r   rV   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y ©Nr3   zno namer   ©rV   r5   r-   r6   r   r7   s     r   Útest_blank_section_namez'SectionNameTest.test_blank_section_nameX   sB   € Ø×'Ñ'¨Ó,ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰�i ×!3Ñ!3°FÑ!;Õ<r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NrN   Úuser   rY   r7   s     r   Útest_used_section_namez&SectionNameTest.test_used_section_name]   sB   € Ø×'Ñ'¨Ó/ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰�e˜V×/Ñ/°Ñ7Õ8r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NÚ goodgoodgoodgoodgoodgoodgoodgoodzlonger than 30r   rY   r7   s     r   Útest_long_section_namez&SectionNameTest.test_long_section_nameb   sC   € Ø×'Ñ'¨Ó1ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰Ð&¨×(:Ñ(:¸6Ñ(BÕCr   c                 ó¤   — | j                  d«      }| j                  |j                  «       d«       | j                  |j                  d   d«       y )Nr;   r<   r   r   )rV   r5   r-   r   r7   s     r   Útest_good_section_namez&SectionNameTest.test_good_section_nameg   sD   € Ø×'Ñ'¨	Ó2ˆØ×Ñ˜Ÿ™Ó*¨FÔ3Ø×Ñ˜×+Ñ+¨FÑ3°RÕ8r   N)	r)   r*   r+   rI   rV   rZ   r]   r`   rb   r0   r   r   rK   rK   L   s$   „ Ù)÷/ñ /ò=ò
9ò
Dó
9r   rK   c                   ó<   — e Zd ZdZ G d„ d«      Zd„ Zd„ Zd„ Zd„ Zy)	ÚModuleNameTestz"Test ModuleName subclass of Query.c                   óH   — e Zd Zej                  j
                  ZdZd„ Zd„ Zy)úModuleNameTest.Dummy_ModuleNamer   c                 ó8   — t        |¬«      | _        ddi| _        y rP   rQ   r   s     r   r   z(ModuleNameTest.Dummy_ModuleName.__init__s   rR   r   c                 ó"   — || j                   d<   y r   r    r!   s     r   r#   z)ModuleNameTest.Dummy_ModuleName.showerrorv   r$   r   N)	r)   r*   r+   r   Ú
ModuleNamer-   Útext0r   r#   r0   r   r   ÚDummy_ModuleNamerf   p   s"   „ Ø×#Ñ#×,Ñ,ˆØˆò	,ó	/r   rk   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y rX   ©rk   r5   r-   r6   r   r7   s     r   Útest_blank_module_namez%ModuleNameTest.test_blank_module_namey   sB   € Ø×&Ñ& sÓ+ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰�i ×!3Ñ!3°FÑ!;Õ<r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NÚ __name_xyz123_should_not_exist__z	not foundr   rm   r7   s     r   Útest_bogus_module_namez%ModuleNameTest.test_bogus_module_name~   sC   € Ø×&Ñ&Ð'IÓJˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰�k 6×#5Ñ#5°fÑ#=Õ>r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NÚ	itertoolszsource-basedr   rm   r7   s     r   Útest_c_source_namez!ModuleNameTest.test_c_source_nameƒ   sB   € Ø×&Ñ& {Ó3ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰�n f×&8Ñ&8¸Ñ&@ÕAr   c                 óD  — | j                  d«      }| j                  |j                  «       d«       | j                  |j                  d   d«       | j                  d«      }| j                  |j                  «       d«       | j                  |j                  d   d«       y )NÚidlelibú__init__.pyr   r   zidlelib.idlezidle.py)rk   ÚassertEndsWithr-   r5   r   r7   s     r   Útest_good_module_namez$ModuleNameTest.test_good_module_nameˆ   s†   € Ø×&Ñ& yÓ1ˆØ×Ñ˜FŸO™OÓ-¨}Ô=Ø×Ñ˜×+Ñ+¨FÑ3°RÔ8Ø×&Ñ& ~Ó6ˆØ×Ñ˜FŸO™OÓ-¨yÔ9Ø×Ñ˜×+Ñ+¨FÑ3°RÕ8r   N)	r)   r*   r+   rI   rk   rn   rq   rt   ry   r0   r   r   rd   rd   m   s$   „ Ù(÷/ñ /ò=ò
?ò
Bó
9r   rd   c                   ó6   — e Zd ZdZ G d„ d«      Zd„ Zd„ Zd„ Zy)ÚGotoTestzTest Goto subclass of Query.c                   óD   — e Zd Zej                  j
                  Zd„ Zd„ Zy)úGotoTest.Dummy_ModuleNamec                 ó8   — t        |¬«      | _        ddi| _        y rP   rQ   r   s     r   r   z"GotoTest.Dummy_ModuleName.__init__–   rR   r   c                 ó"   — || j                   d<   y r   r    r!   s     r   r#   z#GotoTest.Dummy_ModuleName.showerror™   r$   r   N)r)   r*   r+   r   ÚGotor-   r   r#   r0   r   r   rk   r}   ”   s   „ Ø—:‘:×&Ñ&ˆò	,ó	/r   rk   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NÚaznot a base 10 integerr   rm   r7   s     r   Útest_bogus_gotozGotoTest.test_bogus_gotoœ   sC   € Ø×&Ñ& sÓ+ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰Ð-¨v×/AÑ/AÀ&Ñ/IÕJr   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )NÚ0znot a positive integerr   rm   r7   s     r   Útest_bad_gotozGotoTest.test_bad_goto¡   sC   € Ø×&Ñ& sÓ+ˆØ×Ñ˜Ÿ™Ó*¨DÔ1Ø�‰Ð.°×0BÑ0BÀ6Ñ0JÕKr   c                 ó¤   — | j                  d«      }| j                  |j                  «       d«       | j                  |j                  d   d«       y )NÚ1é   r   r   )rk   r5   r-   r   r7   s     r   Útest_good_gotozGotoTest.test_good_goto¦   sD   € Ø×&Ñ& sÓ+ˆØ×Ñ˜Ÿ™Ó*¨AÔ.Ø×Ñ˜×+Ñ+¨FÑ3°RÕ8r   N)r)   r*   r+   rI   rk   rƒ   r†   rŠ   r0   r   r   r{   r{   ‘   s    „ Ù"÷/ñ /òKò
Ló
9r   r{   c                   ó*   — e Zd ZdZ G d„ d«      Zd„ Zy)ÚHelpsourceBrowsefileTestz8Test browse_file method of ModuleName subclass of Query.c                   óF   — e Zd Zej                  j
                  Z e«       Zy)ú)HelpsourceBrowsefileTest.Dummy_HelpSourceN)r)   r*   r+   r   Ú
HelpSourceÚbrowse_filer
   Úpathvarr0   r   r   ÚDummy_HelpSourcerŽ   ±   s   „ Ø×&Ñ&×2Ñ2ˆÙ“%‰r   r’   c                 ót  — | j                  «       }dd„ dfdd„ t        fdd„ dfdd„ t        ffD ]{  \  }}}| j                  «       5  |j                  j	                  |«       ||_        |j                  «        | j                  |j                  j                  «       |«       d d d «       Œ} y # 1 sw Y   ŒˆxY w)Nr   c                  ó   — y©Nr   r0   ©r‚   ÚbÚcs      r   Ú<lambda>zBHelpsourceBrowsefileTest.test_file_replaces_path.<locals>.<lambda>¼   s   €  "r   c                 ó   — t         S ©N©Ú__file__r–   s      r   r™   zBHelpsourceBrowsefileTest.test_file_replaces_path.<locals>.<lambda>½   s   € ¥8r   Úhtestc                  ó   — yr•   r0   r–   s      r   r™   zBHelpsourceBrowsefileTest.test_file_replaces_path.<locals>.<lambda>¾   s   €  rr   c                 ó   — t         S r›   rœ   r–   s      r   r™   zBHelpsourceBrowsefileTest.test_file_replaces_path.<locals>.<lambda>¿   s   € ­r   )	r’   r�   ÚsubTestr‘   ÚsetÚaskfilenamer�   r5   Úget)r   r8   ÚpathÚfuncr   s        r   Útest_file_replaces_pathz0HelpsourceBrowsefileTest.test_file_replaces_pathµ   s¬   € Ø×&Ñ&Ó(ˆð ‘_ bÐ)ØÑ+¬XÐ6Ø™/¨7Ð3ØÑ0´(Ð;ó	#=ÑˆD�$˜ð
 —‘•Ø—‘×"Ñ" 4Ô(Ø%)�Ô"Ø×"Ñ"Ô$Ø× Ñ  §¡×!3Ñ!3Ó!5°vÔ>÷	  �ñ#=÷
  �ús   ÁAB.Â.B7	N)r)   r*   r+   rI   r’   r§   r0   r   r   rŒ   rŒ   ®   s   „ Ù>÷ñ ó?r   rŒ   c                   ód   — e Zd ZdZ G d„ d«      Zej                  Zed„ «       Z	d„ Z
d„ Zd„ Zd„ Zy	)
ÚHelpsourcePathokTestz4Test path_ok method of HelpSource subclass of Query.c                   óF   — e Zd Zej                  j
                  Zd„ Zdd„Zy)ú%HelpsourcePathokTest.Dummy_HelpSourcec                 ó8   — t        |¬«      | _        ddi| _        y rP   )r
   r¥   Ú
path_error)r   Ú
dummy_paths     r   r   z.HelpsourcePathokTest.Dummy_HelpSource.__init__Ì   s   € Ü *Ô-ˆDŒIØ% r˜lˆD�Or   Nc                 ó"   — || j                   d<   y r   )r­   )r   r"   Úwidgets      r   r#   z/HelpsourcePathokTest.Dummy_HelpSource.showerrorÏ   s   € Ø&-ˆD�O‰O˜FÒ#r   r›   )r)   r*   r+   r   r�   Úpath_okr   r#   r0   r   r   r’   r«   Ê   s   „ Ø×"Ñ"×*Ñ*ˆò	+ô	.r   r’   c                 ó.   — | j                   t        _        y r›   )Úorig_platformr   Úplatform©Úclss    r   ÚtearDownClassz"HelpsourcePathokTest.tearDownClassÓ   s   € à×*Ñ*Œ�r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )Nr3   zno help filer   )r’   r5   r±   r6   r­   r7   s     r   Útest_path_ok_blankz'HelpsourcePathokTest.test_path_ok_blank×   sB   € Ø×&Ñ& sÓ+ˆØ×Ñ˜Ÿ™Ó)¨4Ô0Ø�‰�n f×&7Ñ&7¸Ñ&?Õ@r   c                 ó²   — | j                  t        dz   «      }| j                  |j                  «       d «       | j	                  d|j
                  d   «       y )Nzbad-bad-badz	not existr   )r’   r�   r5   r±   r6   r­   r7   s     r   Útest_path_ok_badz%HelpsourcePathokTest.test_path_ok_badÜ   sG   € Ø×&Ñ&¤x°-Ñ'?Ó@ˆØ×Ñ˜Ÿ™Ó)¨4Ô0Ø�‰�k 6×#4Ñ#4°VÑ#<Õ=r   c                 óJ  — | j                  d«      }| j                  }dD ]u  }| j                  «       5  |j                  j	                  |«       | j                  |j                  «       |«       | j                  |j                  d   d«       d d d «       Œw y # 1 sw Y   Œ‚xY w)Nr   )z
www.py.orgzhttp://py.orgr   )r’   r5   r¡   r¥   r¢   r±   r­   )r   r8   r=   Úurls       r   Útest_path_ok_webz%HelpsourcePathokTest.test_path_ok_webá   s   € Ø×&Ñ& rÓ*ˆØ× Ñ ˆÛ0ˆCØ—‘•Ø—‘—‘ Ô$Ø× Ñ  §¡Ó!1°3Ô7Ø× Ñ  ×!2Ñ!2°6Ñ!:¸BÔ?÷  �ñ 1ß�ús   ³ABÂB"	c                 ód  — | j                  d«      }dD ]Ž  \  }}| j                  «       5  |t        _        |j                  j                  t        «       | j                  |j                  «       |t        z   «       | j                  |j                  d   d«       d d d «       Œ� y # 1 sw Y   Œ›xY w)Nr   ))Údarwinúfile://)Úotherr   r   )
r’   r¡   r   r´   r¥   r¢   r�   r5   r±   r­   )r   r8   r´   Úprefixs       r   Útest_path_ok_filez&HelpsourcePathokTest.test_path_ok_fileê   s†   € Ø×&Ñ& rÓ*ˆÛ DÑˆH�fØ—‘•Ø!)””Ø—‘—‘¤Ô)Ø× Ñ  §¡Ó!1°6¼HÑ3DÔEØ× Ñ  ×!2Ñ!2°6Ñ!:¸BÔ?÷	  �ñ !Eß�ús   ªA1B&Â&B/	N)r)   r*   r+   rI   r’   r   r´   r³   Úclassmethodr·   r¹   r»   r¾   rÄ   r0   r   r   r©   r©   Ç   sC   „ Ù:÷.ñ .ð —N‘N€MØñ+ó ð+òAò
>ò
@ó@r   r©   c                   ó*   — e Zd ZdZ G d„ d«      Zd„ Zy)ÚHelpsourceEntryokTestz5Test entry_ok method of HelpSource subclass of Query.c                   óL   — e Zd Zej                  j
                  Zi Zi Zd„ Zd„ Z	y)ú&HelpsourceEntryokTest.Dummy_HelpSourcec                 ó   — | j                   S r›   )Únamer'   s    r   Úitem_okz.HelpsourceEntryokTest.Dummy_HelpSource.item_okû   ó   € Ø—9‘9Ðr   c                 ó   — | j                   S r›   )r¥   r'   s    r   r±   z.HelpsourceEntryokTest.Dummy_HelpSource.path_oký   rÍ   r   N)
r)   r*   r+   r   r�   r-   r   r­   rÌ   r±   r0   r   r   r’   rÉ   ÷   s'   „ Ø×#Ñ#×,Ñ,ˆØˆØˆ
ò	ó	r   r’   c                 óâ   — | j                  «       }dD ]N  \  }}}| j                  «       5  ||c|_        |_        | j	                  |j                  «       |«       d d d «       ŒP y # 1 sw Y   Œ[xY w)N))NNN)Núdoc.txtN)ÚdocNN)rÑ   rÐ   )rÑ   rÐ   )r’   r¡   rË   r¥   r5   r-   )r   r8   rË   r¥   r   s        r   Útest_entry_ok_helpsourcez.HelpsourceEntryokTest.test_entry_ok_helpsource   sf   € Ø×&Ñ&Ó(ˆó#KÑˆD�$˜ð —‘•Ø+/°Ð(�”˜Vœ[Ø× Ñ  §¡Ó!2°FÔ;÷  �ñ	#K÷  �ús   ª0A%Á%A.	N)r)   r*   r+   rI   r’   rÒ   r0   r   r   rÇ   rÇ   ô   s   „ Ù;÷ñ ó<r   rÇ   c                   ó6   — e Zd ZdZ G d„ d«      Zd„ Zd„ Zd„ Zy)ÚCustomRunCLIargsokTestz6Test cli_ok method of the CustomRun subclass of Query.c                   óD   — e Zd Zej                  j
                  Zd„ Zd„ Zy)ú&CustomRunCLIargsokTest.Dummy_CustomRunc                 ó8   — t        |¬«      | _        ddi| _        y rP   rQ   r   s     r   r   z/CustomRunCLIargsokTest.Dummy_CustomRun.__init__  rR   r   c                 ó"   — || j                   d<   y r   r    r!   s     r   r#   z0CustomRunCLIargsokTest.Dummy_CustomRun.showerror  r$   r   N)r)   r*   r+   r   Ú	CustomRunÚcli_args_okr   r#   r0   r   r   ÚDummy_CustomRunrÖ     s   „ Ø—o‘o×1Ñ1ˆò	,ó	/r   rÛ   c                 óf   — | j                  d«      }| j                  |j                  «       g «       y )Nr3   )rÛ   r5   rÚ   r7   s     r   Útest_blank_argsz&CustomRunCLIargsokTest.test_blank_args  s+   € Ø×%Ñ% cÓ*ˆØ×Ñ˜×+Ñ+Ó-¨rÕ2r   c                 ó¤   — | j                  d«      }| j                  |j                  «       d «       | j                  d|j                  d   «       y )Nz'no-closing-quotez
No closingr   )rÛ   r5   rÚ   r6   r   r7   s     r   Útest_invalid_argsz(CustomRunCLIargsokTest.test_invalid_args  sE   € Ø×%Ñ%Ð&9Ó:ˆØ×Ñ˜×+Ñ+Ó-¨tÔ4Ø�‰�l F×$6Ñ$6°vÑ$>Õ?r   c                 óØ   — g d¢}| j                  dj                  |«      dz   «      }| j                  |j                  «       |dgz   «       | j                  |j                  d   d«       y )N)z-nÚ10z	--verbosez-pz/pathz--namer3   z
 "my name"zmy namer   r   )rÛ   Újoinr5   rÚ   r   )r   Úargsr8   s      r   Útest_good_argsz%CustomRunCLIargsokTest.test_good_args!  s_   € ÚAˆØ×%Ñ% c§h¡h¨t£n°|Ñ&CÓDˆØ×Ñ˜×+Ñ+Ó-¨t°y°kÑ/AÔBØ×Ñ˜×+Ñ+¨FÑ3°RÕ8r   N)r)   r*   r+   rI   rÛ   rÝ   rß   rä   r0   r   r   rÔ   rÔ     s   „ Ù<÷/ñ /ò3ò@ó
9r   rÔ   c                   ó*   — e Zd ZdZ G d„ d«      Zd„ Zy)ÚCustomRunEntryokTestz8Test entry_ok method of the CustomRun subclass of Query.c                   óP   — e Zd Zej                  j
                  Zi Z e«       Zd„ Z	y)ú$CustomRunEntryokTest.Dummy_CustomRunc                 ó   — | j                   S r›   )Úcli_argsr'   s    r   rÚ   z0CustomRunEntryokTest.Dummy_CustomRun.cli_args_ok/  s   € Ø—=‘=Ð r   N)
r)   r*   r+   r   rÙ   r-   r   r
   Ú
restartvarrÚ   r0   r   r   rÛ   rè   +  s"   „ Ø—?‘?×+Ñ+ˆØˆÙ“Uˆ
ó	!r   rÛ   c                 ó*  — | j                  «       }dD ]r  }|j                  j                  |«       ddgdg|fffD ]H  \  }}| j                  ||¬«      5  ||_        | j                  |j                  «       |«       d d d «       ŒJ Œt y # 1 sw Y   ŒWxY w)N>   FT)NNzmy arg)Úrestartrê   )rÛ   rë   r¢   r¡   rê   r5   r-   )r   r8   rí   rê   r   s        r   Útest_entry_ok_customrunz,CustomRunEntryokTest.test_entry_ok_customrun2  s–   € Ø×%Ñ%Ó'ˆÛ$ˆGØ×Ñ×!Ñ! 'Ô*Ø%1Ø'/ j°H°:¸wÐ2GÐ%Hó%JÑ �˜&à—\‘\¨'¸H�\ÕEØ&.�F”OØ×$Ñ$ V§_¡_Ó%6¸Ô?÷ FÐEñ%Jñ %÷ FÐEús   Á(B	Â	BN)r)   r*   r+   rI   rÛ   rî   r0   r   r   ræ   ræ   (  s   „ Ù>÷!ñ !ó@r   ræ   c                   óD   — e Zd Zed„ «       Zed„ «       Zd„ Zd„ Zd„ Zd„ Z	y)ÚQueryGuiTestc                 óò   — t        d«       t        «       x| _        }| j                  j                  «        t	        j
                  |ddd¬«      | _        t        j                  «       | j                  _	        y )NÚguiÚTESTÚtestT©Ú_utest)
r   r   ÚrootÚwithdrawr   r,   r8   r	   r@   r(   )r¶   r÷   s     r   Ú
setUpClasszQueryGuiTest.setUpClassA  sO   € ä�ŒÜ›$ÐˆŒ�4Ø�‰×ÑÔÜ—[‘[  v¨v¸dÔCˆŒ
Ü!ŸY™Y›[ˆ�
‰
Õr   c                 óX   — | j                   `| ` | j                  j                  «        | `y r›   )r8   r(   r÷   rµ   s    r   r·   zQueryGuiTest.tearDownClassI  s&   € à�J‰JÐØˆJØ�‰×ÑÔØ‰Hr   c                 óº   — | j                   j                  j                  dd«       d | j                   _        | j                   j                  j                  «        y )Nr   Úend)r8   r   Údeleter   r(   Ú
reset_mockr'   s    r   ÚsetUpzQueryGuiTest.setUpP  s>   € Ø�‰×Ñ× Ñ   EÔ*Ø!ˆ�‰ÔØ�‰×Ñ×&Ñ&Õ(r   c                 ó
  — | j                   }|j                  j                  dd«       |j                  j	                  «        | j                  |j                  d«       | j                  |j                  j                  «       y ©Nr   Úabc)
r8   r   ÚinsertÚ	button_okÚinvoker5   r   rB   r(   rC   r7   s     r   Útest_click_okzQueryGuiTest.test_click_okU  s[   € Ø—‘ˆØ�‰×Ñ˜A˜uÔ%Ø×Ñ×ÑÔ!Ø×Ñ˜Ÿ™¨Ô.Ø�‰˜Ÿ™×-Ñ-Õ.r   c                 óÒ   — | j                   }|j                  j                  «        | j                  |j                  d «       | j                  |j                  j                  «       y r›   )r8   r  r  r5   r   ÚassertFalser(   rC   r7   s     r   Útest_click_blankzQueryGuiTest.test_click_blank\  sI   € Ø—‘ˆØ×Ñ×ÑÔ!Ø×Ñ˜Ÿ™¨Ô-Ø×Ñ˜Ÿ™×.Ñ.Õ/r   c                 ó
  — | j                   }|j                  j                  dd«       |j                  j	                  «        | j                  |j                  d «       | j                  |j                  j                  «       y r  )
r8   r   r  Úbutton_cancelr  r5   r   rB   r(   rC   r7   s     r   Útest_click_cancelzQueryGuiTest.test_click_cancelb  s[   € Ø—‘ˆØ�‰×Ñ˜A˜uÔ%Ø×Ñ×#Ñ#Ô%Ø×Ñ˜Ÿ™¨Ô-Ø�‰˜Ÿ™×-Ñ-Õ.r   N)
r)   r*   r+   rÅ   rù   r·   rÿ   r  r	  r  r0   r   r   rð   rð   ?  s<   „ àñ)ó ð)ð ñó ðò)ò
/ò0ó/r   rð   c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚSectionnameGuiTestc                 ó   — t        d«       y ©Nrò   r   rµ   s    r   rù   zSectionnameGuiTest.setUpClassl  ó	   € ä��r   c                 ó„  — t        «       }|j                  «        t        j                  |dddhd¬«      }| j                  }| j	                  |j
                  dh«       |j                  j                  dd«       |j                  j                  «        | j	                  |j                  d«       |j                  «        y )NÚTÚtr  Trõ   r   Úokay)r   rø   r   rT   r5   rU   r   r  r  r  r   r(   )r   r÷   r8   r=   s       r   Útest_click_section_namez*SectionnameGuiTest.test_click_section_namep  s’   € Ü‹tˆØ�‰ŒÜ×#Ñ# D¨#¨s°U°GÀDÔIˆØ× Ñ ˆØ×Ñ˜×*Ñ*¨U¨GÔ4Ø�‰×Ñ˜A˜vÔ&Ø×Ñ×ÑÔ!Ø×Ñ˜Ÿ™¨Ô/Ø�‰�r   N)r)   r*   r+   rÅ   rù   r  r0   r   r   r  r  j  ó   „ àñó ðó	r   r  c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚModulenameGuiTestc                 ó   — t        d«       y r  r   rµ   s    r   rù   zModulenameGuiTest.setUpClass~  r  r   c                 ó„  — t        «       }|j                  «        t        j                  |dddd¬«      }| j	                  |j
                  d«       | j	                  |j                  j                  «       d«       |j                  j                  «        | j                  |j                  d«       |j                  «        y )Nr  r  rv   Trõ   rw   )r   rø   r   ri   r5   rj   r   r¤   r  r  rx   r   r(   ©r   r÷   r8   s      r   Útest_click_module_namez(ModulenameGuiTest.test_click_module_name‚  sŠ   € Ü‹tˆØ�‰ŒÜ×"Ñ" 4¨¨c°9ÀTÔJˆØ×Ñ˜Ÿ™ yÔ1Ø×Ñ˜Ÿ™×)Ñ)Ó+¨YÔ7Ø×Ñ×ÑÔ!Ø×Ñ˜FŸM™M¨=Ô9Ø�‰�r   N©r)   r*   r+   rÅ   rù   r  r0   r   r   r  r  |  s   „ àñó ðór   r  c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚGotoGuiTestc                 ó   — t        d«       y r  r   rµ   s    r   rù   zGotoGuiTest.setUpClass�  r  r   c                 ó.  — t        «       }|j                  «        t        j                  |ddd¬«      }|j                  j                  dd«       |j                  j                  «        | j                  |j                  d«       |j                  «        y )Nr  r  Trõ   r   Ú22é   )r   rø   r   r€   r   r  r  r  r5   r   r(   r  s      r   r  z"GotoGuiTest.test_click_module_name“  si   € Ü‹tˆØ�‰ŒÜ—*‘*˜T 3¨°DÔ9ˆØ�‰×Ñ˜A˜tÔ$Ø×Ñ×ÑÔ!Ø×Ñ˜Ÿ™¨Ô+Ø�‰�r   Nr  r0   r   r   r   r   �  s   „ àñó ðór   r   c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚHelpsourceGuiTestc                 ó   — t        d«       y r  r   rµ   s    r   rù   zHelpsourceGuiTest.setUpClassŸ  r  r   c                 óÒ  — t        «       }|j                  «        t        j                  |ddt        d¬«      }| j
                  } ||j                  j                  «       d«        ||j                  j                  «       t        «       |j                  j                  «        t        j                  dk(  rdnd} ||j                  d|t        z   f«       |j                  «        y )Nr  Ú__test__T)ÚmenuitemÚfilepathrö   rÀ   rÁ   r   )r   rø   r   r�   r�   r5   r   r¤   r¥   r  r  Úsysr´   r   r(   )r   r÷   r8   r=   rÃ   s        r   Útest_click_help_sourcez(HelpsourceGuiTest.test_click_help_source£  sª   € Ü‹tˆØ�‰ŒÜ×"Ñ" 4¨°zÜ,4¸TôCˆà× Ñ ˆÙˆf�l‰l×ÑÓ  *Ô-Ùˆf�k‰k�o‰oÓ¤Ô*Ø×Ñ×ÑÔ!Ü!Ÿl™l¨hÒ6‘¸BˆÙˆf�m‰m˜j¨&´8Ñ*;Ð<Ô=Ø�‰�r   N)r)   r*   r+   rÅ   rù   r-  r0   r   r   r&  r&  �  s   „ àñó ðór   r&  c                   ó"   — e Zd Zed„ «       Zd„ Zy)ÚCustomRunGuiTestc                 ó   — t        d«       y r  r   rµ   s    r   rù   zCustomRunGuiTest.setUpClass³  r  r   c                 ó–  — t        «       }|j                  «        t        j                  |dddgd¬«      }| j	                  |j
                  j                  «       d«       |j
                  j                  t        d«       |j                  j                  «        | j	                  |j                  g d¢df«       |j                  «        y )	NÚTitler‚   úb=1T)rê   rö   za b=1z c)r‚   r3  r˜   )r   rø   r   rÙ   r5   r   r¤   r  r   r  r  r   r(   r  s      r   Útest_click_argsz CustomRunGuiTest.test_click_args·  s”   € Ü‹tˆØ�‰ŒÜ—/‘/ $¨Ø,/°¨<ÀôFˆà×Ñ˜Ÿ™×)Ñ)Ó+¨WÔ5Ø�‰×ÑœC Ô&Ø×Ñ×ÑÔ!Ø×Ñ˜Ÿ™Ò):¸DÐ(AÔBØ�‰�r   N)r)   r*   r+   rÅ   rù   r4  r0   r   r   r/  r/  ±  r  r   r/  Ú__main__é   F)Ú	verbosityÚexit)!rI   rv   r   ÚunittestÚtest.supportr   Útest.support.testcaser   Útkinterr   r   r,  r	   Úidlelib.idle_test.mock_tkr
   ÚTestCaser   rK   rd   r{   rŒ   r©   rÇ   rÔ   ræ   rð   r  r  r   r&  r/  r)   Úmainr0   r   r   Ú<module>r@     s`  ðñ
õ Û Ý !Ý 1ß ã 
Ý Ý )ô
0J�×!Ñ!ô 0Jôf9�h×'Ñ'ô 9ôB!9�X×&Ñ&¨ô !9ôH9ˆx× Ñ ô 9ô:?˜x×0Ñ0ô ?ô2*@˜8×,Ñ,ô *@ôZ<˜H×-Ñ-ô <ô29˜X×.Ñ.ô 9ô6@˜8×,Ñ,ô @ô.(/�8×$Ñ$ô (/ôV˜×*Ñ*ô ô$˜×)Ñ)¨?ô ô"�(×#Ñ#ô ô ˜×)Ñ)ô ô(�x×(Ñ(ô ð$ ˆzÒØ€H‡M�M˜A EÖ*ð r   