
    /hh<                        S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	J
r
  SSKrSSKJr  SSKJr   " S	 S
\R                  5      r " S S\R                  5      r " S S\R                  \5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S S \R                  \5      r " S! S"\R                  5      r " S# S$\R                  5      r " S% S&\R                  5      r\S':X  a  \R@                  " S(S)S*9  gg)+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                   J    \ rS rSrSr " S S5      rS rS rS rS r	S	 r
S
rg)	QueryTest   zTest Query base class.c                       \ rS rSr\R
                  R                  r\R
                  R                  r\R
                  R                  rS r	S r
S rSrg)QueryTest.Dummy_Query   c                 N    [        US9U l        SS0U l        S U l        SU l        g )Nvaluetext F)r
   entryentry_errorresult	destroyedselfdummy_entrys     E/opt/python-3.13.8/usr/lib/python3.13/idlelib/idle_test/test_query.py__init__QueryTest.Dummy_Query.__init__"   s(    ;/DJ &|DDK"DN    c                      XR                   S'   g Nr   r   r   messages     r   	showerrorQueryTest.Dummy_Query.showerror'       '.V$r    c                     SU l         g NT)r   r   s    r   destroyQueryTest.Dummy_Query.destroy)   s	    !DNr    )r   r   r   r   N)__name__
__module____qualname____firstlineno__r   Queryentry_okokcancelr   r&   r,   __static_attributes__ r    r   Dummy_Queryr      s<    ;;''[[^^##	#
	/	"r    r8   c                     U R                  S5      nU R                  UR                  5       S 5        U R                  UR                  UR                  4S5        U R                  SUR                  S   5        g )N NFz
blank liner   )r8   assertEqualr3   r   r   assertInr   r   dialogs     r   test_entry_ok_blankQueryTest.test_entry_ok_blank,   sa    !!#&*D1&--)9)9:MJlF$6$6v$>?r    c                     U R                  S5      nU R                  nU" UR                  5       S5        U" UR                  UR                  4S5        U" UR
                  S   S5        g )N  good goodr;   r   r   )r8   r<   r3   r   r   r   )r   r?   Equals      r   test_entry_ok_goodQueryTest.test_entry_ok_good2   s\    !!),  foo(v}}f../?f  ("-r    c                 t   U R                  S5      n[        R                  " 5       UR                  l        U R                  UR                  5       S 5        U R                  UR                  R                  R                  5        UR                  ?U R                  UR                  UR                  4S5        g )Nr   r;   )r8   r	   Mockr   	focus_setr<   r4   
assertTruecalledr   r   r>   s     r   test_ok_blankQueryTest.test_ok_blank9   s    !!"%!%d+..556LL"&--)9)9:MJr    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  UR                  UR                  4S5        g )NrD   )rD   T)r8   r<   r4   r   r   r>   s     r   test_ok_goodQueryTest.test_ok_goodA   sG    !!&)d+&--)9)9:NKr    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  UR                  UR                  4S5        g )Nzdoes not matterr*   )r8   r<   r5   r   r   r>   s     r   test_cancelQueryTest.test_cancelF   sH    !!"34$/&--)9)9:LIr    r7   N)r.   r/   r0   r1   __doc__r8   r@   rF   rM   rP   rS   r6   r7   r    r   r   r      s,    " " @.KL
Jr    r   c                   D    \ rS rSrSr " S S5      rS rS rS rS r	S	r
g
)SectionNameTestL   z#Test SectionName subclass of Query.c                   R    \ rS rSr\R
                  R                  rS/rS rS r	Sr
