[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