mirror of https://github.com/python/cpython.git
Unicode replace() method with empty pattern argument should fail, like
it does for 8-bit strings.
This commit is contained in:
parent
3bc3f28dbe
commit
f36921c4b0
|
@ -206,6 +206,12 @@ def __getitem__(self, i): return self.seq[i]
|
|||
test('replace', u'one!two!three!', u'one@two@three@', u'!', u'@')
|
||||
test('replace', u'one!two!three!', u'one!two!three!', u'x', u'@')
|
||||
test('replace', u'one!two!three!', u'one!two!three!', u'x', u'@', 2)
|
||||
try:
|
||||
u"abc".replace(u"", u"x")
|
||||
except ValueError:
|
||||
pass
|
||||
else:
|
||||
raise TestFailed, "u.replace('', ...) should raise ValueError"
|
||||
|
||||
test('startswith', u'hello', True, u'he')
|
||||
test('startswith', u'hello', True, u'hello')
|
||||
|
|
|
@ -3455,6 +3455,11 @@ PyObject *replace(PyUnicodeObject *self,
|
|||
{
|
||||
PyUnicodeObject *u;
|
||||
|
||||
if (str1->length == 0) {
|
||||
PyErr_SetString(PyExc_ValueError, "empty pattern string");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (maxcount < 0)
|
||||
maxcount = INT_MAX;
|
||||
|
||||
|
|
Loading…
Reference in New Issue