ยปCore Development>Code coverage>Lib/lib-tk/test/test_ttk/test_style.py

Python code coverage for Lib/lib-tk/test/test_ttk/test_style.py

#countcontent
1n/aimport unittest
2n/aimport Tkinter
3n/aimport ttk
4n/afrom test.test_support import requires, run_unittest
5n/a
6n/aimport support
7n/a
8n/arequires('gui')
9n/a
10n/aclass StyleTest(unittest.TestCase):
11n/a
12n/a def setUp(self):
13n/a self.style = ttk.Style()
14n/a
15n/a
16n/a def test_configure(self):
17n/a style = self.style
18n/a style.configure('TButton', background='yellow')
19n/a self.assertEqual(style.configure('TButton', 'background'),
20n/a 'yellow')
21n/a self.assertTrue(isinstance(style.configure('TButton'), dict))
22n/a
23n/a
24n/a def test_map(self):
25n/a style = self.style
26n/a style.map('TButton', background=[('active', 'background', 'blue')])
27n/a self.assertEqual(style.map('TButton', 'background'),
28n/a [('active', 'background', 'blue')])
29n/a self.assertTrue(isinstance(style.map('TButton'), dict))
30n/a
31n/a
32n/a def test_lookup(self):
33n/a style = self.style
34n/a style.configure('TButton', background='yellow')
35n/a style.map('TButton', background=[('active', 'background', 'blue')])
36n/a
37n/a self.assertEqual(style.lookup('TButton', 'background'), 'yellow')
38n/a self.assertEqual(style.lookup('TButton', 'background',
39n/a ['active', 'background']), 'blue')
40n/a self.assertEqual(style.lookup('TButton', 'optionnotdefined',
41n/a default='iknewit'), 'iknewit')
42n/a
43n/a
44n/a def test_layout(self):
45n/a style = self.style
46n/a self.assertRaises(Tkinter.TclError, style.layout, 'NotALayout')
47n/a tv_style = style.layout('Treeview')
48n/a
49n/a # "erase" Treeview layout
50n/a style.layout('Treeview', '')
51n/a self.assertEqual(style.layout('Treeview'),
52n/a [('null', {'sticky': 'nswe'})]
53n/a )
54n/a
55n/a # restore layout
56n/a style.layout('Treeview', tv_style)
57n/a self.assertEqual(style.layout('Treeview'), tv_style)
58n/a
59n/a # should return a list
60n/a self.assertTrue(isinstance(style.layout('TButton'), list))
61n/a
62n/a # correct layout, but "option" doesn't exist as option
63n/a self.assertRaises(Tkinter.TclError, style.layout, 'Treeview',
64n/a [('name', {'option': 'inexistent'})])
65n/a
66n/a
67n/a def test_theme_use(self):
68n/a self.assertRaises(Tkinter.TclError, self.style.theme_use,
69n/a 'nonexistingname')
70n/a
71n/a curr_theme = self.style.theme_use()
72n/a new_theme = None
73n/a for theme in self.style.theme_names():
74n/a if theme != curr_theme:
75n/a new_theme = theme
76n/a self.style.theme_use(theme)
77n/a break
78n/a else:
79n/a # just one theme available, can't go on with tests
80n/a return
81n/a
82n/a self.assertFalse(curr_theme == new_theme)
83n/a self.assertFalse(new_theme != self.style.theme_use())
84n/a
85n/a self.style.theme_use(curr_theme)
86n/a
87n/a
88n/atests_gui = (StyleTest, )
89n/a
90n/aif __name__ == "__main__":
91n/a run_unittest(*tests_gui)