mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #21982: Add minimal unittest for configDialog with 46% coverage.
Fix regression that this test would have caught.
This commit is contained in:
parent
1cae9ec966
commit
cfa8950aab
2 changed files with 42 additions and 4 deletions
|
@ -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):
|
||||||
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):
|
||||||
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):
|
||||||
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)
|
||||||
|
|
32
Lib/idlelib/idle_test/test_configdialog.py
Normal file
32
Lib/idlelib/idle_test/test_configdialog.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
'''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)
|
Loading…
Add table
Add a link
Reference in a new issue