a
    	3j                     @   s   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
 d
ejZG dd dejZG dd dejZG dd dZG dd dejZedkrejdd dS )    )
help_aboutN)requiresfindfile)TkTclError)Func)	Mbox_func)textview)python_versionc                   @   sL   e Zd Zedd Zedd Zdd Zdd Zd	d
 Zdd Z	dd Z
dS )LiveDialogTestc                 C   s0   t d t | _| j  t| jddd| _d S Ngui
About IDLET_utestr   r   rootZwithdrawAboutdialogcls r   ]/www/server/python_manager/versions/3.9.10/lib/python3.9/idlelib/idle_test/test_help_about.py
setUpClass   s    
zLiveDialogTest.setUpClassc                 C   s    | ` | j  | j  | `d S Nr   r   Zupdate_idletasksdestroyr   r   r   r   tearDownClass   s    

zLiveDialogTest.tearDownClassc                 C   s   |  t d d S )N)Z32Z64)ZassertInr   
build_bitsselfr   r   r   test_build_bits&   s    zLiveDialogTest.test_build_bitsc                 C   s   |  | j d d S )Nr   )assertEqualr   titler   r   r   r   test_dialog_title)   s    z LiveDialogTest.test_dialog_titlec                 C   s8   t j| jjd \}}t j|\}}| |d d S )NfileZidle_48)ospathsplitr   Z
icon_imagesplitextr"   )r    r'   r%   fnextr   r   r   test_dialog_logo-   s    zLiveDialogTest.test_dialog_logoc              	   C   s   | j }|jtdf|jtdf|jtdfg}|D ]\}}}| j|d |  |	  |j
jjjj}|j}t|dk r| |d  | |d |dd	 | |d
 |dd |j
  W d    q,1 s0    Y  q,d S )Nlicense	copyrightcreditsname   z full text was not foundr   1.01.end   z2.0z2.end)r   Z
py_licenser-   Zpy_copyrightr.   Z
py_creditsr/   subTest_Printer__setupinvoke_current_textview	viewframe	textframetextget_Printer__lineslenZfailr"   r   )r    r   button_sourcesbuttonZprinterr1   r=   linesr   r   r   test_printer_buttons3   s     


z#LiveDialogTest.test_printer_buttonsc           	   
   C   s  | j }| j jddf| j jddf| j jddfg}|D ]\}}}| j|d |  t|dd	}|jjj	j
j}t|d
dL}| |  |dd |  | |  |dd W d    n1 s0    Y  |j  W d    q21 s0    Y  q2d S )Nz
README.txtreadmezNEWS.txtnewszCREDITS.txtr/   r0   idlelib)Zsubdirzutf-8)encodingr3   r4   z3.0z3.end)r   rD   	idle_newsidle_creditsr6   r8   r   r9   r:   r;   r<   r=   openr"   readlinestripr   )	r    r   r@   rA   filenamer1   r*   r=   fr   r   r   test_file_buttonsF   s    8z LiveDialogTest.test_file_buttonsN)__name__
__module____qualname__classmethodr   r   r!   r$   r,   rC   rO   r   r   r   r   r      s   

r   c                   @   s,   e Zd Zedd Zedd Zdd ZdS )DefaultTitleTestc                 C   s.   t d t | _| j  t| jdd| _d S )Nr   Tr   r   r   r   r   r   r   \   s    
zDefaultTitleTest.setUpClassc                 C   s    | ` | j  | j  | `d S r   r   r   r   r   r   r   c   s    

zDefaultTitleTest.tearDownClassc                 C   s*   |  | j dt  dt  d d S )NzAbout IDLE z (z bit))r"   r   r#   r
   r   r   r   r   r   r   r$   j   s
    
z"DefaultTitleTest.test_dialog_titleN)rP   rQ   rR   rS   r   r   r$   r   r   r   r   rT   Y   s
   

rT   c                   @   s,   e Zd Zedd Zedd Zdd ZdS )	CloseTestc                 C   s0   t d t | _| j  t| jddd| _d S r   r   r   r   r   r   r   t   s    
zCloseTest.setUpClassc                 C   s    | ` | j  | j  | `d S r   r   r   r   r   r   r   {   s    

zCloseTest.tearDownClassc                 C   sV   |  | j d | jj  | t | j  W d    n1 sH0    Y  d S )NZToplevel)r"   r   Zwinfo_classZ	button_okr8   ZassertRaisesr   r   r   r   r   
test_close   s    zCloseTest.test_closeN)rP   rQ   rR   rS   r   r   rV   r   r   r   r   rU   q   s
   

rU   c                   @   s(   e Zd ZejZejZejZ	ej
Z
dZdS )Dummy_about_dialogTN)rP   rQ   rR   r   Zshow_idle_creditsrI   Zshow_readmeidle_readmeZshow_idle_newsrH   Zdisplay_file_textr   r   r   r   r   rW      s
   rW   c                   @   s2   e Zd Ze Zedd Zedd Zdd ZdS )DisplayFileTestc                 C   s4   t j| _t j| _t | _t | _| jt _| jt _d S r   )	r	   	showerror
orig_error	view_text	orig_viewr   errorr   viewr   r   r   r   r      s    zDisplayFileTest.setUpClassc                 C   s   | j t_| jt_d S r   )r[   r	   rZ   r]   r\   r   r   r   r   r      s    zDisplayFileTest.tearDownClassc              	   C   s   | j j| j j| j jfD ]f}d| j_d| j_| j|d6 |  | 	| jjd | 	| jjd W d    q1 sr0    Y  qd S )N F)handlerT)
r   rI   rX   rH   r^   messager_   Zcalledr6   r"   )r    ra   r   r   r   test_file_display   s    z!DisplayFileTest.test_file_displayN)	rP   rQ   rR   rW   r   rS   r   r   rc   r   r   r   r   rY      s   

rY   __main__r2   )	verbosity)rF   r   ZunittestZtest.supportr   r   tkinterr   r   Zidlelib.idle_test.mock_idler   Zidlelib.idle_test.mock_tkr   r	   Zos.pathr&   platformr
   ZAboutDialogr   ZTestCaser   rT   rU   rW   rY   rP   mainr   r   r   r   <module>   s    F
"