diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2011-05-05 13:58:57 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2011-05-05 13:58:57 (GMT) |
commit | 7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4 (patch) | |
tree | df2388c45d56140379ad56a5524890f1d63c6cd6 /Lib/test | |
parent | e9a56e8d49fcac2f8c4e4c65f588468f1aeb6a09 (diff) | |
parent | 0ded3e307b188246018c893d90f26dfba6fe282c (diff) | |
download | cpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.zip cpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.tar.gz cpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.tar.bz2 |
Merge #11647 update from 3.2
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_contextlib.py | 7 | ||||
-rw-r--r-- | Lib/test/test_with.py | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py index d6bb5b8..6e38305 100644 --- a/Lib/test/test_contextlib.py +++ b/Lib/test/test_contextlib.py @@ -350,13 +350,13 @@ class TestContextDecorator(unittest.TestCase): def test_contextmanager_as_decorator(self): - state = [] @contextmanager def woohoo(y): state.append(y) yield state.append(999) + state = [] @woohoo(1) def test(x): self.assertEqual(state, [1]) @@ -364,6 +364,11 @@ class TestContextDecorator(unittest.TestCase): test('something') self.assertEqual(state, [1, 'something', 999]) + # Issue #11647: Ensure the decorated function is 'reusable' + state = [] + test('something else') + self.assertEqual(state, [1, 'something else', 999]) + # This is needed to make the test actually run under regrtest.py! def test_main(): diff --git a/Lib/test/test_with.py b/Lib/test/test_with.py index a9d374b..e8cc8c0 100644 --- a/Lib/test/test_with.py +++ b/Lib/test/test_with.py @@ -14,8 +14,8 @@ from test.support import run_unittest class MockContextManager(_GeneratorContextManager): - def __init__(self, gen): - _GeneratorContextManager.__init__(self, gen) + def __init__(self, func, *args, **kwds): + super().__init__(func, *args, **kwds) self.enter_called = False self.exit_called = False self.exit_args = None @@ -33,7 +33,7 @@ class MockContextManager(_GeneratorContextManager): def mock_contextmanager(func): def helper(*args, **kwds): - return MockContextManager(func(*args, **kwds)) + return MockContextManager(func, *args, **kwds) return helper |