
   ;
                   f   	 d dl mZ d dlZd dlmZmZ d dlmZmZ d dl	m
Z
 d dlmZ d dl mZ d dlZd dlmZ ej        Z G d	 d
ej                  Z G d dej                  Z G d dej                  Z G d d          Z G d dej                  Zedk    r ej        d           dS dS )    )
help_aboutN)requiresfindfile)TkTclError)Func)	Mbox_func)textview)python_versionc                   Z    e Zd Z	 ed             Zed             Zd Zd Zd Zd Z	d Z
dS )	LiveDialogTestc                     t          d           t                      | _        | j                                         t	          | j        dd          | _        d S Ngui
About IDLET_utestr   r   rootwithdrawAboutdialogclss    o/nix/store/c6yb989sl77467xxwhylnkph1pqyi47p-python3-3.11.15/lib/python3.11/idlelib/idle_test/test_help_about.py
setUpClasszLiveDialogTest.setUpClass   H    4438\$???


    c                 r    | ` | j                                         | j                                         | `d S Nr   r   update_idletasksdestroyr   s    r   tearDownClasszLiveDialogTest.tearDownClass   8    J!!###HHHr   c                 F    |                      t          j        d           d S )N)3264)assertInr   bitsselfs    r   test_build_bitszLiveDialogTest.test_build_bits&   s    jo|44444r   c                 b    	 |                      | j                                        d           d S )Nr   )assertEqualr   titler+   s    r   test_dialog_titlez LiveDialogTest.test_dialog_title)   s/    %**,,l;;;;;r   c                     	 t           j                            | j        j        d                   \  }}t           j                            |          \  }}|                     |d           d S )Nfileidle_48)ospathsplitr   
