Merged revisions 73031 via svnmerge from
authorBenjamin Peterson <benjamin@python.org>
Fri, 29 May 2009 21:55:57 +0000 (21:55 +0000)
committerBenjamin Peterson <benjamin@python.org>
Fri, 29 May 2009 21:55:57 +0000 (21:55 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r73031 | benjamin.peterson | 2009-05-29 16:48:19 -0500 (Fri, 29 May 2009) | 1 line

  add with statements
........

Lib/test/test_grammar.py

index eadf1db7ab3c283f355d79dc8309d90f8c83163c..977f0b8b35fa1f7085bb5dfea7fa05f2c302e1c0 100644 (file)
@@ -868,6 +868,26 @@ class GrammarTests(unittest.TestCase):
         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):