Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/idlelib/idle_test/__pycache__/test_sidebar.cpython-39.opt-2.pyc

a

XC?h�3�@s�ddlZddlmZddlZddlZddlmZddlZ	ddl
mZddlm
Z
Gdd�d�ZGdd	�d	ej�Zed
kr�ejdd�dS)
�N)�chain)�requires)�	Delegator)�
Percolatorc@s$eZdZdd�Zdd�Zdd�ZdS)�
Dummy_editwincCs4||_|jj|_t|�|_t�|_|j�|j�dS�N)�textZmaster�
text_framer�perrZundoZinsertfilter)�selfr�r�C/opt/alt/python39/lib64/python3.9/idlelib/idle_test/test_sidebar.py�__init__s


zDummy_editwin.__init__cCsdSrr)r�name�valuerrr
�setvarszDummy_editwin.setvarcCstt|j�|���Sr)�int�floatr�index)rrrrr
�	getlinenoszDummy_editwin.getlinenoN)�__name__�
__module__�__qualname__rrrrrrr
r
src@s�eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�LineNumbersTestcCs�td�t��|_t�|j�|_|jjtjtjdd�|jj	ddd�|jj
ddd�tj|jddtjd�|_
|j
jddtjd	�t|j
�|_t�|j�|j_dS)
NZguiT)ZsideZfill�expand�)Zweight�P�)�widthZheightZwrap)�row�columnZsticky)r�tkZTk�rootZFramer	ZpackZLEFTZBOTHZrowconfigureZcolumnconfigure�TextZNONErZgridZNSEWr�editwinZ	ScrollbarZvbar��clsrrr
�
setUpClasss
zLineNumbersTest.setUpClasscCs4|jj��|j��|j��|`|`|`|`dSr)r$r
�closer"�updateZdestroyrr	r%rrr
�
tearDownClass.s

zLineNumbersTest.tearDownClasscs�tj��j��_ddd��_tjjj���fdd�}tj	j
�tjjd|�}|����
|j�d�_�fdd	�}tj	j
�tjjd
|�}|����
|j�dS)Nz#abcdefz#123456��
background�
foregroundcs|dkr�jS�||�S)N�
linenumber)�
highlight_cfg)ZthemeZelement�Zorig_idleConf_GetHighlightrrr
�mock_idleconf_GetHighlight;sz9LineNumbersTest.setUp.<locals>.mock_idleconf_GetHighlight�GetHighlightZTkFixedFontcs�jSr)�
font_override)r"Z
configTypeZsection�rrr
�mock_idleconf_GetFontEsz4LineNumbersTest.setUp.<locals>.mock_idleconf_GetFontZGetFont)�idlelibZsidebarZLineNumbersr$r.r/ZidleConfr2�unittestZmockZpatch�object�startZ
addCleanup�stopr3)rr1ZGetHighlight_patcherr5ZGetFont_patcherrr0r
�setUp5s$�

�
�zLineNumbersTest.setUpcCs|j�dd�dS�N�1.0�end)r�deleter4rrr
�tearDownLszLineNumbersTest.tearDowncCsttt|j�d���S)NZsel)�tuple�map�strrZ
tag_rangesr4rrr
�
get_selectionOszLineNumbersTest.get_selectioncCs4|jj�|�d��}|dd}|dd}||fS)Nz.end -1cr�r)r.�sidebar_text�bbox)r�linerG�x�yrrr
�get_line_screen_positionRsz(LineNumbersTest.get_line_screen_positioncCs&|jj��d}|�|dtj�dS)N�state���)r.rF�config�assertEqualr!ZDISABLED)rrLrrr
�assert_state_disabledXsz%LineNumbersTest.assert_state_disabledcCs|jj�dtj�S)Nr=)r.rF�getr!ZENDr4rrr
�get_sidebar_text_contents\sz)LineNumbersTest.get_sidebar_text_contentsc	Cs6d�ttttd|d��dg��}|�|��|�dS)N�
r�)�joinrrBrC�rangerOrR)rZn_lines�expectedrrr
�assert_sidebar_n_lines_s"z&LineNumbersTest.assert_sidebar_n_linescCs|�|j�dd�|�Sr<)rOrrQ)rrWrrr
�assert_text_equalscsz"LineNumbersTest.assert_text_equalscCs|�d�dS�Nr)rXr4rrr
�test_init_emptyfszLineNumbersTest.test_init_emptycCs&|j�dd�|�d�|�d�dS)N�insertzfoo bar
foo bar
foo bar
zfoo bar
foo bar
foo bar

�)rr\rYrXr4rrr
�test_init_not_emptyis
z#LineNumbersTest.test_init_not_emptycCs�|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�dS)NFT)rOr.Zis_shown�show_sidebar�hide_sidebarr4rrr
�test_toggle_linenumberingns




z)LineNumbersTest.test_toggle_linenumberingcCs�|j�dd�|�d�|�d�|��|j�dd�|�d�|�d�|��|j�dd�|�d	�|�d
�|��|j�dd�|�d�|�d
�|��dS)Nr\�foobar�foobar
rz
foozfoobar
foo
rEzhello
hello
zfoobar
foohello
hello

