a
    ¿ßúei  ã                   @   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rÊejdd dS )zTest zzdummy, coverage 100%.é    )ÚzzdummyN)Úrequires)ÚTkÚText)Úmock)Úconfig)Úeditor)ÚformatÚ )ÚmainZ	highlightÚkeysÚ
extensionszf
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   ú/lib/python3.9/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tkZ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 )Nr/   é   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+   Úreloadr1   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'   rC   rD   z5.endr&   r/   z3.0rE   rF   )FTFFTFF)r?   r,   r   r-   rG   rH   r   r*   r   Z
tag_removeÚz_out_eventr>   rI   rJ   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 )NrC   r&   zend-1c)r,   r   rG   rH   rM   r?   r8   r)   )r   r,   r   r   r   r   Útest_roundtrip‹   s    zZZDummyTest.test_roundtripN)r   r   r   Úclassmethodr!   r%   r.   r2   r>   r@   rB   rL   rN   rO   r   r   r   r   r   )   s   

	r   Ú__main__é   )Ú	verbosity)Ú__doc__Zidlelibr   ZunittestZtest.supportr   Ztkinterr   r   r   r   r   r	   r   r   r#   ZIdleUserConfParserr   r)   r   ZTestCaser   r   r   r   r   r   r   Ú<module>   s&   ü
n