<!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
 f                 @   s   d Z 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 )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               @   sP   e Zd 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 )LiveDialogTestzmSimulate user clicking buttons other than [Close].

    Test that invoked textview has text from source.
    c             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   F/opt/alt/python36/lib64/python3.6/idlelib/idle_test/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 )zTest about dialog titlez
About IDLEN)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 )zTest about dialog logo.fileZidle_48N)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 )z1Test buttons whose commands use printer function.license	copyrightcredits)namer   z1.0z1.end   z2.0z2.endN)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 )z Test buttons that display files.z
README.txtreadmezNEWS.txtZnewszCREDITS.txtr*   )r+   idlelib)Zsubdirzutf-8)encodingz1.0z1.endz3.0z3.endN)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____doc__classmethodr   r   r   r    r'   r9   rD   r   r   r   r   r      s   r   c               @   s0   e Zd ZdZedd Zedd Zdd ZdS )	DefaultTitleTestzTest default title.c             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 )zTest about dialog titlezAbout IDLE z (z bit)N)r   r   r   r
   r   r   )r   r   r   r   r    h   s    z"DefaultTitleTest.test_dialog_titleN)rE   rF   rG   rH   rI   r   r   r    r   r   r   r   rJ   W   s   rJ   c               @   s0   e Zd ZdZedd Zedd Zdd ZdS )		CloseTestz%Simulate user clicking [Close] buttonc             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   rI   r   r   rL   r   r   r   r   rK   o   s   rK   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   rM      s
   rM   c               @   s6   e Zd ZdZe Zedd Zedd Zdd Z	dS )	DisplayFileTestzTest 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             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)rQ   r	   rP   rS   rR   )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>   rN   r=   rT   messagerU   Zcalledr-   r   )r   rW   r   r   r   test_file_display   s    z!DisplayFileTest.test_file_displayN)
rE   rF   rG   rH   rM   r   rI   r   r   rY   r   r   r   r   rO      s
   	rO   __main__   )	verbosity)rH   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   rJ   rK   rM   rO   rE   mainr   r   r   r   <module>   s"   D
"