Your IP : 18.216.141.244


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_config.cpython-37.pyc

B

� f.}�@sNdZddlmZddlZddlZddlZddlmZmZddl	Z	ddl	m
Z
ddlZddlmZej
Z
e
jZiZe�d�Zed<e�d�Zed	<e�d�Zed
<e�d�Zed<dd
�Zdd�ZGdd�de	j�ZGdd�de	j�ZGdd�de	j�ZGdd�de	j�ZGdd�de	j�ZGdd�de	j�Zedk�rJe	j dd�dS)z�Test config, coverage 93%.
(100% for IdleConfParser, IdleUserConfParser*, ConfigChanges).
* Exception is OSError clause in Save method.
Much of IdleConf is also exercised by ConfigDialog and test_configdialog.
�)�configN)�captured_stderr�findfile)�mock)�Func��main�	highlight�keys�
extensionscCstt_dt_dS)NT)�testcfg�idleConf�userCfg�idlelib�testing�rr�B/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_config.py�setUpModulesrcCstt_dt_dS)NF)�usercfgr
rrrrrrr�tearDownModule!src@s4eZdZdZdZdd�Zdd�Zdd�Zd	d
�ZdS)�IdleConfParserTestzTest that IdleConfParser worksz�
        [one]
        one = false
        two = true
        three = 10

        [two]
        one = a string
        two = true
        three = false
    cCs�t�d�}|�|j�|j}|�|jdddd�d�|�|jdddd�d�||jddd	d�d
�||�dd�d�|�|jdddd�d�|�|jdddd�d�||�dd�d�||�dd�d
�|�|�dd��||jdddd�d�dS)Nr�one�bool)�typeF�twoT�three�int�
za string�true�false�notZexistZDEFAULT)�default)r�IdleConfParser�read_string�assertEqualZassertIs�GetZassertIsNone)�self�parser�eqrrr�test_get5s
zIdleConfParserTest.test_getcCs\t�d�}|�|j�|j}|�|d�dddg�|�|d�dddg�|�|d�g�dS)Nrrrrz	not exist)rr"r#�
GetOptionList�assertCountEqualr$)r&r'Zget_listrrr�test_get_option_listJs
z'IdleConfParserTest.test_get_option_listcCs&t�d�}|��|�|��g�dS)Nr)rr"�Loadr$�sections)r&r'rrr�test_load_nothingRs
z$IdleConfParserTest.test_load_nothingcCsFtd�}t�|�}|��|�|�dd�d�|�|�d�dg�dS)Nzcfgparser.1zFoo Bar�foo�newbar)rrr"r-r$r%r*)r&�config_pathr'rrr�test_load_fileWs

z!IdleConfParserTest.test_load_fileN)	�__name__�
__module__�__qualname__�__doc__rr)r,r/r3rrrrr&src@sJeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�IdleUserConfParserTestz"Test that IdleUserConfParser worksrcCs
t�|�S)N)r�IdleUserConfParser)r&�pathrrr�
new_parserdsz!IdleUserConfParserTest.new_parsercCs�|��}|�d�|�|�ddd��|�|�ddd��|�|�ddd��|�|�dd�d�|�|�ddd��|�|��ddg�|�|�dd�d�dS)N�Foo�barrr�Bar)	r;�add_section�
assertTrue�	SetOption�assertFalser$r%r+r.)r&r'rrr�test_set_optiongs
z&IdleUserConfParserTest.test_set_optioncCsZ|��}|�d�|�ddd�|�|�dd��|�|�dd��|�|�dd��dS)Nr<r=rZNotZExist)r;�
AddSectionrAr@ZRemoveOptionrB)r&r'rrr�test_remove_optionws
z)IdleUserConfParserTest.test_remove_optioncCsN|��}|�|��g�|�d�|�d�|�d�|�|��ddg�dS)Nr<r>)r;r$r.rDr+)r&r'rrr�test_add_section�s


z'IdleUserConfParserTest.test_add_sectioncCs^|��}|�d�|�d�|�ddd�|�|��dddg�|��|�|��dg�dS)Nr<r>ZIdle�name�val)r;rDrAr+r.ZRemoveEmptySectionsr$)r&r'rrr�test_remove_empty_sections�s

