PEP 342 implementation. Per Guido's comments, the generator throw()
method still needs to support string exceptions, and allow None for the
third argument. Documentation updates are needed, too.
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 205c406..d1ace67 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -29,11 +29,22 @@
def test_yield_statement(self):
self.check_suite("def f(): yield 1")
+ self.check_suite("def f(): yield")
+ self.check_suite("def f(): x += yield")
+ self.check_suite("def f(): x = yield 1")
+ self.check_suite("def f(): x = y = yield 1")
+ self.check_suite("def f(): x = yield")
+ self.check_suite("def f(): x = y = yield")
+ self.check_suite("def f(): 1 + (yield)*2")
+ self.check_suite("def f(): (yield 1)*2")
self.check_suite("def f(): return; yield 1")
self.check_suite("def f(): yield 1; return")
self.check_suite("def f():\n"
" for x in range(30):\n"
" yield x\n")
+ self.check_suite("def f():\n"
+ " if (yield):\n"
+ " yield x\n")
def test_expressions(self):
self.check_expr("foo(1)")