Your IP : 18.223.156.172


Current Path : /opt/alt/python37/lib64/python3.7/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/idle_test/__pycache__/test_sidebar.cpython-37.pyc

B

� f�3�@s�dZddlZddlmZddlZddlZddlmZddl	Z
ddlmZddl
mZGdd�d�ZGd	d
�d
ej�Zedkr�ejdd
�dS)zTest sidebar, coverage 93%�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/python37/lib64/python3.7/idlelib/idle_test/test_sidebar.py�__init__s


zDummy_editwin.__init__cCsdS)Nr)r
�name�valuerrr�setvarszDummy_editwin.setvarcCstt|j�|���S)N)�int�floatr�index)r
rrrr�	getlinenoszDummy_editwin.getlinenoN)�__name__�
__module__�__qualname__r
rrrrrr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�rootZFramerZpackZLEFTZBOTHZrowconfigureZcolumnconfigureZTextZNONErZgridZNSEWr�editwinZ	ScrollbarZvbar)�clsrrr�
setUpClasss
zLineNumbersTest.setUpClasscCs4|jj��|j��|j��|`|`|`|`dS)N)r"r	�closer!�updateZdestroyrr)r#rrr�
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)�orig_idleConf_GetHighlightr
rr�mock_idleconf_GetHighlight;sz9LineNumbersTest.setUp.<locals>.mock_idleconf_GetHighlight�GetHighlightZTkFixedFontcs�jS)N)�
font_override)r!Z
configTypeZsection)r
rr�mock_idleconf_GetFontEsz4LineNumbersTest.setUp.<locals>.mock_idleconf_GetFontZGetFont)�idlelibZsidebarZLineNumbersr"r*r+ZidleConfr.�unittestZmockZpatch�object�startZ
addCleanup�stopr/)r
r-ZGetHighlight_patcherr0ZGetFont_patcherr)r,r
r�setUp5s

zLineNumbersTest.setUpcCs|j�dd�dS)Nz1.0�end)r�delete)r
rrr�tearDownLszLineNumbersTest.tearDowncCsttt|j�d���S)NZsel)�tuple�map�strrZ
tag_ranges)r
rrr�
get_selectionOszLineNumbersTest.get_selectioncCs4|jj�|�d��}|dd}|dd}||fS)Nz.end -1cr�r)r*�sidebar_text�bbox)r
�liner@�x�yrrr�get_line_screen_positionRsz(LineNumbersTest.get_line_screen_positioncCs&|jj��d}|�|dtj�dS)N�state���)r*r?�config�assertEqualr ZDISABLED)r
rErrr�assert_state_disabledXsz%LineNumbersTest.assert_state_disabledcCs|jj�dtj�S)Nz1.0)r*r?�getr ZEND)r
rrr�get_sidebar_text_contents\sz)LineNumbersTest.get_sidebar_text_contentsc	Cs6d�ttttd|d��dg��}|�|��|�dS)N�
r�)�joinrr;r<�rangerHrK)r
Zn_lines�expectedrrr�assert_sidebar_n_lines_s"z&LineNumbersTest.assert_sidebar_n_linescCs|�|j�dd�|�S)Nz1.0r7)rHrrJ)r
rPrrr�assert_text_equalscsz"LineNumbersTest.assert_text_equalscCs|�d�dS)Nr)rQ)r
rrr�test_init_emptyfszLineNumbersTest.test_init_emptycCs&|j�dd�|�d�|�d�dS)N�insertzfoo bar
foo bar
foo bar
zfoo bar
foo bar
foo bar

�)rrTrRrQ)r
rrr�test_init_not_emptyis
z#LineNumbersTest.test_init_not_emptycCs�|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�|j��|�|jjd�dS)NFT)rHr*Zis_shown�show_sidebar�hide_sidebar)r
rrr�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)NrT�foobarzfoobar
rz
foozfoobar
foo
r>zhello
hello
zfoobar
foohello
hello

rUz
worldzfoobar
foohello
hello

world
�)rrTrRrQrI)r
rrr�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)NrTrZzfoobar
z1.1z1.3zfbar
rzfoo
foo
z
fbarfoo
foo

