]> granicus.if.org Git - python/commitdiff
bpo-31287: IDLE - do not alter tkinter.messagebox in configdialog tests. (#3220)
authorTerry Jan Reedy <tjreedy@udel.edu>
Sun, 27 Aug 2017 20:39:41 +0000 (16:39 -0400)
committerGitHub <noreply@github.com>
Sun, 27 Aug 2017 20:39:41 +0000 (16:39 -0400)
Lib/idlelib/configdialog.py
Lib/idlelib/idle_test/test_configdialog.py
Misc/NEWS.d/next/IDLE/2017-08-27-15-31-33.bpo-31287.aZERfI.rst [new file with mode: 0644]

index ff7b638b51fef662a48743c58586e9a0303689a5..8afc9e6d6920e7b9e1ba833f9b2357d7d19b5fed 100644 (file)
@@ -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()
index c947da1866e09978fb2e188db602aa8ee3227b68..f116538faca4e43ab8eb2c83702afca17b595537 100644 (file)
@@ -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):
diff --git a/Misc/NEWS.d/next/IDLE/2017-08-27-15-31-33.bpo-31287.aZERfI.rst b/Misc/NEWS.d/next/IDLE/2017-08-27-15-31-33.bpo-31287.aZERfI.rst
new file mode 100644 (file)
index 0000000..9cd5557
--- /dev/null
@@ -0,0 +1 @@
+IDLE - Do not modify tkinter.message in test_configdialog.