Commit 0ba7f1fa authored by Terry Jan Reedy's avatar Terry Jan Reedy

Issue #21982: Add minimal unittest for configDialog with 46% coverage.

Fix regression that this test would have caught.
parent 8f497549
...@@ -24,9 +24,10 @@ from idlelib import macosxSupport ...@@ -24,9 +24,10 @@ from idlelib import macosxSupport
class ConfigDialog(Toplevel): class ConfigDialog(Toplevel):
def __init__(self,parent,title,_htest=False): def __init__(self, parent, title, _htest=False, _utest=False):
""" """
_htest - bool, change box location when running htest _htest - bool, change box location when running htest
_utest - bool, don't wait_window when running unittest
""" """
Toplevel.__init__(self, parent) Toplevel.__init__(self, parent)
self.wm_withdraw() self.wm_withdraw()
...@@ -69,8 +70,9 @@ class ConfigDialog(Toplevel): ...@@ -69,8 +70,9 @@ class ConfigDialog(Toplevel):
self.LoadConfigs() self.LoadConfigs()
self.AttachVarCallbacks() #avoid callbacks during LoadConfigs self.AttachVarCallbacks() #avoid callbacks during LoadConfigs
self.wm_deiconify() if not _utest:
self.wait_window() self.wm_deiconify()
self.wait_window()
def CreateWidgets(self): def CreateWidgets(self):
self.tabPages = TabbedPageSet(self, self.tabPages = TabbedPageSet(self,
...@@ -678,7 +680,7 @@ class ConfigDialog(Toplevel): ...@@ -678,7 +680,7 @@ class ConfigDialog(Toplevel):
if self.listBindings.curselection(): if self.listBindings.curselection():
reselect=1 reselect=1
listIndex=self.listBindings.index(ANCHOR) listIndex=self.listBindings.index(ANCHOR)
# keySet=idleConf.GetKeySet(keySetName) # unused, delete? keySet=idleConf.GetKeySet(keySetName)
bindNames = list(keySet.keys()) bindNames = list(keySet.keys())
bindNames.sort() bindNames.sort()
self.listBindings.delete(0,END) self.listBindings.delete(0,END)
...@@ -1144,5 +1146,9 @@ class ConfigDialog(Toplevel): ...@@ -1144,5 +1146,9 @@ class ConfigDialog(Toplevel):
pass pass
if __name__ == '__main__': if __name__ == '__main__':
import unittest
unittest.main('idlelib.idle_test.test_configdialog',
verbosity=2, exit=False)
from idlelib.idle_test.htest import run from idlelib.idle_test.htest import run
run(ConfigDialog) run(ConfigDialog)
'''Unittests for idlelib/configHandler.py
Coverage: 46% just by creating dialog. The other half is change code.
'''
import unittest
from test.support import requires
from tkinter import Tk
from idlelib.configDialog import ConfigDialog
from idlelib.macosxSupport import _initializeTkVariantTests
class ConfigDialogTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
requires('gui')
cls.root = Tk()
_initializeTkVariantTests(cls.root)
@classmethod
def tearDownClass(cls):
cls.root.destroy()
del cls.root
def test_dialog(self):
d=ConfigDialog(self.root, 'Test', _utest=True)
d.destroy()
if __name__ == '__main__':
unittest.main(verbosity=2)
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