mirror of https://github.com/python/cpython
Issue #16541: tk_setPalette() now works with keyword arguments.
Added a test for tk_setPalette().
This commit is contained in:
commit
3cfb2cd624
|
@ -391,7 +391,7 @@ class Misc:
|
|||
background, highlightColor, selectForeground,
|
||||
disabledForeground, insertBackground, troughColor."""
|
||||
self.tk.call(('tk_setPalette',)
|
||||
+ _flatten(args) + _flatten(kw.items()))
|
||||
+ _flatten(args) + _flatten(list(kw.items())))
|
||||
def tk_menuBar(self, *args):
|
||||
"""Do not use. Needed in Tk 3.6 and earlier."""
|
||||
pass # obsolete since Tk 4.0
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
import unittest
|
||||
import tkinter
|
||||
from tkinter import ttk
|
||||
from test import support
|
||||
|
||||
support.requires('gui')
|
||||
|
||||
class MiscTest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.root = ttk.setup_master()
|
||||
|
||||
def test_tk_setPalette(self):
|
||||
root = self.root
|
||||
root.tk_setPalette('black')
|
||||
self.assertEqual(root['background'], 'black')
|
||||
root.tk_setPalette('white')
|
||||
self.assertEqual(root['background'], 'white')
|
||||
self.assertRaisesRegex(tkinter.TclError,
|
||||
'^unknown color name "spam"$',
|
||||
root.tk_setPalette, 'spam')
|
||||
|
||||
root.tk_setPalette(background='black')
|
||||
self.assertEqual(root['background'], 'black')
|
||||
root.tk_setPalette(background='blue', highlightColor='yellow')
|
||||
self.assertEqual(root['background'], 'blue')
|
||||
self.assertEqual(root['highlightcolor'], 'yellow')
|
||||
root.tk_setPalette(background='yellow', highlightColor='blue')
|
||||
self.assertEqual(root['background'], 'yellow')
|
||||
self.assertEqual(root['highlightcolor'], 'blue')
|
||||
self.assertRaisesRegex(tkinter.TclError,
|
||||
'^unknown color name "spam"$',
|
||||
root.tk_setPalette, background='spam')
|
||||
self.assertRaisesRegex(tkinter.TclError,
|
||||
'^must specify a background color$',
|
||||
root.tk_setPalette, spam='white')
|
||||
self.assertRaisesRegex(tkinter.TclError,
|
||||
'^must specify a background color$',
|
||||
root.tk_setPalette, highlightColor='blue')
|
||||
|
||||
|
||||
tests_gui = (MiscTest, )
|
||||
|
||||
if __name__ == "__main__":
|
||||
support.run_unittest(*tests_gui)
|
Loading…
Reference in New Issue