From 121b6eb018a839bfaf6af22ceb1a9793e62428df Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Mon, 19 Feb 2001 23:53:42 +0000 Subject: [PATCH] SF patch #103749: implicit tuple + default arg --- Lib/test/output/test_compile | 7 +++++++ Lib/test/test_compile.py | 36 +++++++++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Lib/test/output/test_compile b/Lib/test/output/test_compile index 357f96d4b88..de3335276b5 100644 --- a/Lib/test/output/test_compile +++ b/Lib/test/output/test_compile @@ -1 +1,8 @@ test_compile +testing complex args +1 2 +1 2 +3 4 +1 2 3 +1 2 3 +2 3 4 diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index dff77580386..cb240601aa3 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -4,19 +4,49 @@ if verbose: print 'Running tests on argument handling' try: - exec('def f(a, a): pass') + exec 'def f(a, a): pass' raise TestFailed, "duplicate arguments" except SyntaxError: pass try: - exec('def f(a = 0, a = 1): pass') + exec 'def f(a = 0, a = 1): pass' raise TestFailed, "duplicate keyword arguments" except SyntaxError: pass try: - exec('def f(a): global a; a = 1') + exec 'def f(a): global a; a = 1' raise TestFailed, "variable is global and local" except SyntaxError: pass + +print "testing complex args" + +def comp_args((a, b)): + print a,b + +comp_args((1, 2)) + +def comp_args((a, b)=(3, 4)): + print a, b + +comp_args((1, 2)) +comp_args() + +def comp_args(a, (b, c)): + print a, b, c + +comp_args(1, (2, 3)) + +def comp_args(a=2, (b, c)=(3, 4)): + print a, b, c + +comp_args(1, (2, 3)) +comp_args() + +try: + exec 'def f(a=1, (b, c)): pass' + raise TestFailed, "non-default args after default" +except SyntaxError: + pass