diff options
author | Guido van Rossum <guido@python.org> | 2002-08-23 18:21:28 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2002-08-23 18:21:28 (GMT) |
commit | 8b1a6d694fa2f38cde77892c5ee0bb177be49db6 (patch) | |
tree | e3f7c901c642cd2500cb87648b6976c8d539a1fb /Lib | |
parent | 280488b9a3b5cc213d01aae794751b89144f8609 (diff) | |
download | cpython-8b1a6d694fa2f38cde77892c5ee0bb177be49db6.zip cpython-8b1a6d694fa2f38cde77892c5ee0bb177be49db6.tar.gz cpython-8b1a6d694fa2f38cde77892c5ee0bb177be49db6.tar.bz2 |
Code by Inyeol Lee, submitted to SF bug 595350, to implement
the string/unicode method .replace() with a zero-lengt first argument.
Inyeol contributed tests for this too.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/string_tests.py | 4 | ||||
-rw-r--r-- | Lib/test/test_descr.py | 4 | ||||
-rw-r--r-- | Lib/test/test_unicode.py | 10 |
3 files changed, 8 insertions, 10 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index a071f20..f2d6853 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -202,6 +202,10 @@ def run_method_tests(test): test('replace', 'one!two!three!', 'one@two@three@', '!', '@') test('replace', 'one!two!three!', 'one!two!three!', 'x', '@') test('replace', 'one!two!three!', 'one!two!three!', 'x', '@', 2) + test('replace', 'abc', '-a-b-c-', '', '-') + test('replace', 'abc', '-a-b-c', '', '-', 3) + test('replace', 'abc', 'abc', '', '-', 0) + test('replace', '', '', '', '') # Next three for SF bug 422088: [OSF1 alpha] string.replace(); died with # MemoryError due to empty result (platform malloc issue when requesting # 0 bytes). diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index bedb9d2..0c7def1 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -2996,10 +2996,6 @@ def strops(): except ValueError: pass else: raise TestFailed, "''.rindex('5') doesn't raise ValueError" - try: ''.replace('', '') - except ValueError: pass - else: raise TestFailed, "''.replace('', '') doesn't raise ValueError" - try: '%(n)s' % None except TypeError: pass else: raise TestFailed, "'%(n)s' % None doesn't raise TypeError" diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 4efa39c..90147eb 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -210,12 +210,10 @@ test('replace', u'one!two!three!', u'one!two!three!', u'!', u'@', 0) 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('replace', u'abc', u'-a-b-c-', u'', u'-') +test('replace', u'abc', u'-a-b-c', u'', u'-', 3) +test('replace', u'abc', u'abc', u'', u'-', 0) +test('replace', u'', u'', u'', u'') test('startswith', u'hello', True, u'he') test('startswith', u'hello', True, u'hello') |