�z2.0z2.endz
fbarfoo


r7zfba
z1.0rL)rrTrRr8rQrI)r
rrr�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)zY
        Test that linenumber text widget is always at the minimum
        width
        cs�jj��ddS)NrrF)r*r?rGr)r
rr�	get_width�sz:LineNumbersTest.test_sidebar_text_width.<locals>.get_widthrrTZfooz foo
foo
foo
foo
foo
foo
foo
foo
�	zfoo
�
r>�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�dr]�ez50.0 -1czend -1c�1z5.0 -1crUz1.0N)rQrHrrTr8)r
r_r)r
r�test_sidebar_text_width�sZ














z'LineNumbersTest.test_sidebar_text_widthcCsn|j��|j�dd�|j��|�d�\}}|jjjd||d�|jj��|j��|�	|�
�d�dS)Nz1.0zone
two
three
four
r>z
<Button-1>)rBrC)z2.0z3.0)r*rWrrTr!r&rDr?�event_generaterHr=)r
rBrCrrr�test_click_selection�s


z$LineNumbersTest.test_click_selectionc
	Cs�|�|�\}}|�|�\}}|jjjd||d�|j��dd�}xTttt|||dd��tt|||dd���D]&\}}	|jjjd||	d�|j��qnW|jjjd||d�|j��dS)	Nz
<Button-1>)rBrCcss<|d}x.t|�D]"}|||||||VqWdS)z;linearly interpolate from a to b (inclusive) in equal stepsrN)rO)�a�b�stepsZ	last_step�irrr�lerpsz+LineNumbersTest.simulate_drag.<locals>.lerprb)rlz<B1-Motion>z<ButtonRelease-1>)	rDr*r?rhr!r&�zipr;r)
r
Z
start_lineZend_lineZstart_xZstart_yZend_xZend_yrnrBrCrrr�
simulate_drag�s




zLineNumbersTest.simulate_dragcCsB|j��|j�dd�|j��|�dd�|�|��d�dS)Nz1.0zone
two
three
four
five
r>rU)z2.0z5.0)	r*rWrrTr!r&rprHr=)r
rrr�test_drag_selection_downs


z(LineNumbersTest.test_drag_selection_downcCsB|j��|j�dd�|j��|�dd�|�|��d�dS)Nz1.0zone
two
three
four
five
rUr>)z2.0z5.0)	r*rWrrTr!r&rprHr=)r
rrr�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)
Nz1.0a�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
raZunitz@0,0z11.0z<MouseWheel>r)rBrCZdelta)r*rWrrTr!r&Zyview_scrollrHrr?rh�assertNotEqual)r
rrr�test_scroll*s




zLineNumbersTest.test_scrollcCst|j}|jd}d}|�||�|��||_|��|��|�|jd|�||_|��|�|jd|�dS)NZfontZ
TkTextFont)r*r?rsrXr/Zupdate_fontrWrH)r
�lnZ	orig_font�	test_fontrrrrv?s
zLineNumbersTest.test_fontcsx�j�t�j�}ddd�}��fdd�}���|�_������||����||�|�_���||�dS)Nz#222222z#ffff00)r(r)cs0���jd|d����jd|d�dS)Nr(r))rHr?)Zcolors)rur
rr�assert_colors_are_equal\szFLineNumbersTest.test_highlight_colors.<locals>.assert_colors_are_equal)r*�dictr+rXZ
update_colorsrW)r
Zorig_colorsZtest_colorsrwr)rur
r�test_highlight_colorsVs

z%LineNumbersTest.test_highlight_colorsN)rrr�classmethodr$r'r6r9r=rDrIrKrQrRrSrVrYr\r^rgrirprqrrrtrvryrrrrrs.
D
		r�__main__r>)�	verbosity)�__doc__Zidlelib.sidebarr1�	itertoolsrr2Z
unittest.mockZtest.supportrZtkinterr Zidlelib.delegatorrZidlelib.percolatorrrZTestCaserr�mainrrrr�<module>s[

?>