summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_b1.py
diff options
context:
space:
mode:
authorMarc-André Lemburg <mal@egenix.com>2000-09-19 21:04:18 (GMT)
committerMarc-André Lemburg <mal@egenix.com>2000-09-19 21:04:18 (GMT)
commitd1ba443206b535f41154f10b9d56d4fc76a1a9d8 (patch)
treeae56be2777275ca19f347e1154f756ddde4d4b22 /Lib/test/test_b1.py
parentf8d071332a485ede280675a55e3319e136826dd0 (diff)
downloadcpython-d1ba443206b535f41154f10b9d56d4fc76a1a9d8.zip
cpython-d1ba443206b535f41154f10b9d56d4fc76a1a9d8.tar.gz
cpython-d1ba443206b535f41154f10b9d56d4fc76a1a9d8.tar.bz2
This patch adds a new Python C API called PyString_AsStringAndSize()
which implements the automatic conversion from Unicode to a string object using the default encoding. The new API is then put to use to have eval() and exec accept Unicode objects as code parameter. This closes bugs #110924 and #113890. As side-effect, the traditional C APIs PyString_Size() and PyString_AsString() will also accept Unicode objects as parameters.
Diffstat (limited to 'Lib/test/test_b1.py')
-rw-r--r--Lib/test/test_b1.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py
index f8dfe47..24c5279 100644
--- a/Lib/test/test_b1.py
+++ b/Lib/test/test_b1.py
@@ -161,6 +161,18 @@ if eval('b', globals, locals) <> 200:
raise TestFailed, "eval(3)"
if eval('c', globals, locals) <> 300:
raise TestFailed, "eval(4)"
+if eval(u'1+1') <> 2: raise TestFailed, 'eval(u\'1+1\')'
+if eval(u' 1+1\n') <> 2: raise TestFailed, 'eval(u\' 1+1\\n\')'
+globals = {'a': 1, 'b': 2}
+locals = {'b': 200, 'c': 300}
+if eval(u'a', globals) <> 1:
+ raise TestFailed, "eval(1) == %s" % eval(u'a', globals)
+if eval(u'a', globals, locals) <> 1:
+ raise TestFailed, "eval(2)"
+if eval(u'b', globals, locals) <> 200:
+ raise TestFailed, "eval(3)"
+if eval(u'c', globals, locals) <> 300:
+ raise TestFailed, "eval(4)"
print 'execfile'
z = 0