aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_tkinter/support.py2
-rw-r--r--Lib/test/test_tkinter/test_misc.py55
2 files changed, 56 insertions, 1 deletions
diff --git a/Lib/test/test_tkinter/support.py b/Lib/test/test_tkinter/support.py
index a37705f0ae6..ebb9e00ff91 100644
--- a/Lib/test/test_tkinter/support.py
+++ b/Lib/test/test_tkinter/support.py
@@ -14,7 +14,7 @@ class AbstractTkTest:
# Some window managers can maximize new windows.
cls.root.wm_state('normal')
try:
- cls.root.wm_attributes('-zoomed', False)
+ cls.root.wm_attributes(zoomed=False)
except tkinter.TclError:
pass
diff --git a/Lib/test/test_tkinter/test_misc.py b/Lib/test/test_tkinter/test_misc.py
index 71553503005..81a20b698a7 100644
--- a/Lib/test/test_tkinter/test_misc.py
+++ b/Lib/test/test_tkinter/test_misc.py
@@ -437,6 +437,61 @@ class MiscTest(AbstractTkTest, unittest.TestCase):
self.assertTrue(str(vi).startswith(f'{vi.major}.{vi.minor}'))
+class WmTest(AbstractTkTest, unittest.TestCase):
+
+ def test_wm_attribute(self):
+ w = self.root
+ attributes = w.wm_attributes(return_python_dict=True)
+ self.assertIsInstance(attributes, dict)
+ attributes2 = w.wm_attributes()
+ self.assertIsInstance(attributes2, tuple)
+ self.assertEqual(attributes2[::2],
+ tuple('-' + k for k in attributes))
+ self.assertEqual(attributes2[1::2], tuple(attributes.values()))
+ # silently deprecated
+ attributes3 = w.wm_attributes(None)
+ if self.wantobjects:
+ self.assertEqual(attributes3, attributes2)
+ else:
+ self.assertIsInstance(attributes3, str)
+
+ for name in attributes:
+ self.assertEqual(w.wm_attributes(name), attributes[name])
+ # silently deprecated
+ for name in attributes:
+ self.assertEqual(w.wm_attributes('-' + name), attributes[name])
+
+ self.assertIn('alpha', attributes)
+ self.assertIn('fullscreen', attributes)
+ self.assertIn('topmost', attributes)
+ if w._windowingsystem == "win32":
+ self.assertIn('disabled', attributes)
+ self.assertIn('toolwindow', attributes)
+ self.assertIn('transparentcolor', attributes)
+ if w._windowingsystem == "aqua":
+ self.assertIn('modified', attributes)
+ self.assertIn('notify', attributes)
+ self.assertIn('titlepath', attributes)
+ self.assertIn('transparent', attributes)
+ if w._windowingsystem == "x11":
+ self.assertIn('type', attributes)
+ self.assertIn('zoomed', attributes)
+
+ w.wm_attributes(alpha=0.5)
+ self.assertEqual(w.wm_attributes('alpha'),
+ 0.5 if self.wantobjects else '0.5')
+ w.wm_attributes(alpha=1.0)
+ self.assertEqual(w.wm_attributes('alpha'),
+ 1.0 if self.wantobjects else '1.0')
+ # silently deprecated
+ w.wm_attributes('-alpha', 0.5)
+ self.assertEqual(w.wm_attributes('alpha'),
+ 0.5 if self.wantobjects else '0.5')
+ w.wm_attributes(alpha=1.0)
+ self.assertEqual(w.wm_attributes('alpha'),
+ 1.0 if self.wantobjects else '1.0')
+
+
class BindTest(AbstractTkTest, unittest.TestCase):
def setUp(self):