Commit 5abdcce5 authored by Stefan Behnel's avatar Stefan Behnel

clean up exec test file

parent 7dc8c56e
...@@ -6,66 +6,6 @@ __doc__ = u""" ...@@ -6,66 +6,6 @@ __doc__ = u"""
#NameError: name 'a' is not defined #NameError: name 'a' is not defined
#>>> test_module_scope() #>>> test_module_scope()
#>>> a #>>> a
>>> test_dict_scope1()
2
>>> d = {}
>>> test_dict_scope2(d)
>>> d['b']
2
>>> d1 = {}
>>> test_dict_scope3(d1, d1)
>>> d1['b']
2
>>> d1, d2 = {}, {}
>>> test_dict_scope3(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 2)
>>> d1, d2 = {}, {}
>>> test_dict_scope3(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 2)
>>> d1, d2 = dict(a=11), dict(c=5)
>>> test_dict_scope_ref(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 16)
>>> d = dict(a=11, c=5)
>>> test_dict_scope_ref(d, d)
>>> d['b']
16
>>> d = dict(seq = [1,2,3,4])
>>> add_iter = test_def(d, 'seq')
>>> list(add_iter())
[2, 3, 4, 5]
>>> d = {}
>>> test_encoding(d, None)
>>> print(d['b'])
üöä
>>> d = {}
>>> test_encoding_unicode(d, None)
>>> print(d['b'])
üöä
>>> d = dict(a=1, c=3)
>>> test_compile(d)
>>> d['b']
4
>>> # errors
>>> d1, d2 = {}, {}
>>> test_dict_scope_ref(d1, d2) # doctest: +ELLIPSIS
Traceback (most recent call last):
NameError: ...name 'a' is not defined
""" """
#def test_module_scope(): #def test_module_scope():
...@@ -73,17 +13,59 @@ NameError: ...name 'a' is not defined ...@@ -73,17 +13,59 @@ NameError: ...name 'a' is not defined
# return __dict__['a'] # return __dict__['a']
def test_dict_scope1(): def test_dict_scope1():
"""
>>> test_dict_scope1()
2
"""
cdef dict d = {} cdef dict d = {}
exec u"b=1+1" in d exec u"b=1+1" in d
return d[u'b'] return d[u'b']
def test_dict_scope2(d): def test_dict_scope2(d):
"""
>>> d = {}
>>> test_dict_scope2(d)
>>> d['b']
2
"""
exec u"b=1+1" in d exec u"b=1+1" in d
def test_dict_scope3(d1, d2): def test_dict_scope3(d1, d2):
"""
>>> d1 = {}
>>> test_dict_scope3(d1, d1)
>>> d1['b']
2
>>> d1, d2 = {}, {}
>>> test_dict_scope3(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 2)
>>> d1, d2 = {}, {}
>>> test_dict_scope3(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 2)
"""
exec u"b=1+1" in d1, d2 exec u"b=1+1" in d1, d2
def test_dict_scope_ref(d1, d2): def test_dict_scope_ref(d1, d2):
"""
>>> d1, d2 = dict(a=11), dict(c=5)
>>> test_dict_scope_ref(d1, d2)
>>> (d1.get('b'), d2.get('b'))
(None, 16)
>>> d = dict(a=11, c=5)
>>> test_dict_scope_ref(d, d)
>>> d['b']
16
>>> d1, d2 = {}, {}
>>> test_dict_scope_ref(d1, d2) # doctest: +ELLIPSIS
Traceback (most recent call last):
NameError: ...name 'a' is not defined
"""
exec u"b=a+c" in d1, d2 exec u"b=a+c" in d1, d2
def test_dict_scope_tuple2(): def test_dict_scope_tuple2():
...@@ -105,6 +87,12 @@ def test_dict_scope_tuple3(d1, d2): ...@@ -105,6 +87,12 @@ def test_dict_scope_tuple3(d1, d2):
exec(u"b=1+1", d1, d2) exec(u"b=1+1", d1, d2)
def test_def(d, varref): def test_def(d, varref):
"""
>>> d = dict(seq = [1,2,3,4])
>>> add_iter = test_def(d, 'seq')
>>> list(add_iter())
[2, 3, 4, 5]
"""
exec u""" exec u"""
def test(): def test():
for x in %s: for x in %s:
...@@ -115,6 +103,12 @@ def test(): ...@@ -115,6 +103,12 @@ def test():
import sys import sys
def test_encoding(d1, d2): def test_encoding(d1, d2):
u"""
>>> d = {}
>>> test_encoding(d, None)
>>> print(d['b'])
üöä
"""
if sys.version_info[0] >= 3: if sys.version_info[0] >= 3:
s = "b = 'üöä'" s = "b = 'üöä'"
else: else:
...@@ -122,6 +116,12 @@ def test_encoding(d1, d2): ...@@ -122,6 +116,12 @@ def test_encoding(d1, d2):
exec s in d1, d2 exec s in d1, d2
def test_encoding_unicode(d1, d2): def test_encoding_unicode(d1, d2):
u"""
>>> d = {}
>>> test_encoding_unicode(d, None)
>>> print(d['b'])
üöä
"""
if sys.version_info[0] >= 3: if sys.version_info[0] >= 3:
s = u"b = 'üöä'" s = u"b = 'üöä'"
else: else:
...@@ -129,6 +129,12 @@ def test_encoding_unicode(d1, d2): ...@@ -129,6 +129,12 @@ def test_encoding_unicode(d1, d2):
exec s in d1, d2 exec s in d1, d2
def test_compile(d): def test_compile(d):
"""
>>> d = dict(a=1, c=3)
>>> test_compile(d)
>>> d['b']
4
"""
c = compile(u"b = a+c", u"<string>", u"exec") c = compile(u"b = a+c", u"<string>", u"exec")
exec c in d exec c in d
......
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