From d384a81f557dab0b142bfcc9850bc68df46496ef Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Thu, 14 Sep 2017 18:51:51 -0400 Subject: 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. --- Lib/idlelib/config-extensions.def | 2 +- Lib/idlelib/idle_test/test_config.py | 82 ++++++++++------------ Lib/idlelib/idle_test/test_configdialog.py | 1 + .../IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst | 1 + 4 files changed, 41 insertions(+), 45 deletions(-) create mode 100644 Misc/NEWS.d/next/IDLE/2017-09-14-17-53-53.bpo-31480.4WJ0pl.rst diff --git a/Lib/idlelib/config-extensions.def b/Lib/idlelib/config-extensions.def index e8d417b..8689fd9 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 84b45a6..abfec79 100644 --- a/Lib/idlelib/idle_test/test_config.py +++ b/Lib/idlelib/idle_test/test_config.py @@ -26,6 +26,7 @@ testcfg = {} 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 @@ class IdleConfTest(unittest.TestCase): 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 @@ class IdleConfTest(unittest.TestCase): ['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'), {'<>': ['']}) + userextn.remove_section('ZzDummy') # need option key test ## key = [''] if sys.platform == 'darwin' else [''] ## eq(conf.GetExtensionKeys('ZoomHeight'), {'<>': key}) def test_get_extension_bindings(self): - conf = self.mock_config() - - self.assertEqual(conf.GetExtensionBindings('NotExists'), {}) - - #key = [''] if sys.platform == 'darwin' else [''] + userextn.read_string(''' + [ZzDummy] + enable = True + ''') + eq = self.assertEqual + iGEB = idleConf.GetExtensionBindings + eq(iGEB('NotExists'), {}) expect = {'<>': [''], '<>': ['']} - 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', '') - self.assertEqual(conf.GetExtensionBindings('Foobar'), {'<>': ['']}) + 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 cae7186..dc7f69c 100644 --- a/Lib/idlelib/idle_test/test_configdialog.py +++ b/Lib/idlelib/idle_test/test_configdialog.py @@ -820,6 +820,7 @@ class KeysPageTest(unittest.TestCase): 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 0000000..5999e9a --- /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. -- cgit v0.12