z1IdleUserConfParserTest.test_remove_empty_sectionscCsv|��}|�d�|�d�|�|���|�|��g�|�ddd�|�d�|�|���|�|��dg�dS)Nr<r>r=r)	r;rDr@ZIsEmptyr$r.rArBr+)r&r'rrr�
test_is_empty�s


z$IdleUserConfParserTest.test_is_emptyc	Cs�t����}tj�|d�}|�|�}|�d�|�ddd�|�tj�	|��|�
�|�tj�	|��|�d�|�
�|�tj�	|��WdQRXdS)Nztest.cfgr<r=r)
�tempfileZTemporaryDirectory�osr:�joinr;rDrArB�existsZSaver@�remove_section)r&Ztdirr:r'rrr�	test_save�s



z IdleUserConfParserTest.test_saveN)r)r4r5r6r7r;rCrErFrIrJrPrrrrr8as
	

r8c@s,eZdZdZedd��Zedd��ZdAdd�Zd	d
�Ze	�
ej�
d�d�d
d��Ze	�
ej�
d�d�dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Z d4d5�Z!d6d7�Z"d8d9�Z#d:d;�Z$d<d=�Z%d>d?�Z&d@S)B�IdleConfTestzTest for idleConfc
Cs�i|_tjdd�}tdkr(tj�t�}ntj�t	jd�}xD|j
D]:}tj�|d|�}t|d��}|�
�|j|<WdQRXqBWtj|_t�t_dS)NT)�_utest�__main__rz../config-%s.def�r)�
config_stringr�IdleConfr4rLr:�dirname�__file__�abspath�sys�config_typesrM�open�read�_warn�	orig_warnr)�cls�conf�idle_dir�ctyper2�frrr�
setUpClass�szIdleConfTest.setUpClasscCs|jt_dS)N)r_rr^)r`rrr�
tearDownClass�szIdleConfTest.tearDownClassFcCstj|d�S)N)rR)rrV)r&rRrrr�
new_config�szIdleConfTest.new_configcCsltjdd�}xZ|jD]P}t�d�|j|<|j|�|j|�t�d�|j|<|j|�|j|�qW|S)zbReturn a mocked idleConf

        Both default and user config used the same config-*.def
        T)rRr)	rrVr[r"�
defaultCfgr#rUr9r)r&rarcrrr�mock_config�szIdleConfTest.mock_config�winzthis is test for unix systemcCs�|jdd�}tjddd��0tjddd��|�|��d�WdQRXWdQRXtjddd��Ftjd	d
d��,t�d��|�|��d�WdQRXWdQRXWdQRXtjd
dd��:|�t��$|�t��|��WdQRXWdQRXWdQRXdS)NT)rRzos.path.expanduserz	/home/foo)�return_valuezos.path.existsz/home/foo/.idlerc�~z	os.getcwdz/home/foo/cpythonzos.mkdirz/home/foo/cpython/.idlerczos.path.joinz/path/not/exists)rgr�patchr$�
GetUserCfgDir�assertRaises�
SystemExit�FileNotFoundError)r&rarrr�test_get_user_cfg_dir_unix�s$
$z'IdleConfTest.test_get_user_cfg_dir_unixzthis is test for Windows systemcCs�|jdd�}tjddd��0tjddd��|�|��d�WdQRXWdQRXtjddd��Ftjd	d
d��,t�d��|�|��d�WdQRXWdQRXWdQRXtjd
dd��:|�t��$|�t��|��WdQRXWdQRXWdQRXdS)NT)rRzos.path.expanduserzC:\foo)rkzos.path.existszC:\foo\.idlercrlz	os.getcwdzC:\foo\cpythonzos.mkdirzC:\foo\cpython\.idlerczos.path.joinz/path/not/exists)rgrrmr$rnrorprq)r&rarrr�test_get_user_cfg_dir_windows�s$
$z*IdleConfTest.test_get_user_cfg_dir_windowsc
Cs6|jdd�}d}tj�ddi��(tjd|d��|��WdQRXWdQRX|�|j��|j�|�|j	��|j�x |j�
�D]}|�|tj
�q�Wx |j	�
�D]}|�|tj�q�Wx6|j��D](\}}|�|jtj�|d|�d	���q�Wx>|j	��D]0\}}|�|jtj�|j�pd
d|�d���q�WdS)NT)rRz	/home/foor4Z__foo__zos.path.dirname)rkzconfig-z.def�#z.cfg)rgrrm�dictZCreateConfigHandlersr+rhr
r[r�valuesZassertIsInstancerr"r9�itemsr$�filerLr:rMZuserdir)r&rarbZdefault_parserZuser_parserZcfg_typer'rrr�test_create_config_handlerss"z(IdleConfTest.test_create_config_handlerscCs�|jdd�}td�}t�|�|jd<t�|�|jd<|��|j}||jd�	dd�d�||jd�
d�dg�||jd�	dd�d�||jd�
d�dg�dS)NT)rRzcfgparser.1r0zFoo Barr1)rgrrr"rhr9rZLoadCfgFilesr$r%r*)r&rar2r(rrr�test_load_cfg_files&sz IdleConfTest.test_load_cfg_filesc	Cs>|��}t�d��"}|��|�|jt|j��WdQRXdS)Nz&idlelib.config.IdleUserConfParser.Save)rirrmZSaveUserCfgFilesr$�
call_count�lenr)r&ra�mrrr�test_save_user_cfg_files;sz%IdleConfTest.test_save_user_cfg_filesc	Cs�|��}|j}||�ddd�d�||jddddd�d�t�d��V}||jddd	dd�d�||�ddd
�d�||jddd
dd�d�||jd
�WdQRXdS)Nr�EditorWindow�widthZ80r)r�Pzidlelib.config._warnZfont�	NotExistsZNE)r!�)rir$�	GetOptionrrmr{)r&rar(r^rrr�test_get_optionBszIdleConfTest.test_get_optioncCs2|��}|�dddd�|�|�ddd�d�dS)Nrr<r=r1)rirAr$r�)r&rarrrrCNszIdleConfTest.test_set_optioncCs�|��}|�|�dd�ddddddd	d
g�|�|�dd�ddddddd	d
g�|�tj��|�dd�WdQRX|�tj��|�dd
�WdQRXdS)Nr!rZGeneralrZPyShell�Indent�Theme�KeysZHistory�	HelpFiles�userZfoobarZ	notexists)rir+�GetSectionListror�InvalidConfigSetZInvalidConfigType)r&rarrr�test_get_section_listTs



z"IdleConfTest.test_get_section_listc	Cs�|��}|j}||�dd�ddd��||�dd�ddd��|�dd	d
d�|�dd	dd
�t�d��||�d	d�dd
d��WdQRXdS)NzIDLE ClassicZnormalz#000000z#ffffff)Z
foregroundZ
backgroundZcursorZblackr	�Foobarznormal-foregroundz#747474znormal-backgroundz#171717zidlelib.config._warn)rir$ZGetHighlightrArrm)r&rar(rrr�test_get_highlightes

zIdleConfTest.test_get_highlightc	CsL|��}|�|�dd�|�dd��|�tj��|�dd�WdQRXdS)Nr!zIDLE Classicr��bad)rir$ZGetThemeDictrorZInvalidTheme)r&rarrr�test_get_theme_dictws
z IdleConfTest.test_get_theme_dictcCs8|��}|�|��|�d��|�|��|�d��dS)Nr�r�)rir$ZCurrentTheme�current_colors_and_keys�CurrentKeys)r&rarrr�test_get_current_theme_and_keys�sz,IdleConfTest.test_get_current_theme_and_keyscCs|��}|�|�d�d�dS)Nr�zIDLE Classic)rir$r�)r&rarrr�test_current_colors_and_keys�sz)IdleConfTest.test_current_colors_and_keyscCs^tj}|jdd�}dt_|�|��d�dt_|�|��d�dt_|�|��d�|t_dS)	NT)rRZwin32zIDLE Classic Windows�darwinzIDLE Classic OSXz
some-linuxzIDLE Modern Unix)rZ�platformrgr$�default_keys)r&�current_platformrarrr�test_default_keys�szIdleConfTest.test_default_keyscCs�t�d�|j}tj}||dd�g�||�dg�||dd�dg�||dd�ddg�||ddd	�ddg�t�d�t�d�dS)
Nzn
            [ZzDummy]
            enable = True
            [DISABLE]
            enable = False
            T)Z
shell_only�ZzDummy)�editor_onlyF)�active_onlyZDISABLE)r�r�)�userextnr#r$r
Z
GetExtensionsrO)r&r(ZiGErrr�test_get_extensions�s
z IdleConfTest.test_get_extensionscCs0|��}|�|�|�dd��dddddg�dS)Nr!rZAutoCompleteZCodeContextZFormatParagraphZ
ParenMatchr�)rir+ZRemoveKeyBindNamesr�)r&rarrr�test_remove_key_bind_names�sz'IdleConfTest.test_remove_key_bind_namescCs>t�d�|j}|t�d�d�|t�d�d�t�d�dS)Nz=
            [ZzDummy]
            enable = True
            zz-inr�zz-out)r�r#r$r
ZGetExtnNameForEventrO)r&r(rrr�test_get_extn_name_for_event�sz)IdleConfTest.test_get_extn_name_for_eventcCs0t�d�|�t�d�ddgi�t�d�dS)Nz=
            [ZzDummy]
            enable = True
            r�z<<z-in>>z!<Control-Shift-KeyRelease-Insert>)r�r#r$r
ZGetExtensionKeysrO)r&rrr�test_get_extension_keys�s
z$IdleConfTest.test_get_extension_keyscCsNt�d�|j}tj}||d�i�dgdgd�}||d�|�t�d�dS)Nz=
            [ZzDummy]
            enable = True
            r�z!<Control-Shift-KeyRelease-Insert>z!<Control-Shift-KeyRelease-Delete>)z<<z-in>>z	<<z-out>>r�)r�r#r$r
ZGetExtensionBindingsrO)r&r(ZiGEBZexpectrrr�test_get_extension_bindings�s
z(IdleConfTest.test_get_extension_bindingscCs�|��}|j}||�dd�ddg�||�dd�ddg�||�dd�d	d
g�||�dd�dg�||�d
d�dg�||�dd�g�||�dd�g�dS)NzIDLE Modern Unixz<<copy>>z<Control-Shift-Key-C>z<Control-Key-Insert>zIDLE Classic Unixz<Alt-Key-w>z<Meta-Key-w>zIDLE Classic Windowsz<Control-Key-c>z<Control-Key-C>zIDLE Classic Macz<Command-Key-c>zIDLE Classic OSXz
NOT EXISTS)rir$Z
GetKeyBinding)r&rar(rrr�test_get_keybinding�s


z IdleConfTest.test_get_keybindingcCs8tj}|��}dt_|�|��|�|����|t_dS)Nz
some-linux)rZr�rir$ZGetCurrentKeySet�	GetKeySetr�)r&r�rarrr�test_get_current_keyset�s
	z$IdleConfTest.test_get_current_keysetcCsj|��}|jd�d�|jd�d�|jd�ddd�|jd�ddd�|�|�d�d	d
�dS)Nrr�ZFoobar_cfgBindingsZenable�TrueZnewfooz<Key-F3>zIDLE Modern Unixz
<<newfoo>>r)rirhr?�setr$r�)r&rarrr�test_get_keyset�szIdleConfTest.test_get_keysetcCsL|��}|�|�d��|�|�d��|�|�d��|�|�d��dS)N�copyZcutzdel-word-rightz
not-exists)rir@Z
IsCoreBindingrB)r&rarrr�test_is_core_bindings
z!IdleConfTest.test_is_core_bindingc	Cs|��}|�|�d�g�|�|�d�g�|�tj��|�|�d�g�WdQRX|�|��|�d�|�d��|jd�	ddd�|jd�	ddd	�|jd�	dd
d�|jd�	ddd
�|�|�d�dddg�|�|��|�d�|�d��dS)Nr!r�r�rr��4zPython;https://python.org�3zPython:https://python.org�2z/Pillow;https://pillow.readthedocs.io/en/latest/�1z/IDLE;C:/Programs/Python36/Lib/idlelib/help.html)�IDLEz*C:/Programs/Python36/Lib/idlelib/help.htmlr�)ZPillowz(https://pillow.readthedocs.io/en/latest/r�)�Pythonzhttps://python.orgr�)
rir$ZGetExtraHelpSourceListrorr�r+ZGetAllExtraHelpSourcesListrrA)r&rarrr�test_extra_help_source_lists&z(IdleConfTest.test_extra_help_source_listcCs�ddlm}ddlm}ddlm}|��}|d�|�}|��|�|dd|d��}|�	|�
|d	d
�|d|ddkr|d
n|d|df�|��~dS)Nr)�requires)�Tk)�FontZguiZTkFixedFontT)rGrN�rootrrZfamily�sizerZweight)�test.supportr�Ztkinterr�Ztkinter.fontr�riZwithdrawZactualr$ZGetFontZdestroy)r&r�r�r�rar�rdrrr�
test_get_font*s(zIdleConfTest.test_get_fontcCs�|��}|j}||��ddg�||��dddg�||��ddg�||�d�dd	d
g�||�d�ddg�||�d
�dddg�||�d�dddg�dS)Nz<<center-insert>>z<Control-l>z<<copy>>z<Control-c>z<Control-C>z<<history-next>>z<Alt-n>zIDLE Classic Windowsz<Control-Key-l>z<Control-Key-L>zIDLE Classic OSXz<Command-Key-c>zIDLE Classic Unixz<Alt-Key-n>z<Meta-Key-n>zIDLE Modern Unix)rir$ZGetCoreKeys)r&rar(rrr�test_get_core_keys=s

zIdleConfTest.test_get_core_keysN)F)'r4r5r6r7�classmethodrerfrgri�unittestZskipIfrZr��
startswithrrrsryrzr~r�rCr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrQ�s<



	rQc@sReZdZdZejZdZe��Zdd�Z	dd�Z
dd�Zd	d
�Zdd�Z
d
d�ZdS)�CurrentColorKeysTesta Test colorkeys function with user config [Theme] and [Keys] patterns.

        colorkeys = config.IdleConf.current_colors_and_keys
        Test all patterns written by IDLE and some errors
        Item 'default' should really be 'builtin' (versus 'custom).
    zIDLE ClassiccCs~|�|�d�|j�t�d�|�|�d�|j�dtdd<|�|�d�d�dtdd<|�|�d�|j�t�d�dS)Nr�z<
            [Theme]
            default = True
            zIDLE NewrGznon-existent)r$�	colorkeys�
default_theme�usermainr#rO)r&rrr�test_old_builtin_themeXsz+CurrentColorKeysTest.test_old_builtin_themecCsht�d�|�|�d�d�dtdd<|�|�d�d�dtdd<|�|�d�|j�t�d�dS)NzZ
            [Theme]
            default = True
            name2 = IDLE Dark
            r�z	IDLE DarkzIDLE NewrGznon-existent�name2)r�r#r$r�r�rO)r&rrr�test_new_builtin_themejsz+CurrentColorKeysTest.test_new_builtin_themecCspt�d�|�|�d�|j�t�d�|�|�d�d�dtdd<|�|�d�d�t�d�t�d�dS)Nz\
            [Theme]
            default = False
            name = Custom Dark
            r�z[Custom Dark]
a=bzCustom Darkznon-existentr�)r�r#r$r�r��userhighrO)r&rrr�test_user_override_themezs

z-CurrentColorKeysTest.test_user_override_themecCs^|�|�d�|j�t�d�|�|�d�d�dtdd<|�|�d�|j�t�d�dS)Nr�z`
            [Keys]
            default = True
            name = IDLE Classic Unix
            zIDLE Classic Unixznon-existentrG)r$r�r�r�r#rO)r&rrr�test_old_builtin_keys�sz*CurrentColorKeysTest.test_old_builtin_keyscCsht�d�|�|�d�d�dtdd<|�|�d�d�dtdd<|�|�d�|j�t�d�dS)Nz`
            [Keys]
            default = True
            name2 = IDLE Modern Unix
            r�zIDLE Modern UnixzIDLE Classic UnixrGznon-existentr�)r�r#r$r�r�rO)r&rrr�test_new_builtin_keys�sz*CurrentColorKeysTest.test_new_builtin_keyscCspt�d�|�|�d�|j�t�d�|�|�d�d�dtdd<|�|�d�d�t�d�t�d�dS)Nz[
            [Keys]
            default = False
            name = Custom Keys
            r�z[Custom Keys]
