summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2017-08-27 20:39:41 (GMT)
committerGitHub <noreply@github.com>2017-08-27 20:39:41 (GMT)
commit3457f428964d0fd6ab601272ead276a9bf8b1eaf (patch)
tree8effc4fc55e8f90e113a868fe3d7bb03c0e35351 /Lib/idlelib
parent7028e5986fceeeb73dffb5d5bf8f03d88f73b63d (diff)
downloadcpython-3457f428964d0fd6ab601272ead276a9bf8b1eaf.zip
cpython-3457f428964d0fd6ab601272ead276a9bf8b1eaf.tar.gz
cpython-3457f428964d0fd6ab601272ead276a9bf8b1eaf.tar.bz2
bpo-31287: IDLE - do not alter tkinter.messagebox in configdialog tests. (#3220)
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/configdialog.py14
-rw-r--r--Lib/idlelib/idle_test/test_configdialog.py8
2 files changed, 15 insertions, 7 deletions
diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py
index ff7b638..8afc9e6 100644
--- a/Lib/idlelib/configdialog.py
+++ b/Lib/idlelib/configdialog.py
@@ -18,7 +18,7 @@ from tkinter.ttk import (Button, Checkbutton, Entry, Frame, Label, LabelFrame,
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 @@ class HighPage(Frame):
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 @@ class HighPage(Frame):
"""
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 @@ class KeysPage(Frame):
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 @@ class KeysPage(Frame):
"""
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()
diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/idlelib/idle_test/test_configdialog.py
index c947da1..f116538 100644
--- a/Lib/idlelib/idle_test/test_configdialog.py
+++ b/Lib/idlelib/idle_test/test_configdialog.py
@@ -643,7 +643,7 @@ class HighPageTest(unittest.TestCase):
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 @@ class HighPageTest(unittest.TestCase):
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 @@ class KeysPageTest(unittest.TestCase):
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 @@ class KeysPageTest(unittest.TestCase):
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):