HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/idlelib/idle_test/__pycache__/test_editor.cpython-38.pyc
U

�i�_c�@s�dZddlmZddlZddlmZddlmZddlm	Z	ddl
mZejZ
Gdd	�d	ej�ZGd
d�dej�Zdd
�ZGdd�dej�ZGdd�dej�Zedkr�ejdd�dS)zTest editor, coverage 35%.�)�editorN)�
namedtuple)�requires)�Tk)�Funcc@s,eZdZedd��Zedd��Zdd�ZdS)�EditorWindowTestcCstd�t�|_|j��dS)N�gui)rr�root�withdraw��cls�r
�</opt/python38/lib/python3.8/idlelib/idle_test/test_editor.py�
setUpClassszEditorWindowTest.setUpClasscCs>|j��|jj�dd�D]}|j�|�q|j��|`dS�NZafter�info)r	�update_idletasks�tk�call�after_cancel�destroy�r�idr
r
r�
tearDownClasss


zEditorWindowTest.tearDownClasscCs(t|jd�}|�|j|j�|��dS)N�r	)�Editorr	�assertEqual�_close)�self�er
r
r�	test_initszEditorWindowTest.test_initN)�__name__�
__module__�__qualname__�classmethodrrr r
r
r
rr
s


rc@s$eZdZdd�Zdd�Zdd�ZdS)�TestGetLineIndentcCsHdD]>}dD]4}|j||d��|�tj||d�d�W5QRXqqdS)N)�����)��
)�line�tabwidth�r.�rr��subTestrrZget_line_indent)rr.r-r
r
r�test_empty_lines$s�z"TestGetLineIndent.test_empty_linesc
CsDd}|D]6\}}|j|d��|�tj|dd�|�W5QRXqdS)N)�z	no spacesr0)z    space test)r(r()�		tab test)r&r()�		double tabs test)r'r*)z    	mixed test��r*)z  	  mixed test)r8r))z	    mixed testr7)�
  	mixed test)�r()�
 	 mixed test)r:r8)�
	  mixed test)r:r)�z
newline testr0�r-r(r/r1�r�testsr-�expectedr
r
r�test_tabwidth_4-s�z!TestGetLineIndent.test_tabwidth_4c
CsDd}|D]6\}}|j|d��|�tj|dd�|�W5QRXqdS)N)r4)z        space test)r*r*)r5)r&r*)r6)r'�)z        	mixed test��	rC)z      	  mixed test)rE�
)z	        mixed testrD)r9)r:r*)r;)r:rE)r<)r:rFr=r>r*r/r1r?r
r
r�test_tabwidth_8Fs�z!TestGetLineIndent.test_tabwidth_8N)r!r"r#r3rBrGr
r
r
rr%#s	r%cCs$|�dd�|�d|�|��dS)N�1.0�end)�delete�insert�update)�text�stringr
r
rrK`srKc@s,eZdZedd��Zedd��Zdd�ZdS)�IndentAndNewlineTestcCs<td�t�|_|j��t|jd�|_d|j_d|j_dS)Nrrr')rrr	r
r�windowZindentwidthr.rr
r
rrhs
zIndentAndNewlineTest.setUpClasscCsL|j��|`|j��|jj�dd�D]}|j�|�q(|j��|`dSr�rPrr	rrrrrrr
r
rrqs


z"IndentAndNewlineTest.tearDownClassc	
Csh|j}|j}|j}|j}|j}tdddddg�}|dddd	�|d
ddd
�|dddd�|dddd�|dddd�|dddd	�|dddd�|ddd d	�|d!dd"d�f	}d#|_|D]T}|j|jd$��<t	||j�|�
d%|j�|dd&�||d'd(�|j�W5QRXq�t	|d)�|�
d*d+d	�|d�||d'd(�d,�d-|_t	|d.�|�
d%d/�|d�||d'd(�d0�dS)1NZTests�labelrMrA�markz"Empty line inserts with no indent.z  
  def __init__(self):z
  
  def __init__(self):
z1.endz+Inside bracket before space, deletes space.z  def f1(self, a, b):z  def f1(self,
         a, b):
z1.14z*Inside bracket after space, deletes space.z1.15z(Inside string with one line - no indent.z  """Docstring."""z  """Docstring.
"""
z&Inside string with more than one line.z%  """Docstring.
  Docstring Line 2"""z)  """Docstring.
  Docstring Line 2
  """
z2.18zBackslash with one line.za =\za =\
  
z"Backslash with more than one line.za =\
          multiline\z%a =\
          multiline\
          
z2.endz Block opener - indents +1 level.z  def f1(self):
    passz  def f1(self):
    
    pass
z Block closer - dedents -1 level.z  def f1(self):
    pass
  
r+)rRrK)�eventrHrIz&  def f1(self, a, b):
    return a + bZselz1.17z-  def f1(self, a,
         
    return a + b
z>>> z	>>> 		a =z1.5z	>>> 
a =
)rrPrM�getZnewline_and_indent_eventrZprompt_last_liner2rRrKZmark_setrSrAZtag_add)	r�eq�wrMrU�nlZTestInfor@�testr
r
r�test_indent_and_newline_event{s�����������&


z2IndentAndNewlineTest.test_indent_and_newline_eventN)r!r"r#r$rrrZr
r
r
rrOfs


	rOc@s:eZdZedd��Zedd��ZGdd�d�Zdd�Zd	S)
�	RMenuTestcCs,td�t�|_|j��t|jd�|_dS)Nrr)rrr	r
rrPrr
r
rr�s
zRMenuTest.setUpClasscCsL|j��|`|j��|jj�dd�D]}|j�|�q(|j��|`dSrrQrr
r
rr�s


zRMenuTest.tearDownClassc@seZdZdd�ZdS)zRMenuTest.DummyRMenucCsdS�Nr
)�x�yr
r
r�tk_popup��zRMenuTest.DummyRMenu.tk_popupN)r!r"r#r_r
r
r
r�
DummyRMenu�sracCsdSr\r
)rr
r
r�test_rclick�szRMenuTest.test_rclickN)r!r"r#r$rrrarbr
r
r
rr[�s

	r[�__main__r')�	verbosity)�__doc__ZidlelibrZunittest�collectionsrZtest.supportr�tkinterrZidlelib.idle_test.mock_idlerZEditorWindowrZTestCaserr%rKrOr[r!�mainr
r
r
r�<module>s=[