summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_contextlib.py
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2011-05-05 13:49:25 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2011-05-05 13:49:25 (GMT)
commit0ded3e307b188246018c893d90f26dfba6fe282c (patch)
treee38e7fb0d4d1a7de987713b7ea540dfdf00ea230 /Lib/test/test_contextlib.py
parentf77b74dd1beacb69b6853303aa70a0de64cd71ae (diff)
downloadcpython-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.py7
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():