mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-37685: Fixed __eq__, __lt__ etc implementations in some classes. (GH-14952)
They now return NotImplemented for unsupported type of the other operand.
This commit is contained in:
parent
4c69be22df
commit
662db125cd
23 changed files with 1295 additions and 1150 deletions
|
@ -7,6 +7,7 @@ from email.message import Message
|
|||
from test.test_email import TestEmailBase, parameterize
|
||||
from email import headerregistry
|
||||
from email.headerregistry import Address, Group
|
||||
from test.support import ALWAYS_EQ
|
||||
|
||||
|
||||
DITTO = object()
|
||||
|
@ -1525,6 +1526,24 @@ class TestAddressAndGroup(TestEmailBase):
|
|||
self.assertEqual(m['to'], 'foo bar:;')
|
||||
self.assertEqual(m['to'].addresses, g.addresses)
|
||||
|
||||
def test_address_comparison(self):
|
||||
a = Address('foo', 'bar', 'example.com')
|
||||
self.assertEqual(Address('foo', 'bar', 'example.com'), a)
|
||||
self.assertNotEqual(Address('baz', 'bar', 'example.com'), a)
|
||||
self.assertNotEqual(Address('foo', 'baz', 'example.com'), a)
|
||||
self.assertNotEqual(Address('foo', 'bar', 'baz'), a)
|
||||
self.assertFalse(a == object())
|
||||
self.assertTrue(a == ALWAYS_EQ)
|
||||
|
||||
def test_group_comparison(self):
|
||||
a = Address('foo', 'bar', 'example.com')
|
||||
g = Group('foo bar', [a])
|
||||
self.assertEqual(Group('foo bar', (a,)), g)
|
||||
self.assertNotEqual(Group('baz', [a]), g)
|
||||
self.assertNotEqual(Group('foo bar', []), g)
|
||||
self.assertFalse(g == object())
|
||||
self.assertTrue(g == ALWAYS_EQ)
|
||||
|
||||
|
||||
class TestFolding(TestHeaderBase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue