Kaydet (Commit) de602487 authored tarafından Jeremy Hylton's avatar Jeremy Hylton

Fix test 9 (caught by ?!ng)

Add tests for unbound locals (Nick Mathewson)
üst 2524d699
...@@ -11,3 +11,4 @@ test_scope ...@@ -11,3 +11,4 @@ test_scope
10. recursion 10. recursion
11. unoptimized namespaces 11. unoptimized namespaces
12. lambdas 12. lambdas
13. UnboundLocal
...@@ -154,7 +154,7 @@ class Test: ...@@ -154,7 +154,7 @@ class Test:
def str(self): def str(self):
return str(self) return str(self)
t = test() t = Test()
verify(t.test() == "var") verify(t.test() == "var")
verify(t.method_and_var() == "method") verify(t.method_and_var() == "method")
verify(t.actual_global() == "global") verify(t.actual_global() == "global")
...@@ -247,3 +247,32 @@ f8 = lambda x, y, z: lambda a, b, c: lambda : z * (b + y) ...@@ -247,3 +247,32 @@ f8 = lambda x, y, z: lambda a, b, c: lambda : z * (b + y)
g = f8(1, 2, 3) g = f8(1, 2, 3)
h = g(2, 4, 6) h = g(2, 4, 6)
verify(h() == 18) 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment