]> granicus.if.org Git - python/commitdiff
add with statements
authorBenjamin Peterson <benjamin@python.org>
Fri, 29 May 2009 21:48:19 +0000 (21:48 +0000)
committerBenjamin Peterson <benjamin@python.org>
Fri, 29 May 2009 21:48:19 +0000 (21:48 +0000)
Lib/test/test_grammar.py

index f8cef6ac94fd6697d8f0bf94066ea8d5f8270966..17f9f4c51c06adba3efb945444cfd0c7df126249 100644 (file)
@@ -920,6 +920,26 @@ hello world
         self.assertEqual([x for x, in [(4,), (5,), (6,)]], [4, 5, 6])
         self.assertEqual(list(x for x, in [(7,), (8,), (9,)]), [7, 8, 9])
 
+    def test_with_statement(self):
+        class manager(object):
+            def __enter__(self):
+                return (1, 2)
+            def __exit__(self, *args):
+                pass
+
+        with manager():
+            pass
+        with manager() as x:
+            pass
+        with manager() as (x, y):
+            pass
+        with manager(), manager():
+            pass
+        with manager() as x, manager() as y:
+            pass
+        with manager() as x, manager():
+            pass
+
     def testIfElseExpr(self):
         # Test ifelse expressions in various cases
         def _checkeval(msg, ret):