diff options
Diffstat (limited to 'lib/python2.7/lib-tk/test/test_ttk/test_style.py')
-rw-r--r-- | lib/python2.7/lib-tk/test/test_ttk/test_style.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/lib/python2.7/lib-tk/test/test_ttk/test_style.py b/lib/python2.7/lib-tk/test/test_ttk/test_style.py new file mode 100644 index 0000000..630e075 --- /dev/null +++ b/lib/python2.7/lib-tk/test/test_ttk/test_style.py @@ -0,0 +1,91 @@ +import unittest +import Tkinter +import ttk +from test.test_support import requires, run_unittest + +import support + +requires('gui') + +class StyleTest(unittest.TestCase): + + def setUp(self): + self.style = ttk.Style() + + + def test_configure(self): + style = self.style + style.configure('TButton', background='yellow') + self.assertEqual(style.configure('TButton', 'background'), + 'yellow') + self.assertTrue(isinstance(style.configure('TButton'), dict)) + + + def test_map(self): + style = self.style + style.map('TButton', background=[('active', 'background', 'blue')]) + self.assertEqual(style.map('TButton', 'background'), + [('active', 'background', 'blue')]) + self.assertTrue(isinstance(style.map('TButton'), dict)) + + + def test_lookup(self): + style = self.style + style.configure('TButton', background='yellow') + style.map('TButton', background=[('active', 'background', 'blue')]) + + self.assertEqual(style.lookup('TButton', 'background'), 'yellow') + self.assertEqual(style.lookup('TButton', 'background', + ['active', 'background']), 'blue') + self.assertEqual(style.lookup('TButton', 'optionnotdefined', + default='iknewit'), 'iknewit') + + + def test_layout(self): + style = self.style + self.assertRaises(Tkinter.TclError, style.layout, 'NotALayout') + tv_style = style.layout('Treeview') + + # "erase" Treeview layout + style.layout('Treeview', '') + self.assertEqual(style.layout('Treeview'), + [('null', {'sticky': 'nswe'})] + ) + + # restore layout + style.layout('Treeview', tv_style) + self.assertEqual(style.layout('Treeview'), tv_style) + + # should return a list + self.assertTrue(isinstance(style.layout('TButton'), list)) + + # correct layout, but "option" doesn't exist as option + self.assertRaises(Tkinter.TclError, style.layout, 'Treeview', + [('name', {'option': 'inexistent'})]) + + + def test_theme_use(self): + self.assertRaises(Tkinter.TclError, self.style.theme_use, + 'nonexistingname') + + curr_theme = self.style.theme_use() + new_theme = None + for theme in self.style.theme_names(): + if theme != curr_theme: + new_theme = theme + self.style.theme_use(theme) + break + else: + # just one theme available, can't go on with tests + return + + self.assertFalse(curr_theme == new_theme) + self.assertFalse(new_theme != self.style.theme_use()) + + self.style.theme_use(curr_theme) + + +tests_gui = (StyleTest, ) + +if __name__ == "__main__": + run_unittest(*tests_gui) |