
    ѝi                     v   S r SSKJr  SSKrSSKJrJr  SSKJrJ	r	  SSK
Jr  SSKJr  SSKJr  SSKrSS	KJr  \R&                  r " S
 S\R*                  5      r " S S\R*                  5      r " S S\R*                  5      r " S S5      r " S S\R*                  5      r\S:X  a  \R8                  " SS9  gg)zTest help_about, coverage 100%.
help_about.build_bits branches on sys.platform='darwin'.
'100% combines coverage on Mac and others.
    )
help_aboutN)requiresfindfile)TkTclError)Func)	Mbox_func)textview)python_versionc                   V    \ rS rSrSr\S 5       r\S 5       rS rS r	S r
S rS	 rS
rg)LiveDialogTest   zeSimulate user clicking buttons other than [Close].

Test that invoked textview has text from source.
c                     [        S5        [        5       U l        U R                  R                  5         [	        U R                  SSS9U l        g Ngui
About IDLET_utestr   r   rootwithdrawAboutdialogclss    3lib/python3.13/idlelib/idle_test/test_help_about.py
setUpClassLiveDialogTest.setUpClass   6    4388\$?
    c                 t    U ? U R                  R                  5         U R                  R                  5         U ?g Nr   r   update_idletasksdestroyr   s    r   tearDownClassLiveDialogTest.tearDownClass   ,    J!!#Hr    c                 D    U R                  [        R                  S5        g )N)3264)assertInr   bitsselfs    r   test_build_bitsLiveDialogTest.test_build_bits&   s    joo|4r    c                 X    U R                  U R                  R                  5       S5        g)Test about dialog titler   N)assertEqualr   titler.   s    r   test_dialog_title LiveDialogTest.test_dialog_title)   s    **,l;r    c                     [         R                  R                  U R                  R                  S   5      u  p[         R                  R                  U5      u  p4U R                  US5        g)zTest about dialog logo.fileidle_48N)ospathsplitr   
icon_imagesplitextr4   )r/   r<   r9   fnexts        r   test_dialog_logoLiveDialogTest.test_dialog_logo-   sK    WW]]4;;#9#9&#AB
''""4(Y'r    c           	         U R                   nUR                  [        S4UR                  [        S4UR
                  [        S4/nU H  u  p4nU R                  US9   UR                  5         UR                  5         UR                  R                  R                  R                  R                  nUR                  n[!        U5      S:  a  U R#                  US-   5        U R%                  US   U" SS	5      5        U R%                  US
   U" SS5      5        UR                  R'                  5         SSS5        M     g! , (       d  f       GM  = f)z1Test buttons whose commands use printer function.license	copyrightcreditsname   z full text was not foundr   1.01.end   z2.0z2.endN)r   
py_licenserE   py_copyrightrF   
py_creditsrG   subTest_Printer__setupinvoke_current_textview	viewframe	textframetextget_Printer__lineslenfailr4   r%   )r/   r   button_sourcesbuttonprinterrI   rX   liness           r   test_printer_buttons#LiveDialogTest.test_printer_buttons3   s   !,,gyA!..	;G!,,gyAC &4!FT4('')..88BBGGKK//u:>IId%??@  q3ug+>?  q3ug+>?((002 )( &4((s   CD??
E	c           
      .   U R                   nU R                   R                  SS4U R                   R                  SS4U R                   R                  SS4/nU GH  u  p4nU R	                  US9   UR                  5         [        USS	9nUR                  R                  R                  R                  R                  n[        US
S9 nU R                  UR                  5       R                  5       U" SS5      5        UR                  5         U R                  UR                  5       R                  5       U" SS5      5        SSS5        UR                  R!                  5         SSS5        GM     g! , (       d  f       N6= f! , (       d  f       GM;  = f)z Test buttons that display files.z
README.txtreadmez	News3.txtnewszCREDITS.txtrG   rH   idlelib)subdirzutf-8)encodingrK   rL   z3.0z3.endN)r   rc   	idle_newsidle_creditsrQ   rS   r   rT   rU   rV   rW   rX   openr4   readlinestripr%   )	r/   r   r\   r]   filenamerI   r@   rX   fs	            r   test_file_buttons LiveDialogTest.test_file_buttonsF   s:   ;;--|XF;;00+vF;;33]INP '5"Fd,,D,)hy9..88BBGGKK"w/1$$QZZ\%7%7%93ug;NOJJL$$QZZ\%7%7%93ug;NO 0 ((002 *) '5
 0/	 *)s&   /AFA;E3"F3
