ยปCore Development>Code coverage>Lib/idlelib/idle_test/test_config_name.py

Python code coverage for Lib/idlelib/idle_test/test_config_name.py

#countcontent
1n/a"""Unit tests for idlelib.configSectionNameDialog"""
2n/aimport unittest
3n/afrom idlelib.idle_test.mock_tk import Var, Mbox
4n/afrom idlelib import configSectionNameDialog as name_dialog_module
5n/a
6n/aname_dialog = name_dialog_module.GetCfgSectionNameDialog
7n/a
8n/aclass Dummy_name_dialog:
9n/a # Mock for testing the following methods of name_dialog
10n/a name_ok = name_dialog.name_ok
11n/a Ok = name_dialog.Ok
12n/a Cancel = name_dialog.Cancel
13n/a # Attributes, constant or variable, needed for tests
14n/a used_names = ['used']
15n/a name = Var()
16n/a result = None
17n/a destroyed = False
18n/a def destroy(self):
19n/a self.destroyed = True
20n/a
21n/a# name_ok calls Mbox.showerror if name is not ok
22n/aorig_mbox = name_dialog_module.tkMessageBox
23n/ashowerror = Mbox.showerror
24n/a
25n/aclass ConfigNameTest(unittest.TestCase):
26n/a dialog = Dummy_name_dialog()
27n/a
28n/a @classmethod
29n/a def setUpClass(cls):
30n/a name_dialog_module.tkMessageBox = Mbox
31n/a
32n/a @classmethod
33n/a def tearDownClass(cls):
34n/a name_dialog_module.tkMessageBox = orig_mbox
35n/a
36n/a def test_blank_name(self):
37n/a self.dialog.name.set(' ')
38n/a self.assertEqual(self.dialog.name_ok(), '')
39n/a self.assertEqual(showerror.title, 'Name Error')
40n/a self.assertIn('No', showerror.message)
41n/a
42n/a def test_used_name(self):
43n/a self.dialog.name.set('used')
44n/a self.assertEqual(self.dialog.name_ok(), '')
45n/a self.assertEqual(showerror.title, 'Name Error')
46n/a self.assertIn('use', showerror.message)
47n/a
48n/a def test_long_name(self):
49n/a self.dialog.name.set('good'*8)
50n/a self.assertEqual(self.dialog.name_ok(), '')
51n/a self.assertEqual(showerror.title, 'Name Error')
52n/a self.assertIn('too long', showerror.message)
53n/a
54n/a def test_good_name(self):
55n/a self.dialog.name.set(' good ')
56n/a showerror.title = 'No Error' # should not be called
57n/a self.assertEqual(self.dialog.name_ok(), 'good')
58n/a self.assertEqual(showerror.title, 'No Error')
59n/a
60n/a def test_ok(self):
61n/a self.dialog.destroyed = False
62n/a self.dialog.name.set('good')
63n/a self.dialog.Ok()
64n/a self.assertEqual(self.dialog.result, 'good')
65n/a self.assertTrue(self.dialog.destroyed)
66n/a
67n/a def test_cancel(self):
68n/a self.dialog.destroyed = False
69n/a self.dialog.Cancel()
70n/a self.assertEqual(self.dialog.result, '')
71n/a self.assertTrue(self.dialog.destroyed)
72n/a
73n/a
74n/aif __name__ == '__main__':
75n/a unittest.main(verbosity=2, exit=False)