Fix test 9 (caught by ?!ng)

Add tests for unbound locals (Nick Mathewson)
This commit is contained in:
Jeremy Hylton 2001-02-05 17:35:20 +00:00
parent 2524d699f5
commit de6024872a
2 changed files with 31 additions and 1 deletions

View File

@ -11,3 +11,4 @@ test_scope
10. recursion
11. unoptimized namespaces
12. lambdas
13. UnboundLocal

View File

@ -154,7 +154,7 @@ class Test:
def str(self):
return str(self)
t = test()
t = Test()
verify(t.test() == "var")
verify(t.method_and_var() == "method")
verify(t.actual_global() == "global")
@ -247,3 +247,32 @@ f8 = lambda x, y, z: lambda a, b, c: lambda : z * (b + y)
g = f8(1, 2, 3)
h = g(2, 4, 6)
verify(h() == 18)
print "13. UnboundLocal"
def errorInOuter():
print y
def inner():
return y
y = 1
def errorInInner():
def inner():
return y
inner()
y = 1
try:
errorInOuter()
except UnboundLocalError:
pass
else:
raise TestFailed
try:
errorInInner()
except UnboundLocalError:
pass
else:
raise TestFailed