summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_tkinter/test_misc.py
diff options
context:
space:
mode:
authorCheryl Sabella <cheryl.sabella@gmail.com>2024-04-26 21:27:58 (GMT)
committerGitHub <noreply@github.com>2024-04-26 21:27:58 (GMT)
commit194fd17bc6cb73138e2fe8eb5ca34b19a6c3b25a (patch)
tree1bf54e346229e095933c7a79a0bc4fbaab11d679 /Lib/test/test_tkinter/test_misc.py
parentb43c7e1070e515b3e94043ff777ab83074234051 (diff)
downloadcpython-194fd17bc6cb73138e2fe8eb5ca34b19a6c3b25a.zip
cpython-194fd17bc6cb73138e2fe8eb5ca34b19a6c3b25a.tar.gz
cpython-194fd17bc6cb73138e2fe8eb5ca34b19a6c3b25a.tar.bz2
bpo-32839: Add the after_info() method for Tkinter widgets (GH-5664)
Diffstat (limited to 'Lib/test/test_tkinter/test_misc.py')
-rw-r--r--Lib/test/test_tkinter/test_misc.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/Lib/test/test_tkinter/test_misc.py b/Lib/test/test_tkinter/test_misc.py
index 81a20b6..6dca2a3 100644
--- a/Lib/test/test_tkinter/test_misc.py
+++ b/Lib/test/test_tkinter/test_misc.py
@@ -232,6 +232,46 @@ class MiscTest(AbstractTkTest, unittest.TestCase):
with self.assertRaises(tkinter.TclError):
root.tk.call('after', 'info', idle1)
+ def test_after_info(self):
+ root = self.root
+
+ # No events.
+ self.assertEqual(root.after_info(), ())
+
+ # Add timer.
+ timer = root.after(1, lambda: 'break')
+
+ # With no parameter, it returns a tuple of the event handler ids.
+ self.assertEqual(root.after_info(), (timer, ))
+ root.after_cancel(timer)
+
+ timer1 = root.after(5000, lambda: 'break')
+ timer2 = root.after(5000, lambda: 'break')
+ idle1 = root.after_idle(lambda: 'break')
+ # Only contains new events and not 'timer'.
+ self.assertEqual(root.after_info(), (idle1, timer2, timer1))
+
+ # With a parameter returns a tuple of (script, type).
+ timer1_info = root.after_info(timer1)
+ self.assertEqual(len(timer1_info), 2)
+ self.assertEqual(timer1_info[1], 'timer')
+ idle1_info = root.after_info(idle1)
+ self.assertEqual(len(idle1_info), 2)
+ self.assertEqual(idle1_info[1], 'idle')
+
+ root.after_cancel(timer1)
+ with self.assertRaises(tkinter.TclError):
+ root.after_info(timer1)
+ root.after_cancel(timer2)
+ with self.assertRaises(tkinter.TclError):
+ root.after_info(timer2)
+ root.after_cancel(idle1)
+ with self.assertRaises(tkinter.TclError):
+ root.after_info(idle1)
+
+ # No events.
+ self.assertEqual(root.after_info(), ())
+
def test_clipboard(self):
root = self.root
root.clipboard_clear()