summaryrefslogtreecommitdiffstats
path: root/Lib/lib-tk
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-07-24 14:48:28 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-07-24 14:48:28 (GMT)
commit186f66540dfcce1abec59d87d24e944c7987a53c (patch)
treeb72fe55efff6557d6ff27dcb8aac2e568f9c7f39 /Lib/lib-tk
parent63a474788a3f53f8edb62cf895aeb90508435c1d (diff)
downloadcpython-186f66540dfcce1abec59d87d24e944c7987a53c.zip
cpython-186f66540dfcce1abec59d87d24e944c7987a53c.tar.gz
cpython-186f66540dfcce1abec59d87d24e944c7987a53c.tar.bz2
Issue #1730136: Fix comparison between a tk Font object and an object of a
different type.
Diffstat (limited to 'Lib/lib-tk')
-rw-r--r--Lib/lib-tk/test/test_tkinter/test_font.py35
-rw-r--r--Lib/lib-tk/tkFont.py2
2 files changed, 36 insertions, 1 deletions
diff --git a/Lib/lib-tk/test/test_tkinter/test_font.py b/Lib/lib-tk/test/test_tkinter/test_font.py
new file mode 100644
index 0000000..8e20f4d
--- /dev/null
+++ b/Lib/lib-tk/test/test_tkinter/test_font.py
@@ -0,0 +1,35 @@
+import unittest
+import Tkinter
+#from Tkinter
+import tkFont as font
+from test.test_support import requires, run_unittest
+import test_ttk.support as support
+
+requires('gui')
+
+class FontTest(unittest.TestCase):
+
+ def setUp(self):
+ support.root_deiconify()
+
+ def tearDown(self):
+ support.root_withdraw()
+
+ def test_font_eq(self):
+ fontname = "TkDefaultFont"
+ try:
+ f = font.Font(name=fontname, exists=True)
+ except tkinter._tkinter.TclError:
+ f = font.Font(name=fontname, exists=False)
+ font1 = font.nametofont(fontname)
+ font2 = font.nametofont(fontname)
+ self.assertIsNot(font1, font2)
+ self.assertEqual(font1, font2)
+ self.assertNotEqual(font1, font1.copy())
+ self.assertNotEqual(font1, 0)
+ self.assertNotIn(font1, [0])
+
+tests_gui = (FontTest, )
+
+if __name__ == "__main__":
+ run_unittest(*tests_gui)
diff --git a/Lib/lib-tk/tkFont.py b/Lib/lib-tk/tkFont.py
index 61c2f86..dfdee42 100644
--- a/Lib/lib-tk/tkFont.py
+++ b/Lib/lib-tk/tkFont.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)