Commit 3571fbfe authored by Amaury Forgeot d'Arc's avatar Amaury Forgeot d'Arc

Issue #3751: str.rpartition would perform a left-partition when called with

a unicode argument.

will backport.
parent aa5f8739
......@@ -1117,6 +1117,9 @@ class MixinStrUnicodeUserStringTest:
self.checkraises(ValueError, S, 'partition', '')
self.checkraises(TypeError, S, 'partition', None)
# mixed use of str and unicode
self.assertEqual('a/b/c'.partition(u'/'), ('a', '/', 'b/c'))
def test_rpartition(self):
self.checkequal(('this is the rparti', 'ti', 'on method'),
......@@ -1132,6 +1135,8 @@ class MixinStrUnicodeUserStringTest:
self.checkraises(ValueError, S, 'rpartition', '')
self.checkraises(TypeError, S, 'rpartition', None)
# mixed use of str and unicode
self.assertEqual('a/b/c'.rpartition(u'/'), ('a/b', '/', 'c'))
class MixinStrStringUserStringTest:
# Additional tests for 8bit strings, i.e. str, UserString and
......
......@@ -12,6 +12,9 @@ What's New in Python 2.6 release candidate 1?
Core and Builtins
-----------------
- Issue #3751: str.rpartition would perform a left-partition when called with
a unicode argument.
- Issue #3683: Fix compilation when --without-threads is given.
- Issue #3668: Fix a memory leak with the "s*" argument parser in
......
......@@ -1638,7 +1638,7 @@ string_rpartition(PyStringObject *self, PyObject *sep_obj)
}
#ifdef Py_USING_UNICODE
else if (PyUnicode_Check(sep_obj))
return PyUnicode_Partition((PyObject *) self, sep_obj);
return PyUnicode_RPartition((PyObject *) self, sep_obj);
#endif
else if (PyObject_AsCharBuffer(sep_obj, &sep, &sep_len))
return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment