summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/idle_test/test_config_sec.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-06-27 02:05:10 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2016-06-27 02:05:10 (GMT)
commit68a53c5d3964ae2f4658491822f83cf36510f39b (patch)
tree6124e372ec80523d1718af3882c1b811febf67c5 /Lib/idlelib/idle_test/test_config_sec.py
parent754a5c1a1d8cf0b3d61fb4552c57350b0d849089 (diff)
downloadcpython-68a53c5d3964ae2f4658491822f83cf36510f39b.zip
cpython-68a53c5d3964ae2f4658491822f83cf36510f39b.tar.gz
cpython-68a53c5d3964ae2f4658491822f83cf36510f39b.tar.bz2
Issue #27380: IDLE: add base Query dialog, with ttk widgets and subclass
SectionName. These split class GetCfgSectionNameDialog from configSectionNameDialog.py, temporarily renamed config_sec.py in 3.7.9a2. More Query subclasses are planned.
Diffstat (limited to 'Lib/idlelib/idle_test/test_config_sec.py')
-rw-r--r--Lib/idlelib/idle_test/test_config_sec.py75
1 files changed, 0 insertions, 75 deletions
diff --git a/Lib/idlelib/idle_test/test_config_sec.py b/Lib/idlelib/idle_test/test_config_sec.py
deleted file mode 100644
index a98b484..0000000
--- a/Lib/idlelib/idle_test/test_config_sec.py
+++ /dev/null
@@ -1,75 +0,0 @@
-"""Unit tests for idlelib.config_sec"""
-import unittest
-from idlelib.idle_test.mock_tk import Var, Mbox
-from idlelib import config_sec as name_dialog_module
-
-name_dialog = name_dialog_module.GetCfgSectionNameDialog
-
-class Dummy_name_dialog:
- # Mock for testing the following methods of name_dialog
- name_ok = name_dialog.name_ok
- Ok = name_dialog.Ok
- Cancel = name_dialog.Cancel
- # Attributes, constant or variable, needed for tests
- used_names = ['used']
- name = Var()
- result = None
- destroyed = False
- def destroy(self):
- self.destroyed = True
-
-# name_ok calls Mbox.showerror if name is not ok
-orig_mbox = name_dialog_module.tkMessageBox
-showerror = Mbox.showerror
-
-class ConfigNameTest(unittest.TestCase):
- dialog = Dummy_name_dialog()
-
- @classmethod
- def setUpClass(cls):
- name_dialog_module.tkMessageBox = Mbox
-
- @classmethod
- def tearDownClass(cls):
- name_dialog_module.tkMessageBox = orig_mbox
-
- def test_blank_name(self):
- self.dialog.name.set(' ')
- self.assertEqual(self.dialog.name_ok(), '')
- self.assertEqual(showerror.title, 'Name Error')
- self.assertIn('No', showerror.message)
-
- def test_used_name(self):
- self.dialog.name.set('used')
- self.assertEqual(self.dialog.name_ok(), '')
- self.assertEqual(showerror.title, 'Name Error')
- self.assertIn('use', showerror.message)
-
- def test_long_name(self):
- self.dialog.name.set('good'*8)
- self.assertEqual(self.dialog.name_ok(), '')
- self.assertEqual(showerror.title, 'Name Error')
- self.assertIn('too long', showerror.message)
-
- def test_good_name(self):
- self.dialog.name.set(' good ')
- showerror.title = 'No Error' # should not be called
- self.assertEqual(self.dialog.name_ok(), 'good')
- self.assertEqual(showerror.title, 'No Error')
-
- def test_ok(self):
- self.dialog.destroyed = False
- self.dialog.name.set('good')
- self.dialog.Ok()
- self.assertEqual(self.dialog.result, 'good')
- self.assertTrue(self.dialog.destroyed)
-
- def test_cancel(self):
- self.dialog.destroyed = False
- self.dialog.Cancel()
- self.assertEqual(self.dialog.result, '')
- self.assertTrue(self.dialog.destroyed)
-
-
-if __name__ == '__main__':
- unittest.main(verbosity=2, exit=False)