summaryrefslogtreecommitdiff
path: root/lib/python2.7/lib-tk/test/test_ttk/test_style.py
diff options
context:
space:
mode:
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.py91
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)