g)!SectionNameTest.Dummy_SectionNameO   usedc                 2    [        US9U l        SS0U l        g Nr   r   r   r
   r   r   r   s     r   r   *SectionNameTest.Dummy_SectionName.__init__R       ;/DJ &|Dr    c                      XR                   S'   g r"   r#   r$   s     r   r&   +SectionNameTest.Dummy_SectionName.showerrorU   r(   r    r   r   N)r.   r/   r0   r1   r   SectionNamer3   
used_namesr   r&   r6   r7   r    r   Dummy_SectionNamerZ   O   s$    $$--X
	,	/r    rg   c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g Nr:   zno namer   rg   r<   r3   r=   r   r>   s     r   test_blank_section_name'SectionNameTest.test_blank_section_nameX   sB    '',*D1i!3!3F!;<r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )Nr\   user   rj   r>   s     r   test_used_section_name&SectionNameTest.test_used_section_name]   sB    ''/*D1eV//78r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )N goodgoodgoodgoodgoodgoodgoodgoodzlonger than 30r   rj   r>   s     r   test_long_section_name&SectionNameTest.test_long_section_nameb   sC    ''1*D1&(:(:6(BCr    c                     U R                  S5      nU R                  UR                  5       S5        U R                  UR                  S   S5        g )NrC   rD   r   r   )rg   r<   r3   r   r>   s     r   test_good_section_name&SectionNameTest.test_good_section_nameg   sD    ''	2*F3++F3R8r    r7   N)r.   r/   r0   r1   rU   rg   rk   ro   rs   rv   r6   r7   r    r   rW   rW   L   s$    )/ /=
9
D
9r    rW   c                   D    \ rS rSrSr " S S5      rS rS rS rS r	S	r
g
)ModuleNameTestm   z"Test ModuleName subclass of Query.c                   P    \ rS rSr\R
                  R                  rSrS rS r	Sr
g)ModuleNameTest.Dummy_ModuleNamep   r   c                 2    [        US9U l        SS0U l        g r^   r_   r   s     r   r   (ModuleNameTest.Dummy_ModuleName.__init__s   ra   r    c                      XR                   S'   g r"   r#   r$   s     r   r&   )ModuleNameTest.Dummy_ModuleName.showerrorv   r(   r    rd   N)r.   r/   r0   r1   r   
ModuleNamer3   text0r   r&   r6   r7   r    r   Dummy_ModuleNamer|   p   s"    ##,,	,	/r    r   c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g ri   r   r<   r3   r=   r   r>   s     r   test_blank_module_name%ModuleNameTest.test_blank_module_namey   sB    &&s+*D1i!3!3F!;<r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )N __name_xyz123_should_not_exist__z	not foundr   r   r>   s     r   test_bogus_module_name%ModuleNameTest.test_bogus_module_name~   sC    &&'IJ*D1k6#5#5f#=>r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )N	itertoolszsource-basedr   r   r>   s     r   test_c_source_name!ModuleNameTest.test_c_source_name   sB    &&{3*D1nf&8&8&@Ar    c                 D   U R                  S5      nU R                  UR                  5       S5        U R                  UR                  S   S5        U R                  S5      nU R                  UR                  5       S5        U R                  UR                  S   S5        g )Nidlelib__init__.pyr   r   zidlelib.idlezidle.py)r   assertEndsWithr3   r<   r   r>   s     r   test_good_module_name$ModuleNameTest.test_good_module_name   s    &&y1FOO-}=++F3R8&&~6FOO-y9++F3R8r    r7   N)r.   r/   r0   r1   rU   r   r   r   r   r   r6   r7   r    r   ry   ry   m   s$    (/ /=
?
B
9r    ry   c                   >    \ rS rSrSr " S S5      rS rS rS rSr	g	)
GotoTest   zTest Goto subclass of Query.c                   L    \ rS rSr\R
                  R                  rS rS rSr	g)GotoTest.Dummy_ModuleName   c                 2    [        US9U l        SS0U l        g r^   r_   r   s     r   r   "GotoTest.Dummy_ModuleName.__init__   ra   r    c                      XR                   S'   g r"   r#   r$   s     r   r&   #GotoTest.Dummy_ModuleName.showerror   r(   r    rd   N)
r.   r/   r0   r1   r   Gotor3   r   r&   r6   r7   r    r   r   r      s    ::&&	,	/r    r   c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )Naznot a base 10 integerr   r   r>   s     r   test_bogus_gotoGotoTest.test_bogus_goto   sC    &&s+*D1-v/A/A&/IJr    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )N0znot a positive integerr   r   r>   s     r   test_bad_gotoGotoTest.test_bad_goto   sC    &&s+*D1.0B0B60JKr    c                     U R                  S5      nU R                  UR                  5       S5        U R                  UR                  S   S5        g )N1   r   r   )r   r<   r3   r   r>   s     r   test_good_gotoGotoTest.test_good_goto   sD    &&s+*A.++F3R8r    r7   N)
r.   r/   r0   r1   rU   r   r   r   r   r6   r7   r    r   r   r      s     "/ /K
L
9r    r   c                   2    \ rS rSrSr " S S5      rS rSrg)HelpsourceBrowsefileTest   z8Test browse_file method of ModuleName subclass of Query.c                   N    \ rS rSr\R
                  R                  r\" 5       rSr	g))HelpsourceBrowsefileTest.Dummy_HelpSource   r7   N)
