bpo-37972: unittest.mock._Call now passes on __getitem__ to the __getattr__ chaining so that call() can be subscriptable (GH-15565)

* bpo-37972: unittest.mock._Call now passes on __getitem__ to the __getattr__ chaining so that call() can be subscriptable

* 📜🤖 Added by blurb_it.

* Update 2019-08-28-21-40-12.bpo-37972.kP-n4L.rst

added name of the contributor

* bpo-37972: made all dunder methods chainable for _Call

* bpo-37972: delegate only attributes of tuple instead to __getattr__
This commit is contained in:
blhsing 2019-09-11 07:28:06 -07:00 committed by Michael Foord
parent 1abf54336f
commit 72c359912d
3 changed files with 31 additions and 0 deletions

View file

@ -2462,6 +2462,12 @@ class _Call(tuple):
return _Call(name=name, parent=self, from_kall=False)
def __getattribute__(self, attr):
if attr in tuple.__dict__:
raise AttributeError
return tuple.__getattribute__(self, attr)
def count(self, /, *args, **kwargs):
return self.__getattr__('count')(*args, **kwargs)