o
    JAf                     @   s   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ G d	d
 d
ejZdd ZG dd dejZedkrLejdd dS dS )zTest , coverage 17%.    )iomenuN)requires)Tk)EditorWindow)util)Funcc                   @   s4   e Zd Zedd Zedd Zdd Zdd Zd	S )
IOBindingTestc                 C   s:   t d t | _| j  t| jd| _t| j| _d S )NZgui)root)	r   r   r	   Zwithdrawr   editwinr   	IOBindingio)cls r   4/usr/lib/python3.10/idlelib/idle_test/test_iomenu.py
setUpClass   s
   
zIOBindingTest.setUpClassc                 C   sV   | j   | j  | `| j  | jjddD ]}| j| q| j	  | `d S )NZafterinfo)
r   closer
   _closer	   Zupdate_idletasksZtkcallZafter_cancelZdestroy)r   idr   r   r   tearDownClass   s   



zIOBindingTest.tearDownClassc                 C   s   |  | jj| j d S )N)ZassertIsr   r
   selfr   r   r   	test_init!   s   zIOBindingTest.test_initc                 C   s   | j }| j}|j}|jj}d | j_d}t|d| j_|| | | j`| j`|dd || d|j	  ||
ddd || d|j	  d S )Nz>>> if 1)resultg      ?az1.0zend-1cza
)ZassertEqualr   Zfixnewlinesr
   textZinterpr   Zget_prompt_textinsertZeol_conventionget)r   eqr   Zfixr   Z	shelltextr   r   r   test_fixnewlines_end$   s   z"IOBindingTest.test_fixnewlines_endN)__name__
__module____qualname__classmethodr   r   r   r    r   r   r   r   r      s    


r   c                    s   t  fddtjjD S )Nc                 3   s"    | ]}d   |d v V  qdS )*   Nr   ).0Zfiletype_tuple	extensionr   r   	<genexpr>8   s
    
z*_extension_in_filetypes.<locals>.<genexpr>)anyr   r   Z	filetypesr(   r   r(   r   _extension_in_filetypes7   s   r,   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )FiletypesTestc              	   C   sJ   t jD ]}| j|d | t| W d    n1 sw   Y  qd S )Nr(   )r   Zpy_extensionsZsubTest
assertTruer,   )r   r)   r   r   r   test_python_source_files?   s   
z&FiletypesTest.test_python_source_filesc                 C      |  td d S )Nz.txtr.   r,   r   r   r   r   test_text_filesF      zFiletypesTest.test_text_filesc                 C   r0   )N r1   r   r   r   r   test_all_filesI   r3   zFiletypesTest.test_all_filesN)r!   r"   r#   r/   r2   r5   r   r   r   r   r-   >   s    r-   __main__   )	verbosity)__doc__Zidlelibr   ZunittestZtest.supportr   tkinterr   Zidlelib.editorr   r   Zidlelib.idle_test.mock_idler   ZTestCaser   r,   r-   r!   mainr   r   r   r   <module>   s    +