summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/mock.py
diff options
context:
space:
mode:
authorblhsing <github@ydooby.com>2019-09-11 14:28:06 (GMT)
committerMichael Foord <voidspace@users.noreply.github.com>2019-09-11 14:28:06 (GMT)
commit72c359912d36705a94fca8b63d80451905a14ae4 (patch)
tree9bc21f98a2253115e39e1e776ab1f0f4c2902526 /Lib/unittest/mock.py
parent1abf54336fd2cb545c453d22dd5501392b3350b2 (diff)
downloadcpython-72c359912d36705a94fca8b63d80451905a14ae4.zip
cpython-72c359912d36705a94fca8b63d80451905a14ae4.tar.gz
cpython-72c359912d36705a94fca8b63d80451905a14ae4.tar.bz2
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__
Diffstat (limited to 'Lib/unittest/mock.py')
-rw-r--r--Lib/unittest/mock.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 50e4959..a98decc 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -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)