mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #23310: Fix MagicMock's initializer to work with __methods__.
Behavior equivalent to m.configure_mock(). Patch by Kasia Jachim.
This commit is contained in:
parent
cd1aa9158e
commit
a468db9b0b
4 changed files with 22 additions and 2 deletions
|
@ -1789,14 +1789,15 @@ def _set_return_value(mock, method, name):
|
|||
|
||||
class MagicMixin(object):
|
||||
def __init__(self, *args, **kw):
|
||||
self._mock_set_magics() # make magic work for kwargs in init
|
||||
_safe_super(MagicMixin, self).__init__(*args, **kw)
|
||||
self._mock_set_magics()
|
||||
self._mock_set_magics() # fix magic broken by upper level init
|
||||
|
||||
|
||||
def _mock_set_magics(self):
|
||||
these_magics = _magics
|
||||
|
||||
if self._mock_methods is not None:
|
||||
if getattr(self, "_mock_methods", None) is not None:
|
||||
these_magics = _magics.intersection(self._mock_methods)
|
||||
|
||||
remove_magics = set()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue