bpo-41876: Overload __repr__ for tkinter Font objects (GH-22450)
diff --git a/Lib/tkinter/font.py b/Lib/tkinter/font.py
index 15ad7ab..a9f79d8 100644
--- a/Lib/tkinter/font.py
+++ b/Lib/tkinter/font.py
@@ -100,6 +100,10 @@
def __str__(self):
return self.name
+ def __repr__(self):
+ return f"<{self.__class__.__module__}.{self.__class__.__qualname__}" \
+ f" object {self.name!r}>"
+
def __eq__(self, other):
if not isinstance(other, Font):
return NotImplemented
diff --git a/Lib/tkinter/test/test_tkinter/test_font.py b/Lib/tkinter/test/test_tkinter/test_font.py
index a021ea3..6d1eea4 100644
--- a/Lib/tkinter/test/test_tkinter/test_font.py
+++ b/Lib/tkinter/test/test_tkinter/test_font.py
@@ -101,6 +101,12 @@
self.assertTrue(name)
self.assertIn(fontname, names)
+ def test_repr(self):
+ self.assertEqual(
+ repr(self.font), f'<tkinter.font.Font object {fontname!r}>'
+ )
+
+
tests_gui = (FontTest, )
if __name__ == "__main__":