SF patch #103749: implicit tuple + default arg
This commit is contained in:
parent
2b3f0ca2ac
commit
121b6eb018
|
@ -1 +1,8 @@
|
|||
test_compile
|
||||
testing complex args
|
||||
1 2
|
||||
1 2
|
||||
3 4
|
||||
1 2 3
|
||||
1 2 3
|
||||
2 3 4
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue