From 07fd383844eaedb633eb2c6da5fbd8d70e2f8b8b Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 5 Nov 2026 21:21:47 +0200 Subject: [PATCH] gh-161441: Fix tkinter and IDLE tests failing with new Tcl/Tk * Generated events are not delivered to widgets whose window does not exist yet. Realize the widgets before generating events for them. * A named font whose name is a font description was never supported. Remove the check for it. Co-Authored-By: Claude Opus 5 --- Lib/idlelib/idle_test/test_editmenu.py | 4 ++++ Lib/test/test_tkinter/test_font.py | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Lib/idlelib/idle_test/test_editmenu.py b/Lib/idlelib/idle_test/test_editmenu.py index 0d1eb9054918da7..e197b1ef8faedf0 100644 --- a/Lib/idlelib/idle_test/test_editmenu.py +++ b/Lib/idlelib/idle_test/test_editmenu.py @@ -23,6 +23,10 @@ def setUpClass(cls): cls.entry = tk.Entry(root) cls.tentry = ttk.Entry(root) cls.spin = tk.Spinbox(root) + # Generated events are not delivered to widgets whose window + # does not exist yet. + for widget in cls.text, cls.entry, cls.tentry, cls.spin: + widget.winfo_id() root.clipboard_clear() root.clipboard_append('two') diff --git a/Lib/test/test_tkinter/test_font.py b/Lib/test/test_tkinter/test_font.py index c80098271039d19..4217bed966131b2 100644 --- a/Lib/test/test_tkinter/test_font.py +++ b/Lib/test/test_tkinter/test_font.py @@ -250,11 +250,6 @@ def test_equality(self): self.assertEqual(w1, w2) w3 = font.Font(root=self.root, font=('Times', 12), exists=True) self.assertNotEqual(w1, w3) - # A wrapped description never equals a named font, even one whose name - # is the string form of the description. - named = font.Font(root=self.root, name=str(w1), family='Courier') - self.assertNotEqual(w1, named) - self.assertNotEqual(named, w1) self.assertNotEqual(font1, 0) self.assertEqual(font1, ALWAYS_EQ)