r]z
worldzfoobar
foohello
hello

world
�)rr\rYrXrPr4rrr
�test_insert{s 







zLineNumbersTest.test_insertcCs�|j�dd�|�d�|j�dd�|�d�|�d�|��|j�dd�|�d	�|�d
�|��|j�dd�|�d
�|�d
�|��|j�dd�|�d�|�d�|��|j�dd�|�d�|�d�|��dS)Nr\rbrcz1.1z1.3zfbar
rzfoo
foo
z
fbarfoo
foo

��2.0z2.endz
fbarfoo


r>zfba
r=rS)rr\rYr?rXrPr4rrr
�test_delete�s,










zLineNumbersTest.test_deletecs<�fdd�}��d���|�d��j�dd���d���|�d��j�dd���d���|�d��j�dd���d	���|�d
��j�dd���d���|�d
��j�dd
���d	���|�d
��j�dd
���d���|�d��j�dd���d���|�d
��j�dd���d���|�d��j�dd���d���|�d��j�dd
���d���|�d��j�dd
���d���|�d
��j�dd���d���|�d
��j�dd���d���|�d��j�dd���d���|�d�dS)Ncs�jj��ddS)NrrM)r.rFrNrr4rr
�	get_width�sz:LineNumbersTest.test_sidebar_text_width.<locals>.get_widthrr\Zfooz foo
foo
foo
foo
foo
foo
foo
foo
�	zfoo
�
rE�zinsert -1l linestartzinsert linestartahfoo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
�c�drf�ez50.0 -1czend -1c�1z5.0 -1cr]r=)rXrOrr\r?)rrirr4r
�test_sidebar_text_width�sZ














z'LineNumbersTest.test_sidebar_text_widthcCsn|j��|j�dd�|j��|�d�\}}|jjjd||d�|jj��|j��|�	|�
�d�dS)Nr=zone
two
three
four
rE�
<Button-1>�rIrJ)rgz3.0)r.r_rr\r"r)rKrF�event_generaterOrD)rrIrJrrr
�test_click_selection�s


z$LineNumbersTest.test_click_selectionc
	Cs�|�|�\}}|�|�\}}|jjjd||d�|j��dd�}ttt|||dd��tt|||dd���D]&\}}	|jjjd||	d�|j��ql|jjjd||d�|j��dS)	Nrrrscss8|d}t|�D]"}|||||||VqdSrZ)rV)�a�b�stepsZ	last_step�irrr
�lerpsz+LineNumbersTest.simulate_drag.<locals>.lerprl)rxz<B1-Motion>z<ButtonRelease-1>)	rKr.rFrtr"r)�ziprBr)
rZ
start_lineZend_lineZstart_xZstart_yZend_xZend_yrzrIrJrrr
�
simulate_drag�s"
�
�
�zLineNumbersTest.simulate_dragcCsB|j��|j�dd�|j��|�dd�|�|��d�dS)Nr=�one
two
three
four
five
rEr]�rgz5.0�	r.r_rr\r"r)r|rOrDr4rrr
�test_drag_selection_downs


z(LineNumbersTest.test_drag_selection_downcCsB|j��|j�dd�|j��|�dd�|�|��d�dS)Nr=r}r]rEr~rr4rrr
�test_drag_selection_up!s


z&LineNumbersTest.test_drag_selection_upcCs�|j��|j�dd�|j��|j�dd�|j��|�|j�d�d�|�|jj	�d�d�|jj	j
ddddd	�|j��|�|j�d�d�|�|jj	�d�d�dS)
Nr=a�line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
line
rkZunitz@0,0z11.0z<MouseWheel>r)rIrJZdelta)r.r_rr\r"r)Zyview_scrollrOrrFrt�assertNotEqualr4rrr
�test_scroll*s



�
zLineNumbersTest.test_scrollcCst|j}|jd}d}|�||�|��||_|��|��|�|jd|�||_|��|�|jd|�dS)NZfontZ
TkTextFont)r.rFr�r`r3Zupdate_fontr_rO)r�lnZ	orig_font�	test_fontrrr
r�?s
zLineNumbersTest.test_fontcsx�j�t�j�}ddd�}��fdd�}���|�_������||����||�|�_���||�dS)Nz#222222z#ffff00r+cs0���jd|d����jd|d�dS)Nr,r-)rOrF)Zcolors�r�rrr
�assert_colors_are_equal\szFLineNumbersTest.test_highlight_colors.<locals>.assert_colors_are_equal)r.�dictr/r`Z
update_colorsr_)rZorig_colorsZtest_colorsr�rr�r
�test_highlight_colorsVs

z%LineNumbersTest.test_highlight_colorsN)rrr�classmethodr'r*r;r@rDrKrPrRrXrYr[r^rarerhrqrur|r�r�r�r�r�rrrr
rs2


D
		r�__main__rE)�	verbosity)Zidlelib.sidebarr6�	itertoolsrr7Z
unittest.mockZtest.supportrZtkinterr!Zidlelib.delegatorrZidlelib.percolatorrrZTestCaserr�mainrrrr
�<module>s[