diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2013-01-01 22:03:58 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2013-01-01 22:03:58 (GMT) |
commit | 4cf4f3a7c62c4db00d56507ac9e37a05381941cb (patch) | |
tree | 255e28209ed736b1e7ed8d381f8cbb31c3bf8cbc /Lib/tkinter | |
parent | 8c126d7abd67fbb88a58d0efbdad573fc6043e76 (diff) | |
download | cpython-4cf4f3a7c62c4db00d56507ac9e37a05381941cb.zip cpython-4cf4f3a7c62c4db00d56507ac9e37a05381941cb.tar.gz cpython-4cf4f3a7c62c4db00d56507ac9e37a05381941cb.tar.bz2 |
Issue #16541: tk_setPalette() now works with keyword arguments.
Added a test for tk_setPalette().
Diffstat (limited to 'Lib/tkinter')
-rw-r--r-- | Lib/tkinter/__init__.py | 2 | ||||
-rw-r--r-- | Lib/tkinter/test/test_tkinter/test_misc.py | 45 |
2 files changed, 46 insertions, 1 deletions
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index f2cb60f..3ba4bb0 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -380,7 +380,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 diff --git a/Lib/tkinter/test/test_tkinter/test_misc.py b/Lib/tkinter/test/test_tkinter/test_misc.py new file mode 100644 index 0000000..d325b31 --- /dev/null +++ b/Lib/tkinter/test/test_tkinter/test_misc.py @@ -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) |