extended test case
authorStefan Behnel <scoder@users.berlios.de>
Tue, 11 Nov 2008 21:39:17 +0000 (22:39 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 11 Nov 2008 21:39:17 +0000 (22:39 +0100)
tests/run/exectest.pyx

index 8e607d9b7a08b8c832c0c19233ea24afbfcc1c33..11b36fbd52d5db99db9a81d8e651391a1421f391 100644 (file)
@@ -1,5 +1,7 @@
 __doc__ = """# no unicode string, not tested in Python3!
 #>>> a
+#Traceback (most recent call last):
+#NameError: name 'a' is not defined
 #>>> test_module_scope()
 #>>> a
 
@@ -35,10 +37,21 @@ None 16
 >>> test_dict_scope_ref(d, d)
 >>> print d['b']
 16
+
+>>> d = dict(seq = [1,2,3,4])
+>>> add_iter = test_def(d, 'seq')
+>>> list(add_iter())
+[2, 3, 4, 5]
+
+>>> # errors
+
+>>> d1, d2 = {}, {}
+>>> test_dict_scope_ref(d1, d2)
+Traceback (most recent call last):
+NameError: name 'a' is not defined
 """
 
 #def test_module_scope():
-#    global a
 #    exec "a=1+1"
 #    return __dict__['a']
 
@@ -55,3 +68,11 @@ def test_dict_scope3(d1, d2):
 
 def test_dict_scope_ref(d1, d2):
     exec "b=a+c" in d1, d2
+
+def test_def(d, varref):
+    exec """
+def test():
+    for x in %s:
+        yield x+1
+""" % varref in d
+    return d['test']