diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2017-08-27 20:39:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-27 20:39:41 (GMT) |
commit | 3457f428964d0fd6ab601272ead276a9bf8b1eaf (patch) | |
tree | 8effc4fc55e8f90e113a868fe3d7bb03c0e35351 /Lib/idlelib | |
parent | 7028e5986fceeeb73dffb5d5bf8f03d88f73b63d (diff) | |
download | cpython-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.py | 14 | ||||
-rw-r--r-- | Lib/idlelib/idle_test/test_configdialog.py | 8 |
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): |