Commit 3457f428 authored by Terry Jan Reedy's avatar Terry Jan Reedy Committed by GitHub

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

parent 7028e598
...@@ -18,7 +18,7 @@ from tkinter.ttk import (Button, Checkbutton, Entry, Frame, Label, LabelFrame, ...@@ -18,7 +18,7 @@ from tkinter.ttk import (Button, Checkbutton, Entry, Frame, Label, LabelFrame,
Notebook, Radiobutton, Scrollbar, Style) Notebook, Radiobutton, Scrollbar, Style)
import tkinter.colorchooser as tkColorChooser import tkinter.colorchooser as tkColorChooser
import tkinter.font as tkFont import tkinter.font as tkFont
import tkinter.messagebox as tkMessageBox from tkinter import messagebox
from idlelib.config import idleConf, ConfigChanges from idlelib.config import idleConf, ConfigChanges
from idlelib.config_key import GetKeysDialog from idlelib.config_key import GetKeysDialog
...@@ -1227,6 +1227,10 @@ class HighPage(Frame): ...@@ -1227,6 +1227,10 @@ class HighPage(Frame):
value = theme[element] value = theme[element]
idleConf.userCfg['highlight'].SetOption(theme_name, element, value) 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): def delete_custom(self):
"""Handle event to delete custom theme. """Handle event to delete custom theme.
...@@ -1251,7 +1255,7 @@ class HighPage(Frame): ...@@ -1251,7 +1255,7 @@ class HighPage(Frame):
""" """
theme_name = self.custom_name.get() theme_name = self.custom_name.get()
delmsg = 'Are you sure you wish to delete the theme %r ?' 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): 'Delete Theme', delmsg % theme_name, parent=self):
return return
self.cd.deactivate_current_config() self.cd.deactivate_current_config()
...@@ -1669,6 +1673,10 @@ class KeysPage(Frame): ...@@ -1669,6 +1673,10 @@ class KeysPage(Frame):
value = keyset[event] value = keyset[event]
idleConf.userCfg['keys'].SetOption(keyset_name, event, value) 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): def delete_custom_keys(self):
"""Handle event to delete a custom key set. """Handle event to delete a custom key set.
...@@ -1678,7 +1686,7 @@ class KeysPage(Frame): ...@@ -1678,7 +1686,7 @@ class KeysPage(Frame):
""" """
keyset_name = self.custom_name.get() keyset_name = self.custom_name.get()
delmsg = 'Are you sure you wish to delete the key set %r ?' 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): 'Delete Key Set', delmsg % keyset_name, parent=self):
return return
self.cd.deactivate_current_config() self.cd.deactivate_current_config()
......
...@@ -643,7 +643,7 @@ class HighPageTest(unittest.TestCase): ...@@ -643,7 +643,7 @@ class HighPageTest(unittest.TestCase):
eq = self.assertEqual eq = self.assertEqual
d = self.page d = self.page
d.button_delete_custom.state(('!disabled',)) d.button_delete_custom.state(('!disabled',))
yesno = configdialog.tkMessageBox.askyesno = Func() yesno = d.askyesno = Func()
dialog.deactivate_current_config = Func() dialog.deactivate_current_config = Func()
dialog.activate_config_changes = Func() dialog.activate_config_changes = Func()
...@@ -678,7 +678,7 @@ class HighPageTest(unittest.TestCase): ...@@ -678,7 +678,7 @@ class HighPageTest(unittest.TestCase):
eq(d.set_theme_type.called, 1) eq(d.set_theme_type.called, 1)
del dialog.activate_config_changes, dialog.deactivate_current_config del dialog.activate_config_changes, dialog.deactivate_current_config
del configdialog.tkMessageBox.askyesno del d.askyesno
class KeysPageTest(unittest.TestCase): class KeysPageTest(unittest.TestCase):
...@@ -1034,7 +1034,7 @@ class KeysPageTest(unittest.TestCase): ...@@ -1034,7 +1034,7 @@ class KeysPageTest(unittest.TestCase):
eq = self.assertEqual eq = self.assertEqual
d = self.page d = self.page
d.button_delete_custom_keys.state(('!disabled',)) d.button_delete_custom_keys.state(('!disabled',))
yesno = configdialog.tkMessageBox.askyesno = Func() yesno = d.askyesno = Func()
dialog.deactivate_current_config = Func() dialog.deactivate_current_config = Func()
dialog.activate_config_changes = Func() dialog.activate_config_changes = Func()
...@@ -1069,7 +1069,7 @@ class KeysPageTest(unittest.TestCase): ...@@ -1069,7 +1069,7 @@ class KeysPageTest(unittest.TestCase):
eq(d.set_keys_type.called, 1) eq(d.set_keys_type.called, 1)
del dialog.activate_config_changes, dialog.deactivate_current_config del dialog.activate_config_changes, dialog.deactivate_current_config
del configdialog.tkMessageBox.askyesno del d.askyesno
class GenPageTest(unittest.TestCase): class GenPageTest(unittest.TestCase):
......
IDLE - Do not modify tkinter.message in test_configdialog.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment