[Python-checkins] r85700 - in python/branches/py3k: Lib/test/test_unicode.py Objects/unicodeobject.c
victor.stinner
python-checkins at python.org
Mon Oct 18 22:59:24 CEST 2010
Author: victor.stinner
Date: Mon Oct 18 22:59:24 2010
New Revision: 85700
Log:
PyUnicode_FromFormatV(): Fix %A format
It was not completly implemented. Add a test.
Modified:
python/branches/py3k/Lib/test/test_unicode.py
python/branches/py3k/Objects/unicodeobject.c
Modified: python/branches/py3k/Lib/test/test_unicode.py
==============================================================================
--- python/branches/py3k/Lib/test/test_unicode.py (original)
+++ python/branches/py3k/Lib/test/test_unicode.py Mon Oct 18 22:59:24 2010
@@ -1380,20 +1380,23 @@
self.assertEqual("{}".format(s), '__str__ overridden')
def test_from_format(self):
- # Ensure that PyUnicode_FromFormat() raises an error for a non-ascii
- # format string.
from _testcapi import format_unicode
# ascii format, non-ascii argument
text = format_unicode(b'ascii\x7f=%U', 'unicode\xe9')
self.assertEqual(text, 'ascii\x7f=unicode\xe9')
- # non-ascii format, ascii argument
+ # non-ascii format, ascii argument: ensure that PyUnicode_FromFormat()
+ # raises an error for a non-ascii format string.
self.assertRaisesRegexp(ValueError,
'^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format '
'string, got a non-ASCII byte: 0xe9$',
format_unicode, b'unicode\xe9=%s', 'ascii')
+ # other tests
+ text = format_unicode(b'%%A:%A', 'abc\xe9\uabcd\U0010ffff')
+ self.assertEqual(text, r"%A:'abc\xe9\uabcd\U0010ffff'")
+
# Test PyUnicode_AsWideChar()
def test_aswidechar(self):
from _testcapi import unicode_aswidechar
Modified: python/branches/py3k/Objects/unicodeobject.c
==============================================================================
--- python/branches/py3k/Objects/unicodeobject.c (original)
+++ python/branches/py3k/Objects/unicodeobject.c Mon Oct 18 22:59:24 2010
@@ -1074,6 +1074,7 @@
}
case 'S':
case 'R':
+ case 'A':
{
Py_UNICODE *ucopy;
Py_ssize_t usize;
More information about the Python-checkins
mailing list