r.   r/   r0   r1   r   
HelpSourcebrowse_filer
   pathvarr6   r7   r    r   Dummy_HelpSourcer      s    &&22%r    r   c                    U R                  5       nSS S4SS [        4SS S4SS [        44 Hz  u  p#nU R                  5          UR                  R	                  U5        X1l        UR                  5         U R                  UR                  R                  5       U5        S S S 5        M|     g ! , (       d  f       M  = f)Nr   c                     gNr   r7   r   bcs      r   <lambda>BHelpsourceBrowsefileTest.test_file_replaces_path.<locals>.<lambda>   s    "r    c                     [         $ N__file__r   s      r   r   r      s    8r    htestc                     gr   r7   r   s      r   r   r      s    rr    c                     [         $ r   r   r   s      r   r   r      s    r    )	r   r   subTestr   setaskfilenamer   r<   get)r   r?   pathfuncr   s        r   test_file_replaces_path0HelpsourceBrowsefileTest.test_file_replaces_path   s    &&( _b)+X6/730(;	#=D
 ""4(%)"""$  !3!3!5v>	  #=
  s   AB..
B=	r7   N)r.   r/   r0   r1   rU   r   r   r6   r7   r    r   r   r      s    > ?r    r   c                   l    \ rS rSrSr " S S5      r\R                  r\	S 5       r
S rS rS rS	 rS
rg)HelpsourcePathokTest   z4Test path_ok method of HelpSource subclass of Query.c                   P    \ rS rSr\R
                  R                  rS rSS jrSr	g)%HelpsourcePathokTest.Dummy_HelpSource   c                 2    [        US9U l        SS0U l        g r^   )r
   r   
path_error)r   
dummy_paths     r   r   .HelpsourcePathokTest.Dummy_HelpSource.__init__   s    *-DI%rlDOr    Nc                      XR                   S'   g r"   )r   )r   r%   widgets      r   r&   /HelpsourcePathokTest.Dummy_HelpSource.showerror   s    &-OOF#r    )r   r   r   )
r.   r/   r0   r1   r   r   path_okr   r&   r6   r7   r    r   r   r      s    ""**	+	.r    r   c                 .    U R                   [        l        g r   )orig_platformr   platformclss    r   tearDownClass"HelpsourcePathokTest.tearDownClass   s    **r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )Nr:   zno help filer   )r   r<   r   r=   r   r>   s     r   test_path_ok_blank'HelpsourcePathokTest.test_path_ok_blank   sB    &&s+)40nf&7&7&?@r    c                     U R                  [        S-   5      nU R                  UR                  5       S 5        U R	                  SUR
                  S   5        g )Nzbad-bad-badz	not existr   )r   r   r<   r   r=   r   r>   s     r   test_path_ok_bad%HelpsourcePathokTest.test_path_ok_bad   sG    &&x-'?@)40k6#4#4V#<=r    c                 Z   U R                  S5      nU R                  nS Hv  nU R                  5          UR                  R	                  U5        U R                  UR                  5       U5        U R                  UR                  S   S5        S S S 5        Mx     g ! , (       d  f       M  = f)Nr   )z
www.py.orgzhttp://py.orgr   )r   r<   r   r   r   r   r   )r   r?   rE   urls       r   test_path_ok_web%HelpsourcePathokTest.test_path_ok_web   s    &&r*  0C$  !137  !2!26!:B?   1s   AB
B*	c                 r   U R                  S5      nS H  u  p#U R                  5          U[        l        UR                  R                  [        5        U R                  UR                  5       U[        -   5        U R                  UR                  S   S5        S S S 5        M     g ! , (       d  f       M  = f)Nr   ))darwinfile://)otherr   r   )
r   r   r   r   r   r   r   r<   r   r   )r   r?   r   prefixs       r   test_path_ok_file&HelpsourcePathokTest.test_path_ok_file   s    &&r* DH!))  !16H3DE  !2!26!:B?	   !Es   A1B''
B6	r7   N)r.   r/   r0   r1   rU   r   r   r   r   classmethodr   r   r   r   r   r6   r7   r    r   r   r      sC    :. . NNM+ +A
>
@@r    r   c                   2    \ rS rSrSr " S S5      rS rSrg)HelpsourceEntryokTest   z5Test entry_ok method of HelpSource subclass of Query.c                   T    \ rS rSr\R
                  R                  r0 r0 rS r	S r
Srg)&HelpsourceEntryokTest.Dummy_HelpSource   c                     U R                   $ r   )namer+   s    r   item_ok.HelpsourceEntryokTest.Dummy_HelpSource.item_ok       99r    c                     U R                   $ r   )r   r+   s    r   r   .HelpsourceEntryokTest.Dummy_HelpSource.path_ok   r  r    r7   N)r.   r/   r0   r1   r   r   r3   r   r   r   r   r6   r7   r    r   r   r      s'    ##,,
		r    r   c                     U R                  5       nS HM  u  p#nU R                  5          X#sUl        Ul        U R	                  UR                  5       U5        S S S 5        MO     g ! , (       d  f       Ma  = f)N))NNN)Ndoc.txtN)docNN)r  r  )r  r  )r   r   r   r   r<   r3   )r   r?   r   r   r   s        r   test_entry_ok_helpsource.HelpsourceEntryokTest.test_entry_ok_helpsource   sb    &&(#KD +/(V[  !2F;  	#K  s   /A%%
A4	r7   N)r.   r/   r0   r1   rU   r   r  r6   r7   r    r   r   r      s    ; <r    r   c                   >    \ rS rSrSr " S S5      rS rS rS rSr	g	)
CustomRunCLIargsokTesti  z6Test cli_ok method of the CustomRun subclass of Query.c                   L    \ rS rSr\R
                  R                  rS rS rSr	g)&CustomRunCLIargsokTest.Dummy_CustomRuni  c                 2    [        US9U l        SS0U l        g r^   r_   r   s     r   r   /CustomRunCLIargsokTest.Dummy_CustomRun.__init__  ra   r    c                      XR                   S'   g r"   r#   r$   s     r   r&   0CustomRunCLIargsokTest.Dummy_CustomRun.showerror  r(   r    rd   N)
r.   r/   r0   r1   r   	CustomRuncli_args_okr   r&   r6   r7   r    r   Dummy_CustomRunr    s    oo11	,	/r    r  c                 f    U R                  S5      nU R                  UR                  5       / 5        g )Nr:   )r  r<   r  r>   s     r   test_blank_args&CustomRunCLIargsokTest.test_blank_args  s+    %%c*++-r2r    c                     U R                  S5      nU R                  UR                  5       S 5        U R                  SUR                  S   5        g )Nz'no-closing-quotez
No closingr   )r  r<   r  r=   r   r>   s     r   test_invalid_args(CustomRunCLIargsokTest.test_invalid_args  sE    %%&9:++-t4lF$6$6v$>?r    c                     / SQnU R                  SR                  U5      S-   5      nU R                  UR                  5       US/-   5        U R                  UR                  S   S5        g )N)z-n10z	--verbosez-pz/pathz--namer:   z
 "my name"zmy namer   r   )r  joinr<   r  r   )r   argsr?   s      r   test_good_args%CustomRunCLIargsokTest.test_good_args!  s_    A%%chhtn|&CD++-tyk/AB++F3R8r    r7   N)
r.   r/   r0   r1   rU   r  r  r  r  r6   r7   r    r   r
  r
    s    </ /3@
9r    r
  c                   2    \ rS rSrSr " S S5      rS rSrg)CustomRunEntryokTesti(  z8Test entry_ok method of the CustomRun subclass of Query.c                   X    \ rS rSr\R
                  R                  r0 r\" 5       r	S r
Srg)$CustomRunEntryokTest.Dummy_CustomRuni+  c                     U R                   $ r   )cli_argsr+   s    r   r  0CustomRunEntryokTest.Dummy_CustomRun.cli_args_ok/  s    == r    r7   N)r.   r/   r0   r1   r   r  r3   r   r
   
restartvarr  r6   r7   r    r   r  r#  +  s"    ??++U
	!r    r  c                 2   U R                  5       nS Ho  nUR                  R                  U5        SS/S/U444 HC  u  p4U R                  X#S9   X1l        U R                  UR                  5       U5        S S S 5        ME     Mq     g ! , (       d  f       M[  = f)N>   FT)NNzmy arg)restartr%  )r  r'  r   r   r%  r<   r3   )r   r?   r)  r%  r   s        r   test_entry_ok_customrun,CustomRunEntryokTest.test_entry_ok_customrun2  s    %%'$G!!'*%1'/jH:w2G%H%J \\'\E&.O$$V__%6? FE%J % FEs   'B
Br7   N)r.   r/   r0   r1   rU   r  r*  r6   r7   r    r   r!  r!  (  s    >! !@r    r!  c                   L    \ rS rSr\S 5       r\S 5       rS rS rS r	S r
Srg	)
QueryGuiTesti?  c                     [        S5        [        5       =U l        nU R                  R                  5         [        R
                  " USSSS9U l        [        R                  " 5       U R                  l	        g )NguiTESTtestT_utest)
r   r   rootwithdrawr   r2   r?   r	   rI   r,   )r   r4  s     r   
setUpClassQueryGuiTest.setUpClassA  sO    $4[[vvdC
!YY[

r    c                 X    U R                   ?U ? U R                  R                  5         U ?g r   )r?   r,   r4  r   s    r   r   QueryGuiTest.tearDownClassI  s&    JJJHr    c                     U R                   R                  R                  SS5        S U R                   l        U R                   R                  R                  5         g )Nr   end)r?   r   deleter   r,   
reset_mockr+   s    r   setUpQueryGuiTest.setUpP  s>      E*!&&(r    c                 
   U R                   nUR                  R                  SS5        UR                  R	                  5         U R                  UR                  S5        U R                  UR                  R                  5        g Nr   abc)
r?   r   insert	button_okinvoker<   r   rK   r,   rL   r>   s     r   test_click_okQueryGuiTest.test_click_okU  s[    Au%!.--.r    c                     U R                   nUR                  R                  5         U R                  UR                  S 5        U R                  UR                  R                  5        g r   )r?   rD  rE  r<   r   assertFalser,   rL   r>   s     r   test_click_blankQueryGuiTest.test_click_blank\  sI    !-../r    c                 
   U R                   nUR                  R                  SS5        UR                  R	                  5         U R                  UR                  S 5        U R                  UR                  R                  5        g rA  )
r?   r   rC  button_cancelrE  r<   r   rK   r,   rL   r>   s     r   test_click_cancelQueryGuiTest.test_click_cancelb  s[    Au%##%---.r    r7   N)r.   r/   r0   r1   r   r6  r   r>  rF  rJ  rN  r6   r7   r    r   r-  r-  ?  s<    ) )  )
/0/r    r-  c                   *    \ rS rSr\S 5       rS rSrg)SectionnameGuiTestij  c                     [        S5        g Nr/  r   r   s    r   r6  SectionnameGuiTest.setUpClassl  	    r    c                    [        5       nUR                  5         [        R                  " USSS1SS9nU R                  nU R	                  UR
                  S15        UR                  R                  SS5        UR                  R                  5         U R	                  UR                  S5        UR                  5         g )NTtrB  Tr2  r   okay)r   r5  r   re   r<   rf   r   rC  rD  rE  r   r,   )r   r4  r?   rE   s       r   test_click_section_name*SectionnameGuiTest.test_click_section_namep  s    t##D#sUGDI  **UG4Av&!/r    r7   N)r.   r/   r0   r1   r   r6  rZ  r6   r7   r    r   rQ  rQ  j       	r    rQ  c                   *    \ rS rSr\S 5       rS rSrg)ModulenameGuiTesti|  c                     [        S5        g rS  r   r   s    r   r6  ModulenameGuiTest.setUpClass~  rU  r    c                    [        5       nUR                  5         [        R                  " USSSSS9nU R	                  UR
                  S5        U R	                  UR                  R                  5       S5        UR                  R                  5         U R                  UR                  S5        UR                  5         g )NrW  rX  r   Tr2  r   )r   r5  r   r   r<   r   r   r   rD  rE  r   r   r,   r   r4  r?   s      r   test_click_module_name(ModulenameGuiTest.test_click_module_name  s    t""4c9TJy1))+Y7!FMM=9r    r7   Nr.   r/   r0   r1   r   r6  rc  r6   r7   r    r   r^  r^  |  s     r    r^  c                   *    \ rS rSr\S 5       rS rSrg)GotoGuiTesti  c                     [        S5        g rS  r   r   s    r   r6  GotoGuiTest.setUpClass  rU  r    c                 *   [        5       nUR                  5         [        R                  " USSSS9nUR                  R                  SS5        UR                  R                  5         U R                  UR                  S5        UR                  5         g )NrW  rX  Tr2  r   22   )r   r5  r   r   r   rC  rD  rE  r<   r   r,   rb  s      r   rc  "GotoGuiTest.test_click_module_name  si    t**T3D9At$!+r    r7   Nre  r7   r    r   rg  rg    s     r    rg  c                   *    \ rS rSr\S 5       rS rSrg)HelpsourceGuiTesti  c                     [        S5        g rS  r   r   s    r   r6  HelpsourceGuiTest.setUpClass  rU  r    c                    [        5       nUR                  5         [        R                  " USS[        SS9nU R
                  nU" UR                  R                  5       S5        U" UR                  R                  5       [        5        UR                  R                  5         [        R                  S:X  a  SOSnU" UR                  SU[        -   45        UR                  5         g )NrW  __test__T)menuitemfilepathr3  r   r   r   )r   r5  r   r   r   r<   r   r   r   rD  rE  sysr   r   r,   )r   r4  r?   rE   r   s        r   test_click_help_source(HelpsourceGuiTest.test_click_help_source  s    t""4z,4TC  fll *-fkkoo*!!llh6Bfmmj&8*;<=r    r7   N)r.   r/   r0   r1   r   r6  rw  r6   r7   r    r   ro  ro    s     r    ro  c                   *    \ rS rSr\S 5       rS rSrg)CustomRunGuiTesti  c                     [        S5        g rS  r   r   s    r   r6  CustomRunGuiTest.setUpClass  rU  r    c                    [        5       nUR                  5         [        R                  " USSS/SS9nU R	                  UR
                  R                  5       S5        UR
                  R                  [        S5        UR                  R                  5         U R	                  UR                  / SQS45        UR                  5         g )	NTitler   b=1T)r%  r3  za b=1z c)r   r  r   )r   r5  r   r  r<   r   r   rC  r   rD  rE  r   r,   rb  s      r   test_click_args CustomRunGuiTest.test_click_args  s    t//$,/<F))+W5C&!):D(ABr    r7   N)r.   r/   r0   r1   r   r6  r  r6   r7   r    r   rz  rz    r\  r    rz  __main__   F)	verbosityexit)!rU   r   r   unittesttest.supportr   test.support.testcaser   tkinterr   r   rv  r	   idlelib.idle_test.mock_tkr
   TestCaser   rW   ry   r   r   r   r   r
  r!  r-  rQ  r^  rg  ro  rz  r.   mainr7   r    r   <module>r     s^  
   ! 1  
  )
0J!! 0Jf9h'' 9B!9X&& !9H9x   9:?x00 ?2*@8,, *@Z<H-- <29X.. 96@8,, @.(/8$$ (/V** $))? "(##  )) (x(( $ zMMAE* r    