diff options
| author | Victor Stinner <victor.stinner@gmail.com> | 2012-05-09 03:24:14 +0200 |
|---|---|---|
| committer | Victor Stinner <victor.stinner@gmail.com> | 2012-05-09 03:24:14 +0200 |
| commit | f59c28c93007d3d7e7340703aa5d2360d285abed (patch) | |
| tree | 3a9441fda0aebadf04ea4e1fbcfe7639840d706b | |
| parent | 5d73c178a80392e876f5cd23fd628a6c8fc5955e (diff) | |
| download | cpython-git-f59c28c93007d3d7e7340703aa5d2360d285abed.tar.gz | |
unicode_writer_finish() checks string consistency
| -rw-r--r-- | Lib/test/test_unicode.py | 4 | ||||
| -rw-r--r-- | Objects/unicodeobject.c | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 8468fbf2c9..2eadd4df07 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -1064,6 +1064,10 @@ class UnicodeTest(string_tests.CommonTest, self.assertEqual('%f' % INF, 'inf') self.assertEqual('%F' % INF, 'INF') + # PEP 393 + self.assertEqual('%.1s' % "a\xe9\u20ac", 'a') + self.assertEqual('%.2s' % "a\xe9\u20ac", 'a\xe9') + def test_startswith_endswith_errors(self): for meth in ('foo'.startswith, 'foo'.endswith): with self.assertRaises(TypeError) as cm: diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 0722312373..2c8378edb0 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -13320,6 +13320,7 @@ unicode_writer_finish(unicode_writer_t *writer) Py_DECREF(writer->buffer); return NULL; } + assert(_PyUnicode_CheckConsistency(writer->buffer, 1)); return writer->buffer; } |
