bpo-31287: IDLE - do not alter tkinter.messagebox in configdialog tests. (#3220)

This commit is contained in:
Terry Jan Reedy 2017-08-27 16:39:41 -04:00 committed by GitHub
parent 7028e5986f
commit 3457f42896
3 changed files with 16 additions and 7 deletions

View file

@ -18,7 +18,7 @@
Notebook, Radiobutton, Scrollbar, Style)
import tkinter.colorchooser as tkColorChooser
import tkinter.font as tkFont
import tkinter.messagebox as tkMessageBox
from tkinter import messagebox
from idlelib.config import idleConf, ConfigChanges
from idlelib.config_key import GetKeysDialog
@ -1227,6 +1227,10 @@ def save_new(self, theme_name, theme):
value = theme[element]
idleConf.userCfg['highlight'].SetOption(theme_name, element, value)
def askyesno(self, *args, **kwargs):
# Make testing easier. Could change implementation.
messagebox.askyesno(*args, **kwargs)
def delete_custom(self):
"""Handle event to delete custom theme.
@ -1251,7 +1255,7 @@ def delete_custom(self):
"""
theme_name = self.custom_name.get()
delmsg = 'Are you sure you wish to delete the theme %r ?'
if not tkMessageBox.askyesno(
if not self.askyesno(
'Delete Theme', delmsg % theme_name, parent=self):
return
self.cd.deactivate_current_config()
@ -1669,6 +1673,10 @@ def save_new_key_set(keyset_name, keyset):
value = keyset[event]
idleConf.userCfg['keys'].SetOption(keyset_name, event, value)
def askyesno(self, *args, **kwargs):
# Make testing easier. Could change implementation.
messagebox.askyesno(*args, **kwargs)
def delete_custom_keys(self):
"""Handle event to delete a custom key set.
@ -1678,7 +1686,7 @@ def delete_custom_keys(self):
"""
keyset_name = self.custom_name.get()
delmsg = 'Are you sure you wish to delete the key set %r ?'
if not tkMessageBox.askyesno(
if not self.askyesno(
'Delete Key Set', delmsg % keyset_name, parent=self):
return
self.cd.deactivate_current_config()

View file

@ -643,7 +643,7 @@ def test_delete_custom(self):
eq = self.assertEqual
d = self.page
d.button_delete_custom.state(('!disabled',))
yesno = configdialog.tkMessageBox.askyesno = Func()
yesno = d.askyesno = Func()
dialog.deactivate_current_config = Func()
dialog.activate_config_changes = Func()
@ -678,7 +678,7 @@ def test_delete_custom(self):
eq(d.set_theme_type.called, 1)
del dialog.activate_config_changes, dialog.deactivate_current_config
del configdialog.tkMessageBox.askyesno
del d.askyesno
class KeysPageTest(unittest.TestCase):
@ -1034,7 +1034,7 @@ def test_delete_custom_keys(self):
eq = self.assertEqual
d = self.page
d.button_delete_custom_keys.state(('!disabled',))
yesno = configdialog.tkMessageBox.askyesno = Func()
yesno = d.askyesno = Func()
dialog.deactivate_current_config = Func()
dialog.activate_config_changes = Func()
@ -1069,7 +1069,7 @@ def test_delete_custom_keys(self):
eq(d.set_keys_type.called, 1)
del dialog.activate_config_changes, dialog.deactivate_current_config
del configdialog.tkMessageBox.askyesno
del d.askyesno
class GenPageTest(unittest.TestCase):

View file

@ -0,0 +1 @@
IDLE - Do not modify tkinter.message in test_configdialog.