[Python-checkins] bpo-31480: IDLE - fix tests to pass with zzdummy extension disabled. (#3590)
Terry Jan Reedy
webhook-mailer at python.org
Thu Sep 14 18:51:53 EDT 2017
https://github.com/python/cpython/commit/d384a81f557dab0b142bfcc9850bc68df46496ef
commit: d384a81f557dab0b142bfcc9850bc68df46496ef
branch: master
author: Terry Jan Reedy <tjreedy at udel.edu>
committer: GitHub <noreply at github.com>
date: 2017-09-14T18:51:51-04:00
summary:
bpo-31480: IDLE - fix tests to pass with zzdummy extension disabled. (#3590)
Enabled by default was a temporary expedient. The fix is to add a user override to enable.
files:
A Misc/NEWS.d/next/IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst
M Lib/idlelib/config-extensions.def
M Lib/idlelib/idle_test/test_config.py
M Lib/idlelib/idle_test/test_configdialog.py
diff --git a/Lib/idlelib/config-extensions.def b/Lib/idlelib/config-extensions.def
index e8d417bac0d..8689fd965e8 100644
--- a/Lib/idlelib/config-extensions.def
+++ b/Lib/idlelib/config-extensions.def
@@ -55,7 +55,7 @@ bell= True
# A fake extension for testing and example purposes. When enabled and
# invoked, inserts or deletes z-text at beginning of every line.
[ZzDummy]
-enable= True
+enable= False
enable_shell = False
enable_editor = True
z-text= Z
diff --git a/Lib/idlelib/idle_test/test_config.py b/Lib/idlelib/idle_test/test_config.py
index 84b45a63767..abfec7993e0 100644
--- a/Lib/idlelib/idle_test/test_config.py
+++ b/Lib/idlelib/idle_test/test_config.py
@@ -26,6 +26,7 @@
usermain = testcfg['main'] = config.IdleUserConfParser('')
userhigh = testcfg['highlight'] = config.IdleUserConfParser('')
userkeys = testcfg['keys'] = config.IdleUserConfParser('')
+userextn = testcfg['extensions'] = config.IdleUserConfParser('')
def setUpModule():
idleConf.userCfg = testcfg
@@ -430,29 +431,22 @@ def test_default_keys(self):
sys.platform = current_platform
def test_get_extensions(self):
- conf = self.mock_config()
-
- # Add disable extensions
- conf.SetOption('extensions', 'DISABLE', 'enable', 'False')
-
+ userextn.read_string('''
+ [ZzDummy]
+ enable = True
+ [DISABLE]
+ enable = False
+ ''')
eq = self.assertEqual
- eq(conf.GetExtensions(),
- ['ZzDummy'])
- eq(conf.GetExtensions(active_only=False),
- ['ZzDummy', 'DISABLE'])
- eq(conf.GetExtensions(editor_only=True),
- ['ZzDummy'])
- eq(conf.GetExtensions(shell_only=True),
- [])
- eq(conf.GetExtensions(active_only=False, editor_only=True),
- ['ZzDummy', 'DISABLE'])
-
- # Add user extensions
- conf.SetOption('extensions', 'Foobar', 'enable', 'True')
- eq(conf.GetExtensions(),
- ['ZzDummy', 'Foobar']) # User extensions didn't sort
- eq(conf.GetExtensions(active_only=False),
- ['ZzDummy', 'DISABLE', 'Foobar'])
+ iGE = idleConf.GetExtensions
+ eq(iGE(shell_only=True), [])
+ eq(iGE(), ['ZzDummy'])
+ eq(iGE(editor_only=True), ['ZzDummy'])
+ eq(iGE(active_only=False), ['ZzDummy', 'DISABLE'])
+ eq(iGE(active_only=False, editor_only=True), ['ZzDummy', 'DISABLE'])
+ userextn.remove_section('ZzDummy')
+ userextn.remove_section('DISABLE')
+
def test_remove_key_bind_names(self):
conf = self.mock_config()
@@ -462,39 +456,39 @@ def test_remove_key_bind_names(self):
['AutoComplete', 'CodeContext', 'FormatParagraph', 'ParenMatch','ZzDummy'])
def test_get_extn_name_for_event(self):
- conf = self.mock_config()
-
+ userextn.read_string('''
+ [ZzDummy]
+ enable = True
+ ''')
eq = self.assertEqual
- eq(conf.GetExtnNameForEvent('z-in'), 'ZzDummy')
- eq(conf.GetExtnNameForEvent('z-out'), None)
+ eq(idleConf.GetExtnNameForEvent('z-in'), 'ZzDummy')
+ eq(idleConf.GetExtnNameForEvent('z-out'), None)
+ userextn.remove_section('ZzDummy')
def test_get_extension_keys(self):
- conf = self.mock_config()
-
- eq = self.assertEqual
- eq(conf.GetExtensionKeys('ZzDummy'),
+ userextn.read_string('''
+ [ZzDummy]
+ enable = True
+ ''')
+ self.assertEqual(idleConf.GetExtensionKeys('ZzDummy'),
{'<<z-in>>': ['<Control-Shift-KeyRelease-Insert>']})
+ userextn.remove_section('ZzDummy')
# need option key test
## key = ['<Option-Key-2>'] if sys.platform == 'darwin' else ['<Alt-Key-2>']
## eq(conf.GetExtensionKeys('ZoomHeight'), {'<<zoom-height>>': key})
def test_get_extension_bindings(self):
- conf = self.mock_config()
-
- self.assertEqual(conf.GetExtensionBindings('NotExists'), {})
-
- #key = ['<Option-Key-2>'] if sys.platform == 'darwin' else ['<Alt-Key-2>']
+ userextn.read_string('''
+ [ZzDummy]
+ enable = True
+ ''')
+ eq = self.assertEqual
+ iGEB = idleConf.GetExtensionBindings
+ eq(iGEB('NotExists'), {})
expect = {'<<z-in>>': ['<Control-Shift-KeyRelease-Insert>'],
'<<z-out>>': ['<Control-Shift-KeyRelease-Delete>']}
- self.assertEqual(
- conf.GetExtensionBindings('ZzDummy'), expect)
-
- # Add non-configuarable bindings
- conf.defaultCfg['extensions'].add_section('Foobar')
- conf.defaultCfg['extensions'].add_section('Foobar_bindings')
- conf.defaultCfg['extensions'].set('Foobar', 'enable', 'True')
- conf.defaultCfg['extensions'].set('Foobar_bindings', 'foobar', '<Key-F>')
- self.assertEqual(conf.GetExtensionBindings('Foobar'), {'<<foobar>>': ['<Key-F>']})
+ eq(iGEB('ZzDummy'), expect)
+ userextn.remove_section('ZzDummy')
def test_get_keybinding(self):
conf = self.mock_config()
diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/idlelib/idle_test/test_configdialog.py
index cae7186415b..dc7f69c2af8 100644
--- a/Lib/idlelib/idle_test/test_configdialog.py
+++ b/Lib/idlelib/idle_test/test_configdialog.py
@@ -820,6 +820,7 @@ def test_custom_name(self):
self.assertEqual(d.load_keys_list.called, 1)
def test_keybinding(self):
+ idleConf.SetOption('extensions', 'ZzDummy', 'enable', 'True')
d = self.page
d.custom_name.set('my custom keys')
d.bindingslist.delete(0, 'end')
diff --git a/Misc/NEWS.d/next/IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst b/Misc/NEWS.d/next/IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst
new file mode 100644
index 00000000000..5999e9a8f27
--- /dev/null
+++ b/Misc/NEWS.d/next/IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst
@@ -0,0 +1 @@
+IDLE - make tests pass with zzdummy extension disabled by default.
More information about the Python-checkins
mailing list