icon_imagesplitextr/   )r,   r6   r3   fnexts        r   test_dialog_logozLiveDialogTest.test_dialog_logo-   s[    %W]]4;#9&#ABB
d'""4((CY'''''r   c           	         	 | j         }|j        t          df|j        t          df|j        t          dfg}|D ]\  }}}|                     |          5  |                                 |	                                 |j
        j        j        j        j        }|j        }t!          |          dk     r|                     |dz              |                     |d          |dd	                     |                     |d
          |dd                     |j
                                         d d d            n# 1 swxY w Y   d S )Nlicense	copyrightcreditsname   z full text was not foundr   1.01.end   z2.0z2.end)r   
py_licenser>   py_copyrightr?   
py_creditsr@   subTest_Printer__setupinvoke_current_textview	viewframe	textframetextget_Printer__lineslenfailr/   r#   )r,   r   button_sourcesbuttonprinterrB   rQ   liness           r   test_printer_buttonsz#LiveDialogTest.test_printer_buttons3   s   ?!,gyA!.	;G!,gyAC &4 
	3 
	3!FGT4(( 	3 	3''))).8BGK/u::>>IId%??@@@  q33ug+>+>???  q33ug+>+>???(00222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3
	3 
	3s   CD;;D?	D?	c           
         	 | j         }| j         j        ddf| j         j        ddf| j         j        ddfg}|D ]S\  }}}|                     |          5  |                                 t          |d	          }|j        j        j	        j
        j        }t          |d
          5 }|                     |                                                                 |dd                     |                                 |                     |                                                                 |dd                     d d d            n# 1 swxY w Y   |j                                         d d d            n# 1 swxY w Y   Ud S )Nz
README.txtreadmez	News3.txtnewszCREDITS.txtr@   rA   idlelib)subdirzutf-8)encodingrD   rE   z3.0z3.end)r   r[   	idle_newsidle_creditsrJ   rL   r   rM   rN   rO   rP   rQ   openr/   readlinestripr#   )	r,   r   rU   rV   filenamerB   r:   rQ   fs	            r   test_file_buttonsz LiveDialogTest.test_file_buttonsF   s   .;-|XF;0+vF;3]INP '5 		3 		3"FHd,,D,)) 3 3hy999.8BGK"w/// P1$$QZZ\\%7%7%9%933ug;N;NOOOJJLLL$$QZZ\\%7%7%9%933ug;N;NOOOP P P P P P P P P P P P P P P (002223 3 3 3 3 3 3 3 3 3 3 3 3 3 3		3 		3s8   AE?&BEE?EE?EE??F	F	N)__name__
__module____qualname__classmethodr   r$   r-   r1   r<   rY   rg    r   r   r   r      s         @ @ [@   [5 5 5< < <( ( (3 3 3&3 3 3 3 3r   r   c                   B    e Zd Z	 ed             Zed             Zd ZdS )DefaultTitleTestc                     t          d           t                      | _        | j                                         t	          | j        d          | _        d S )Nr   Tr   r   r   s    r   r   zDefaultTitleTest.setUpClass\   sF    4438D111


r   c                 r    | ` | j                                         | j                                         | `d S r    r!   r   s    r   r$   zDefaultTitleTest.tearDownClassc   r%   r   c                     	 |                      | j                                        dt                       dt          j         d           d S )NzAbout IDLE z (z bit))r/   r   r0   r   r   r*   r+   s    r   r1   z"DefaultTitleTest.test_dialog_titlej   sb    %**,,5~'7'7 5 5(o5 5 5	6 	6 	6 	6 	6r   N)rh   ri   rj   rk   r   r$   r1   rl   r   r   rn   rn   Y   sZ        2 2 [2   [6 6 6 6 6r   rn   c                   B    e Zd Z	 ed             Zed             Zd ZdS )	CloseTestc                     t          d           t                      | _        | j                                         t	          | j        dd          | _        d S r   r   r   s    r   r   zCloseTest.setUpClasst   r   r   c                 r    | ` | j                                         | j                                         | `d S r    r!   r   s    r   r$   zCloseTest.tearDownClass{   r%   r   c                 4   |                      | j                                        d           | j        j                                         |                     t                    5  | j                                         d d d            d S # 1 swxY w Y   d S )NToplevel)r/   r   winfo_class	button_okrL   assertRaisesr   r+   s    r   
test_closezCloseTest.test_close   s    0022J???$$&&&x(( 	& 	&K##%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   &BBBN)rh   ri   rj   rk   r   r$   r{   rl   r   r   rs   rs   q   s]        /@ @ [@   [& & & & &r   rs   c                   J    e Zd Zej        Zej        Zej        Z	ej
        Z
dZdS )Dummy_about_dialogTN)rh   ri   rj   r   show_idle_creditsra   show_readmeidle_readmeshow_idle_newsr`   display_file_textr   rl   r   r   r}   r}      s4        *L#K$I/FFFr   r}   c                   V    e Zd Z	  e            Zed             Zed             Zd ZdS )DisplayFileTestc                     t           j        | _        t           j        | _        t                      | _        t                      | _        | j        t           _        | j        t           _        d S r    )	r
   	showerror
orig_error	view_text	orig_viewr	   errorr   viewr   s    r   r   zDisplayFileTest.setUpClass   sF    !+ *KK	66 Y Xr   c                 J    | j         t          _        | j        t          _        d S r    )r   r
   r   r   r   r   s    r   r$   zDisplayFileTest.tearDownClass   s     ^ ]r   c                 r   | j         j        | j         j        | j         j        fD ]}d| j        _        d| j        _        |                     |          5   |             | 	                    | j        j        d           | 	                    | j        j        d           d d d            n# 1 swxY w Y   d S )N F)handlerT)
r   ra   r   r`   r   messager   calledrJ   r/   )r,   r   s     r   test_file_displayz!DisplayFileTest.test_file_display   s    0/-/ 	9 	9G "$DJ$DIg.. 9 9			  !3R888  !148889 9 9 9 9 9 9 9 9 9 9 9 9 9 9	9 	9s   AB++B/	2B/	N)	rh   ri   rj   r}   r   rk   r   r$   r   rl   r   r   r   r      sl        
  !!F& & [& + + [+	9 	9 	9 	9 	9r   r   __main__rC   )	verbosity)r]   r   unittesttest.supportr   r   tkinterr   r   idlelib.idle_test.mock_idler   idlelib.idle_test.mock_tkr	   r
   os.pathr5   platformr   AboutDialogr   TestCaser   rn   rs   r}   r   rh   mainrl   r   r   <module>r      s  
        + + + + + + + +                 , , , , , , / / / / / /        # # # # # #C3 C3 C3 C3 C3X& C3 C3 C3L6 6 6 6 6x( 6 6 60& & & & &! & & &0       9 9 9 9 9h' 9 9 9D zHMA r   