Ben Wolfson <[email protected]> added the comment:
Actually, that's the wrong place in MarkupIterator_next to include that loop.
The attached diff has it in the right place. The results of "make test" here
are:
328 tests OK.
1 test failed:
test_unicode
25 tests skipped:
test_codecmaps_cn test_codecmaps_hk test_codecmaps_jp
test_codecmaps_kr test_codecmaps_tw test_curses test_dbm_gnu
test_epoll test_gdb test_largefile test_msilib test_ossaudiodev
test_readline test_smtpnet test_socketserver test_startfile
test_timeout test_tk test_ttk_guionly test_urllib2net
test_urllibnet test_winreg test_winsound test_xmlrpc_net
test_zipfile64
1 skip unexpected on darwin:
test_readline
make: [test] Error 1 (ignored)
test_unicode fails because it expects "{0[}".format() to raise an IndexError;
instead, it raises a ValueError ("unmatched '{' in format") because it
interprets the "}" as an *index*.
This can be avoided by changing the line
while (self->str.ptr < self->str.end && *self->str.ptr != ']') {
to
while (self->str.ptr < self->str.end-1 && *self->str.ptr !=
']') {
In which case the test passes as is, or, obviously, by changing the expected
exception in test_unicode.py.
----------
keywords: +patch
versions: +Python 2.6, Python 3.4
Added file: http://bugs.python.org/file21963/strformat.diff
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue12014>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com