<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2a                 @   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j  t| jddd| _d S )Nguiz
About IDLET)_utest)r   r   rootwithdrawAboutdialog)cls r   4/opt/alt/python36/lib64/python3.6/test_help_about.py
setUpClass   s    
zLiveDialogTest.setUpClassc             C   s    | ` | jj  | jj  | `d S )N)r   r   update_idletasksdestroy)r   r   r   r   tearDownClass   s    

zLiveDialogTest.tearDownClassc             C   s   | j tj d d S )N3264)r   r   )ZassertInr   
build_bits)selfr   r   r   test_build_bits&   s    zLiveDialogTest.test_build_bitsc             C   s   | j | jj d d S )Nz
About IDLE)assertEqualr   title)r   r   r   r   test_dialog_title)   s    z LiveDialogTest.test_dialog_titlec             C   s8   t jj| jjd \}}t jj|\}}| j|d d S )NfileZidle_48)ospathsplitr   Z
icon_imagesplitextr   )r   r#   r!   fnZ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}x|D ]|\}}}| j|d` |j  |j	  |j
jjjj}|j}| j|d |dd | j|d |d	d
 |j
j  W d Q R X q.W d S )Nlicense	copyrightcredits)namer   z1.0z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__linesr   r   )r   r   button_sourcesbuttonZprinterr+   r4   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}x|D ]\}}}| j|d |j  t|dd	}|jjj	j
j}t|d
dB}| j|j j |dd |j  | j|j j |dd W d Q R X |jj  W d Q R X q4W d S )Nz
README.txtreadmezNEWS.txtZnewszCREDITS.txtr*   )r+   idlelib)Zsubdirzutf-8)encodingz1.0z1.endz3.0z3.end)r   r:   	idle_newsidle_creditsr-   r/   r   r0   r1   r2   r3   r4   openr   readlinestripr   )	r   r   r6   r7   filenamer+   r&   r4   fr   r   r   test_file_buttonsD   s    $z LiveDialogTest.test_file_buttonsN)__name__
__module____qualname__classmethodr   r   r   r    r'   r9   rD   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j  t| jdd| _d S )Nr   T)r   )r   r   r   r   r   r   )r   r   r   r   r   Z   s    
zDefaultTitleTest.setUpClassc             C   s    | ` | jj  | jj  | `d S )N)r   r   r   r   )r   r   r   r   r   a   s    

zDefaultTitleTest.tearDownClassc             C   s*   | j | jj dt  dtj  d d S )NzAbout IDLE z (z bit))r   r   r   r
   r   r   )r   r   r   r   r    h   s    z"DefaultTitleTest.test_dialog_titleN)rE   rF   rG   rH   r   r   r    r   r   r   r   rI   W   s   rI   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j  t| jddd| _d S )Nr   z
About IDLET)r   )r   r   r   r   r   r   )r   r   r   r   r   r   s    
zCloseTest.setUpClassc             C   s    | ` | jj  | jj  | `d S )N)r   r   r   r   )r   r   r   r   r   y   s    

zCloseTest.tearDownClassc          	   C   sB   | j | jj d | jjj  | jt | jj  W d Q R X d S )NZToplevel)r   r   Zwinfo_classZ	button_okr/   ZassertRaisesr   )r   r   r   r   
test_close   s    zCloseTest.test_closeN)rE   rF   rG   rH   r   r   rK   r   r   r   r   rJ   o   s   rJ   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)rE   rF   rG   r   Zshow_idle_creditsr>   Zshow_readmeidle_readmeZshow_idle_newsr=   Zdisplay_file_textr   r   r   r   r   rL      s
   rL   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 )N)	r	   	showerror
orig_error	view_text	orig_viewr   errorr   view)r   r   r   r   r      s    zDisplayFileTest.setUpClassc             C   s   | j t_| jt_d S )N)rP   r	   rO   rR   rQ   )r   r   r   r   r      s    zDisplayFileTest.tearDownClassc             C   sr   xl| j j| j j| j jfD ]R}d| j_d| j_| j|d, |  | j	| jjd | j	| jjd W d Q R X qW d S )N F)handlerT)
r   r>   rM   r=   rS   messagerT   Zcalledr-   r   )r   rV   r   r   r   test_file_display   s    z!DisplayFileTest.test_file_displayN)	rE   rF   rG   rL   r   rH   r   r   rX   r   r   r   r   rN      s   	rN   __main__   )	verbosity)r;   r   ZunittestZtest.supportr   r   Ztkinterr   r   Zidlelib.idle_test.mock_idler   Zidlelib.idle_test.mock_tkr   r	   Zos.pathr"   platformr
   ZAboutDialogr   ZTestCaser   rI   rJ   rL   rN   rE   mainr   r   r   r   <module>   s    D
"