mirror of
https://github.com/python/cpython.git
synced 2025-08-15 22:30:42 +00:00

svn+ssh://pythondev@svn.python.org/python/trunk ........ r75931 | benjamin.peterson | 2009-10-28 20:49:07 -0500 (Wed, 28 Oct 2009) | 5 lines do a backport of r75928 The added test does not fail without the patch, but we still fix the issue of surrogates being used in wide builds where they should not be. ........
37 lines
907 B
Python
37 lines
907 B
Python
# -*- coding: koi8-r -*-
|
|
|
|
import unittest
|
|
from test import test_support
|
|
|
|
class PEP263Test(unittest.TestCase):
|
|
|
|
def test_pep263(self):
|
|
self.assertEqual(
|
|
u"ðÉÔÏÎ".encode("utf-8"),
|
|
'\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
|
|
)
|
|
self.assertEqual(
|
|
u"\ð".encode("utf-8"),
|
|
'\\\xd0\x9f'
|
|
)
|
|
|
|
def test_compilestring(self):
|
|
# see #1882
|
|
c = compile("\n# coding: utf-8\nu = u'\xc3\xb3'\n", "dummy", "exec")
|
|
d = {}
|
|
exec c in d
|
|
self.assertEqual(d['u'], u'\xf3')
|
|
|
|
|
|
def test_issue3297(self):
|
|
c = compile("a, b = '\U0001010F', '\\U0001010F'", "dummy", "exec")
|
|
d = {}
|
|
exec(c, d)
|
|
self.assertEqual(d['a'], d['b'])
|
|
self.assertEqual(len(d['a']), len(d['b']))
|
|
|
|
def test_main():
|
|
test_support.run_unittest(PEP263Test)
|
|
|
|
if __name__=="__main__":
|
|
test_main()
|