a=bzCustom Keysznon-existentr�)r�r#r$r�r��userkeysrO)r&rrr�test_user_override_keys�s

z,CurrentColorKeysTest.test_user_override_keysN)r4r5r6r7r
r�r�r�r�r�r�r�r�r�r�rrrrr�Msr�c@s�eZdZiiiid�Zdd�Zdddiiddd	iid
ddiiid�Zd
d�Zdd�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS) �ChangesTest)rr	r
rcCs:|j}|�dddd�|�dddd�|�d	d
dd�|S)
Nr�Msec�mitem�mvalr	�Hsec�hitem�hvalr
�Ksec�kitem�kval)�changes�
add_option)r&r�rrr�load�s
zChangesTest.loadr�r�r�r�r�r�r�r�r�cCst��|_dS)N)rZ
ConfigChangesr�)r&rrr�setUp�szChangesTest.setUpcCs|�|j|j�dS)N)r$r��empty)r&rrr�	test_init�szChangesTest.test_initcCs8|��}|�||j�|�dddd�|�||j�dS)Nrr�r�r�)r�r$�loadedr�)r&r�rrr�test_add_option�szChangesTest.test_add_optioncCs�|jj}|�|dddd��|�|dddd��|�tddd�|�|dddd��|�tddd�|�|dddd��|�t�dd��t�d�dS)Nrr�Zwhat�0z
use-spacesr�)r��save_optionr@rBr$r��
has_optionrO)r&r�rrr�test_save_option�szChangesTest.test_save_optioncCs�|��}|�|���|�tddd�|�tddd�|�tddd	�|�d
ddd�|�|���t�	d�t�	d�t�	d�dS)Nr�r�r�r�r�r�r�r�r�r)
r�r@�save_allr$r�r�r�r�rBrO)r&r�rrr�test_save_added�s

