summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-05-01 10:36:16 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-05-01 10:36:16 (GMT)
commitdd1bcdf6187ff18fb1536a6190926b0f03336186 (patch)
treea4f0e724cca0ccb121240205541ab27857b90385
parentf5f37d784b4e3f0362291cad6155a19cdfffcb57 (diff)
downloadcpython-dd1bcdf6187ff18fb1536a6190926b0f03336186.zip
cpython-dd1bcdf6187ff18fb1536a6190926b0f03336186.tar.gz
cpython-dd1bcdf6187ff18fb1536a6190926b0f03336186.tar.bz2
Issue #26711: Fixed the comparison of plistlib.Data with other types.
-rw-r--r--Lib/plistlib.py4
-rw-r--r--Lib/test/test_plistlib.py6
-rw-r--r--Misc/NEWS2
3 files changed, 7 insertions, 5 deletions
diff --git a/Lib/plistlib.py b/Lib/plistlib.py
index a39151f..b66639c 100644
--- a/Lib/plistlib.py
+++ b/Lib/plistlib.py
@@ -225,10 +225,10 @@ class Data:
def __eq__(self, other):
if isinstance(other, self.__class__):
return self.data == other.data
- elif isinstance(other, str):
+ elif isinstance(other, bytes):
return self.data == other
else:
- return id(self) == id(other)
+ return NotImplemented
def __repr__(self):
return "%s(%s)" % (self.__class__.__name__, repr(self.data))
diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
index f0e9e5a..16114f9 100644
--- a/Lib/test/test_plistlib.py
+++ b/Lib/test/test_plistlib.py
@@ -515,15 +515,15 @@ class TestPlistlibDeprecated(unittest.TestCase):
cur = plistlib.loads(buf)
self.assertEqual(cur, out_data)
- self.assertNotEqual(cur, in_data)
+ self.assertEqual(cur, in_data)
cur = plistlib.loads(buf, use_builtin_types=False)
- self.assertNotEqual(cur, out_data)
+ self.assertEqual(cur, out_data)
self.assertEqual(cur, in_data)
with self.assertWarns(DeprecationWarning):
cur = plistlib.readPlistFromBytes(buf)
- self.assertNotEqual(cur, out_data)
+ self.assertEqual(cur, out_data)
self.assertEqual(cur, in_data)
diff --git a/Misc/NEWS b/Misc/NEWS
index 89403b0..678fac1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -107,6 +107,8 @@ Core and Builtins
Library
-------
+- Issue #26711: Fixed the comparison of plistlib.Data with other types.
+
- Issue #24114: Fix an uninitialized variable in `ctypes.util`.
The bug only occurs on SunOS when the ctypes implementation searches