From: Jeremy Hylton Date: Thu, 25 Jan 2001 20:12:27 +0000 (+0000) Subject: PEP 227 implementation X-Git-Tag: v2.1a2~173 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=619eea6821a0c749d2f86d247fa3f7d28d867681;p=python PEP 227 implementation test_new: new.code() noew takes two more arguments test_grammer: Add a bunch of test cases for lambda (not really PEP 227 related) --- diff --git a/Lib/test/output/test_grammar b/Lib/test/output/test_grammar index bc9c9d49aa..b75c22f3d5 100644 --- a/Lib/test/output/test_grammar +++ b/Lib/test/output/test_grammar @@ -13,6 +13,8 @@ file_input expr_input eval_input funcdef +lambdef +SyntaxError expected for "lambda x: x = 2" simple_stmt expr_stmt print_stmt diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py index a8d26dcdcc..8030e691e1 100644 --- a/Lib/test/test_grammar.py +++ b/Lib/test/test_grammar.py @@ -246,6 +246,20 @@ d22v(*(1, 2, 3, 4)) d22v(1, 2, *(3, 4, 5)) d22v(1, *(2, 3), **{'d': 4}) +### lambdef: 'lambda' [varargslist] ':' test +print 'lambdef' +l1 = lambda : 0 +verify(l1() == 0) +l2 = lambda : a[d] # XXX just testing the expression +l3 = lambda : [2 < x for x in [-1, 3, 0L]] +verify(l3() == [0, 1, 0]) +l4 = lambda x = lambda y = lambda z=1 : z : y() : x() +verify(l4() == 1) +l5 = lambda x, y, z=2: x + y + z +verify(l5(1, 2) == 5) +verify(l5(1, 2, 3) == 6) +check_syntax("lambda x: x = 2") + ### stmt: simple_stmt | compound_stmt # Tested below diff --git a/Lib/test/test_new.py b/Lib/test/test_new.py index 70ea38bea5..af26f01e6f 100644 --- a/Lib/test/test_new.py +++ b/Lib/test/test_new.py @@ -58,6 +58,7 @@ if g['c'] != 3: # bogus test of new.code() print 'new.code()' -d = new.code(3, 3, 3, 3, codestr, (), (), (), "", "", 1, "") +d = new.code(3, 3, 3, 3, codestr, (), (), (), (), (), + "", "", 1, "") if verbose: print d