Issue #24336: The contextmanager decorator now works with functions with

keyword arguments called "func" and "self".  Patch by Martin Panter.
This commit is contained in:
Serhiy Storchaka 2015-06-28 17:06:07 +03:00
parent acac1e0e3b
commit 101ff3541c
4 changed files with 17 additions and 6 deletions

View file

@ -12,8 +12,8 @@ from test.support import run_unittest
class MockContextManager(_GeneratorContextManager):
def __init__(self, func, *args, **kwds):
super().__init__(func, *args, **kwds)
def __init__(self, *args):
super().__init__(*args)
self.enter_called = False
self.exit_called = False
self.exit_args = None
@ -31,7 +31,7 @@ class MockContextManager(_GeneratorContextManager):
def mock_contextmanager(func):
def helper(*args, **kwds):
return MockContextManager(func, *args, **kwds)
return MockContextManager(func, args, kwds)
return helper