mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	 ab91fdef1f
			
		
	
	
		ab91fdef1f
		
	
	
	
	
		
			
			svn+ssh://svn.python.org/python/branches/py3k ........ r73715 | benjamin.peterson | 2009-07-01 01:06:06 +0200 (Mi, 01 Jul 2009) | 1 line convert old fail* assertions to assert* ........
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import unittest
 | |
| import tkinter
 | |
| from tkinter import ttk
 | |
| from test.support import requires, run_unittest
 | |
| 
 | |
| import tkinter.test.support as 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)
 |