F=F
F	 N)__name__
__module____qualname____firstlineno____doc__classmethodr   r&   r0   r6   rB   r`   ro   __static_attributes__rq   r    r   r   r      sJ     @ @  5<(3&3r    r   c                   >    \ rS rSrSr\S 5       r\S 5       rS rSr	g)DefaultTitleTestY   zTest default title.c                     [        S5        [        5       U l        U R                  R                  5         [	        U R                  SS9U l        g )Nr   Tr   r   r   s    r   r   DefaultTitleTest.setUpClass\   s4    4388D1
r    c                 t    U ? U R                  R                  5         U R                  R                  5         U ?g r"   r#   r   s    r   r&   DefaultTitleTest.tearDownClassc   r(   r    c                     U R                  U R                  R                  5       S[        5        S[        R
                   S35        g)r3   zAbout IDLE z (z bit)N)r4   r   r5   r   r   r-   r.   s    r   r6   "DefaultTitleTest.test_dialog_titlej   s=    **,&~'7&8joo.e5	6r    rq   N)
rr   rs   rt   ru   rv   rw   r   r&   r6   rx   rq   r    r   rz   rz   Y   s0    2 2  6r    rz   c                   >    \ rS rSrSr\S 5       r\S 5       rS rSr	g)	CloseTestq   z%Simulate user clicking [Close] buttonc                     [        S5        [        5       U l        U R                  R                  5         [	        U R                  SSS9U l        g r   r   r   s    r   r   CloseTest.setUpClasst   r   r    c                 t    U ? U R                  R                  5         U R                  R                  5         U ?g r"   r#   r   s    r   r&   CloseTest.tearDownClass{   r(   r    c                 2   U R                  U R                  R                  5       S5        U R                  R                  R	                  5         U R                  [        5         U R                  R                  5         S S S 5        g ! , (       d  f       g = f)NToplevel)r4   r   winfo_class	button_okrS   assertRaisesr   r.   s    r   
test_closeCloseTest.test_close   s_    002J?$$&x(KK##% )((s   $B
Brq   N)
rr   rs   rt   ru   rv   rw   r   r&   r   rx   rq   r    r   r   r   q   s2    /@ @  &r    r   c                   x    \ rS rSr\R
                  r\R                  r\R                  r
\R                  rSrSrg)Dummy_about_dialog   Trq   N)rr   rs   rt   ru   r   show_idle_creditsri   show_readmeidle_readmeshow_idle_newsrh   display_file_textr   rx   rq   r    r   r   r      s4    **L##K$$I//Fr    r   c                   L    \ rS rSrSr\" 5       r\S 5       r\S 5       r	S r
Srg)DisplayFileTest   zTest functions that display files.

While somewhat redundant with gui-based test_file_dialog,
these unit tests run on all buildbots, not just a few.
c                     [         R                  U l        [         R                  U l        [        5       U l        [        5       U l        U R                  [         l        U R                  [         l        g r"   )	r
   	showerror
orig_error	view_text	orig_viewr	   errorr   viewr   s    r   r   DisplayFileTest.setUpClass   sF    !++ **K	6 YY XXr    c                 X    U R                   [        l        U R                  [        l        g r"   )r   r
   r   r   r   r   s    r   r&   DisplayFileTest.tearDownClass   s     ^^ ]]r    c                    U R                   R                  U R                   R                  U R                   R                  4 H  nSU R                  l        SU R                  l        U R                  US9   U" 5         U R                  U R                  R
                  S5        U R                  U R                  R                  S5        S S S 5        M     g ! , (       d  f       M  = f)N F)handlerT)
r   ri   r   rh   r   messager   calledrQ   r4   )r/   r   s     r   test_file_display!DisplayFileTest.test_file_display   s    00//--/G "$DJJ$DIIg.	  !3!3R8  !1!148 /./
 /.s   6AC
C&	rq   N)rr   rs   rt   ru   rv   r   r   rw   r   r&   r   rx   rq   r    r   r   r      s<    
  !F& & + +	9r    r   __main__rJ   )	verbosity)rv   re   r   unittesttest.supportr   r   tkinterr   r   idlelib.idle_test.mock_idler   idlelib.idle_test.mock_tkr	   r
   os.pathr;   platformr   AboutDialogr   TestCaser   rz   r   r   r   rr   mainrq   r    r   <module>r      s   
   +   , /   #C3X&& C3L6x(( 60&!! &0 9h'' 9D zMMA r    