mirror of
https://github.com/python/cpython.git
synced 2024-12-15 04:44:47 +08: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
@ -24,9 +24,10 @@ from idlelib import macosxSupport
|
||||
|
||||
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
|
||||
_utest - bool, don't wait_window when running unittest
|
||||
"""
|
||||
Toplevel.__init__(self, parent)
|
||||
self.wm_withdraw()
|
||||
@ -69,8 +70,9 @@ class ConfigDialog(Toplevel):
|
||||
self.LoadConfigs()
|
||||
self.AttachVarCallbacks() #avoid callbacks during LoadConfigs
|
||||
|
||||
self.wm_deiconify()
|
||||
self.wait_window()
|
||||
if not _utest:
|
||||
self.wm_deiconify()
|
||||
self.wait_window()
|
||||
|
||||
def CreateWidgets(self):
|
||||
self.tabPages = TabbedPageSet(self,
|
||||
@ -678,7 +680,7 @@ class ConfigDialog(Toplevel):
|
||||
if self.listBindings.curselection():
|
||||
reselect=1
|
||||
listIndex=self.listBindings.index(ANCHOR)
|
||||
# keySet=idleConf.GetKeySet(keySetName) # unused, delete?
|
||||
keySet=idleConf.GetKeySet(keySetName)
|
||||
bindNames = list(keySet.keys())
|
||||
bindNames.sort()
|
||||
self.listBindings.delete(0,END)
|
||||
@ -1144,5 +1146,9 @@ class ConfigDialog(Toplevel):
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
import unittest
|
||||
unittest.main('idlelib.idle_test.test_configdialog',
|
||||
verbosity=2, exit=False)
|
||||
|
||||
from idlelib.idle_test.htest import run
|
||||
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…
Reference in New Issue
Block a user