zChangesTest.test_save_addedcCsV|j}|�dddd�|�dddd�|��|�t�dd��|�t�dd��dS)Nrr�r�ZidledocZELDIZcodeldi)r�r�r�r�rBr�r�r@)r&r�rrr�test_save_help�szChangesTest.test_save_helpcCs|j}|�dddd�dS)Nrr�z
use-spacesr�)r�r�)r&r�rrr�test_save_default�szChangesTest.test_save_defaultc
Cs�|��}|�dd�|�||j�x\dD]T\}}t|�|dd�|�||�|�t��|||t||WdQRXq(WdS)NrZfake))rr�)r
r�rG�value)r�Zdelete_sectionr$r�rrAro�KeyError)r&r�ZcfgtypeZsectionrrr�test_delete_sectionszChangesTest.test_delete_sectioncCs"|��}|��|�||j�dS)N)r��clearr$r�)r&r�rrr�
test_clearszChangesTest.test_clearN)r4r5r6r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s


	r�c@seZdZdd�ZdS)�WarningTestc	Cs�|j}t�t_t��}t�dd�WdQRX|tjdh�||��d�t��}t�dd�WdQRX||��d�t��}t�dd�WdQRX|tjddh�||��d	�dS)
N�warning�key)r�r�zwarning
r�warn2�yek)r�r�zwarn2
)r$r�rZ_warnedrr^�getvalue)r&ZEqual�stderrrrr�	test_warnszWarningTest.test_warnN)r4r5r6r�rrrrr�sr�rS�)�	verbosity)!r7rrrZrLrKr�rrr�rZidlelib.idle_test.mock_idlerr
rrrr9r�r�r�r�rrZTestCaserr8rQr�r�r�r4rrrrr�<module>s:;SoV


?>