diff --git a/Lib/tkinter/font.py b/Lib/tkinter/font.py index 1ec760ee885..5425b060132 100644 --- a/Lib/tkinter/font.py +++ b/Lib/tkinter/font.py @@ -97,7 +97,7 @@ class Font: return self.name def __eq__(self, other): - return self.name == other.name and isinstance(other, Font) + return isinstance(other, Font) and self.name == other.name def __getitem__(self, key): return self.cget(key) diff --git a/Lib/tkinter/test/test_tkinter/test_font.py b/Lib/tkinter/test/test_tkinter/test_font.py new file mode 100644 index 00000000000..56e0c02b160 --- /dev/null +++ b/Lib/tkinter/test/test_tkinter/test_font.py @@ -0,0 +1,20 @@ +import unittest +import tkinter +from tkinter import font +from test.support import requires, run_unittest + +requires('gui') + +class FontTest(unittest.TestCase): + def test_font_eq(self): + font1 = font.nametofont("system") + font2 = font.nametofont("system") + self.assertIsNot(font1, font2) + self.assertEqual(font1, font2) + self.assertNotEqual(font1, font1.copy()) + self.assertNotEqual(font1, 0) + +tests_gui = (FontTest, ) + +if __name__ == "__main__": + run_unittest(*tests_gui) diff --git a/Misc/NEWS b/Misc/NEWS index 1ccc8b5fc6c..bfa8bace8cc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -52,6 +52,9 @@ Core and Builtins Library ------- +- Issue #1730136: Fix the comparison between a tk.font.Font and an object of + another kind. + - Issue #9441: logging has better coverage for rotating file handlers. - Issue #9865: collections.OrderedDict now has a __sizeof__ method.