o
    JAfg  ã                   @   sÒ   d Z ddlmZ ddlZddl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mZ ejjZe
 d
¡e
 d
¡e
 d
¡e
 d
¡dœZdZG dd„ dƒZG dd„ dejƒZedkrgejdd dS dS )zTest zzdummy, coverage 100%.é    )ÚzzdummyN)Úrequires)ÚTkÚText)Úmock)Úconfig)Úeditor)ÚformatÚ )ÚmainZ	highlightÚkeysÚ
extensionszd
class C1:
    # Class comment.
    def __init__(self, a, b):
        self.a = a
        self.b = b
c                   @   s   e Zd ZejjZdd„ ZdS )ÚDummyEditwinc                 C   s:   || _ || _|| _t | ¡| _t ¡ | j_t ¡ | j_	d S ©N)
ÚrootÚtopÚtextr	   ZFormatRegionZfregionr   ZMockÚundo_block_startÚundo_block_stop)Úselfr   r   © r   ú5/usr/lib/python3.10/idlelib/idle_test/test_zzdummy.pyÚ__init__    s   zDummyEditwin.__init__N)Ú__name__Ú
__module__Ú__qualname__r   ZEditorWindowZget_selection_indicesr   r   r   r   r   r      s    r   c                   @   sd   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d„ Zdd„ Zdd„ ZdS )ÚZZDummyTestc                 C   sD   t dƒ tƒ  }| _| ¡  t| jƒ }| _t||ƒ| _tt	j
_d S )NZgui)r   r   r   Zwithdrawr   r   r   r   Útestcfgr   ÚidleConfÚuserCfg)Úclsr   r   r   r   r   Ú
setUpClass+   s   zZZDummyTest.setUpClassc                 C   sN   t tj_| `| `| j ¡  | jj 	dd¡D ]}| j 
|¡ q| j ¡  | `d S )NZafterÚinfo)Úusercfgr   r   r   r   r   r   Zupdate_idletasksZtkÚcallZafter_cancelZdestroy)r    Úidr   r   r   ÚtearDownClass4   s   

zZZDummyTest.tearDownClassc                 C   sD   | j }| dt¡ |j ¡  |j ¡  t | j¡ }| _	dtj_
d S )Nú1.0ú
# ignore #)r   ÚinsertÚcode_sampler   Ú
reset_mockr   r   ÚZzDummyr   ÚzzÚztext)r   r   r-   r   r   r   ÚsetUp>   s   

zZZDummyTest.setUpc                 C   s   | j  dd¡ | `d S )Nr'   Úend)r   Údeleter-   ©r   r   r   r   ÚtearDownF   s   zZZDummyTest.tearDownc                 C   sR   t t| d¡ƒƒ}g }td|ƒD ]}| |› d|› d¡}| | |¡¡ q|S )Nr0   é   z.0z.end)ÚintÚfloatÚindexÚrangeÚgetÚappendÚ
startswith)r   r   ÚvalueZend_lineÚactualÚlineZtxtr   r   r   Ú
checklinesJ   s   zZZDummyTest.checklinesc                 C   s,   | j }|  |j| j¡ |  |j| jj¡ d S r   )r-   ÚassertEqualZeditwinr   r   )r   r-   r   r   r   Ú	test_initU   s   zZZDummyTest.test_initc                 C   s@   |   | jjd¡ td  ddd¡ tj ¡  |   | jjd¡ d S )Nr(   r   r,   zz-textZspam)r@   r-   r.   r   Z	SetOptionr   r,   Úreloadr2   r   r   r   Útest_reloadZ   s   
zZZDummyTest.test_reloadc                 C   s”   | j }| j}|j}|| jjdƒ g d¢}|  ||j¡}|||ƒ | ddd¡ || ¡ dƒ g d¢}|  ||j¡}|||ƒ |j ¡  |j	 ¡  d S )Nr(   )FFFFFFFÚselú2.0ú4.endÚbreak)FTTTFFF)
r@   r-   r   r.   r?   Útag_addÚ
z_in_eventr   Úassert_called_oncer   ©r   Úeqr-   r   Zexpectedr=   r   r   r   Útest_z_in_event`   s   


zZZDummyTest.test_z_in_eventc                 C   s¬   | j }| j}|j}|| jjdƒ | ddd¡ | ¡  |j ¡  |j ¡  | 	ddd¡ | ddd¡ || 
¡ d	ƒ g d
¢}|  ||j¡}|||ƒ |j ¡  |j ¡  d S )Nr(   rD   rE   z5.endr'   r0   z3.0rF   rG   )FTFFTFF)r@   r-   r   r.   rH   rI   r   r+   r   Z
tag_removeÚz_out_eventr?   rJ   rK   r   r   r   Útest_z_out_eventt   s    



zZZDummyTest.test_z_out_eventc                 C   sB   | j }|j}| ddd¡ | ¡  | ¡  |  | dd¡t¡ d S )NrD   r'   zend-1c)r-   r   rH   rI   rN   r@   r9   r*   )r   r-   r   r   r   r   Útest_roundtrip‹   s   zZZDummyTest.test_roundtripN)r   r   r   Úclassmethodr!   r&   r/   r3   r?   rA   rC   rM   rO   rP   r   r   r   r   r   )   s    

	r   Ú__main__é   )Ú	verbosity)Ú__doc__Zidlelibr   ZunittestZtest.supportr   Útkinterr   r   r   r   r   r	   r   r   r#   ZIdleUserConfParserr   r*   r   ZTestCaser   r   r   r   r   r   r   Ú<module>   s*    ü
nÿ