diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2011-05-05 13:49:25 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2011-05-05 13:49:25 (GMT) |
commit | 0ded3e307b188246018c893d90f26dfba6fe282c (patch) | |
tree | e38e7fb0d4d1a7de987713b7ea540dfdf00ea230 /Lib/test/test_contextlib.py | |
parent | f77b74dd1beacb69b6853303aa70a0de64cd71ae (diff) | |
download | cpython-0ded3e307b188246018c893d90f26dfba6fe282c.zip cpython-0ded3e307b188246018c893d90f26dfba6fe282c.tar.gz cpython-0ded3e307b188246018c893d90f26dfba6fe282c.tar.bz2 |
Issue #11647: allow contextmanager objects to be used as decorators as described in the docs. Initial patch by Ysj Ray.
Diffstat (limited to 'Lib/test/test_contextlib.py')
-rw-r--r-- | Lib/test/test_contextlib.py | 7 |
1 files changed, 6 insertions, 1 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(): |