Commit 362f058a authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #28735: Fixed the comparison of mock.MagickMock with mock.ANY.

parent 6ad85bf8
...@@ -1749,14 +1749,18 @@ def _get_eq(self): ...@@ -1749,14 +1749,18 @@ def _get_eq(self):
ret_val = self.__eq__._mock_return_value ret_val = self.__eq__._mock_return_value
if ret_val is not DEFAULT: if ret_val is not DEFAULT:
return ret_val return ret_val
return self is other if self is other:
return True
return NotImplemented
return __eq__ return __eq__
def _get_ne(self): def _get_ne(self):
def __ne__(other): def __ne__(other):
if self.__ne__._mock_return_value is not DEFAULT: if self.__ne__._mock_return_value is not DEFAULT:
return DEFAULT return DEFAULT
return self is not other if self is other:
return False
return NotImplemented
return __ne__ return __ne__
def _get_iter(self): def _get_iter(self):
......
...@@ -306,13 +306,24 @@ class MockTest(unittest.TestCase): ...@@ -306,13 +306,24 @@ class MockTest(unittest.TestCase):
def test_calls_equal_with_any(self): def test_calls_equal_with_any(self):
call1 = mock.call(mock.MagicMock())
call2 = mock.call(mock.ANY)
# Check that equality and non-equality is consistent even when # Check that equality and non-equality is consistent even when
# comparing with mock.ANY # comparing with mock.ANY
mm = mock.MagicMock()
self.assertTrue(mm == mm)
self.assertFalse(mm != mm)
self.assertFalse(mm == mock.MagicMock())
self.assertTrue(mm != mock.MagicMock())
self.assertTrue(mm == mock.ANY)
self.assertFalse(mm != mock.ANY)
self.assertTrue(mock.ANY == mm)
self.assertFalse(mock.ANY != mm)
call1 = mock.call(mock.MagicMock())
call2 = mock.call(mock.ANY)
self.assertTrue(call1 == call2) self.assertTrue(call1 == call2)
self.assertFalse(call1 != call2) self.assertFalse(call1 != call2)
self.assertTrue(call2 == call1)
self.assertFalse(call2 != call1)
def test_assert_called_with(self): def test_assert_called_with(self):
......
...@@ -13,6 +13,8 @@ Core and Builtins ...@@ -13,6 +13,8 @@ Core and Builtins
Library Library
------- -------
- Issue #28735: Fixed the comparison of mock.MagickMock with mock.ANY.
- Issue #29011: Fix an important omission by adding Deque to the typing module. - Issue #29011: Fix an important omission by adding Deque to the typing module.
- Issue #29219: Fixed infinite recursion in the repr of uninitialized - Issue #29219: Fixed infinite recursion in the repr of uninitialized
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment