Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 2 Lib/idlelib/config-extensions.def
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
82 changes: 38 additions & 44 deletions 82 Lib/idlelib/idle_test/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand All @@ -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()
Expand Down
1 change: 1 addition & 0 deletions 1 Lib/idlelib/idle_test/test_configdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IDLE - make tests pass with zzdummy extension disabled by default.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.