mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
Issue #25195: Fix a regression in mock.MagicMock
_Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne__ ourselves. Patch by Andrew Plummer.
This commit is contained in:
commit
5a6c018b57
3 changed files with 24 additions and 0 deletions
|
@ -2047,6 +2047,9 @@ class _Call(tuple):
|
||||||
return (other_args, other_kwargs) == (self_args, self_kwargs)
|
return (other_args, other_kwargs) == (self_args, self_kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
__ne__ = object.__ne__
|
||||||
|
|
||||||
|
|
||||||
def __call__(self, *args, **kwargs):
|
def __call__(self, *args, **kwargs):
|
||||||
if self.name is None:
|
if self.name is None:
|
||||||
return _Call(('', args, kwargs), name='()')
|
return _Call(('', args, kwargs), name='()')
|
||||||
|
|
|
@ -304,6 +304,17 @@ class MockTest(unittest.TestCase):
|
||||||
# an exception. See issue 24857.
|
# an exception. See issue 24857.
|
||||||
self.assertFalse(mock.call_args == "a long sequence")
|
self.assertFalse(mock.call_args == "a long sequence")
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
# comparing with mock.ANY
|
||||||
|
self.assertTrue(call1 == call2)
|
||||||
|
self.assertFalse(call1 != call2)
|
||||||
|
|
||||||
|
|
||||||
def test_assert_called_with(self):
|
def test_assert_called_with(self):
|
||||||
mock = Mock()
|
mock = Mock()
|
||||||
mock()
|
mock()
|
||||||
|
@ -319,6 +330,12 @@ class MockTest(unittest.TestCase):
|
||||||
mock.assert_called_with(1, 2, 3, a='fish', b='nothing')
|
mock.assert_called_with(1, 2, 3, a='fish', b='nothing')
|
||||||
|
|
||||||
|
|
||||||
|
def test_assert_called_with_any(self):
|
||||||
|
m = MagicMock()
|
||||||
|
m(MagicMock())
|
||||||
|
m.assert_called_with(mock.ANY)
|
||||||
|
|
||||||
|
|
||||||
def test_assert_called_with_function_spec(self):
|
def test_assert_called_with_function_spec(self):
|
||||||
def f(a, b, c, d=None):
|
def f(a, b, c, d=None):
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -232,6 +232,10 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #25195: Fix a regression in mock.MagicMock. _Call is a subclass of
|
||||||
|
tuple (changeset 3603bae63c13 only works for classes) so we need to
|
||||||
|
implement __ne__ ourselves. Patch by Andrew Plummer.
|
||||||
|
|
||||||
- Issue #26644: Raise ValueError rather than SystemError when a negative
|
- Issue #26644: Raise ValueError rather than SystemError when a negative
|
||||||
length is passed to SSLSocket.recv() or read().
|
length is passed to SSLSocket.recv() or read().
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue