# pass kwargs with respect to the parent mock.
self.assertEqual(class_mock().return_value.meth.side_effect, None)
+ def test_create_autospec_correctly_handles_name(self):
+ class X: ...
+ mock = create_autospec(X, spec_set=True, name="Y")
+ self.assertEqual(mock._mock_name, "Y")
+
def test_repr(self):
mock = Mock(name='foo')
self.assertIn('foo', repr(mock))
if not unsafe:
_check_spec_arg_typos(kwargs)
+ _name = kwargs.pop('name', _name)
+ _new_name = _name
+ if _parent is None:
+ # for a top level object no _new_name should be set
+ _new_name = ''
+
_kwargs.update(kwargs)
Klass = MagicMock
elif is_type and instance and not _instance_callable(spec):
Klass = NonCallableMagicMock
- _name = _kwargs.pop('name', _name)
-
- _new_name = _name
- if _parent is None:
- # for a top level object no _new_name should be set
- _new_name = ''
-
mock = Klass(parent=_parent, _new_parent=_parent, _new_name=_new_name,
name=_name, **_kwargs)