bpo-39388: IDLE: Fix bug when cancelling out of configdialog (GH-18068)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
Cheryl Sabella 2020-01-25 04:00:54 -05:00 committed by Terry Jan Reedy
parent 9017e0bd5e
commit d0d9fa8c5e
4 changed files with 19 additions and 8 deletions

View File

@ -3,7 +3,9 @@ Released on 2020-10-05?
====================================== ======================================
bpo-39050: Make Settings dialog Help button work again. bpo-39388: Settings dialog Cancel button cancels pending changes.
bpo-39050: Settings dialog Help button again displays help text.
bpo-32989: Add tests for editor newline_and_indent_event method. bpo-32989: Add tests for editor newline_and_indent_event method.
Remove unneeded arguments and dead code from pyparse Remove unneeded arguments and dead code from pyparse

View File

@ -191,6 +191,7 @@ class ConfigDialog(Toplevel):
Methods: Methods:
destroy: inherited destroy: inherited
""" """
changes.clear()
self.destroy() self.destroy()
def destroy(self): def destroy(self):

View File

@ -47,17 +47,24 @@ def tearDownModule():
root.destroy() root.destroy()
root = dialog = None root = dialog = None
class ConfigDialogTest(unittest.TestCase):
def test_help(self): class DialogTest(unittest.TestCase):
@mock.patch(__name__+'.dialog.destroy', new_callable=Func)
def test_cancel(self, destroy):
changes['main']['something'] = 1
dialog.cancel()
self.assertEqual(changes['main'], {})
self.assertEqual(destroy.called, 1)
@mock.patch('idlelib.configdialog.view_text', new_callable=Func)
def test_help(self, view):
dialog.note.select(dialog.keyspage) dialog.note.select(dialog.keyspage)
saved = configdialog.view_text
view = configdialog.view_text = Func()
dialog.help() dialog.help()
s = view.kwds['contents'] s = view.kwds['contents']
self.assertTrue(s.startswith('When you click')) self.assertTrue(s.startswith('When you click') and
self.assertTrue(s.endswith('a different name.\n')) s.endswith('a different name.\n'))
configdialog.view_text = saved
class FontPageTest(unittest.TestCase): class FontPageTest(unittest.TestCase):
"""Test that font widgets enable users to make font changes. """Test that font widgets enable users to make font changes.

View File

@ -0,0 +1 @@
IDLE Settings Cancel button now cancels pending changes