diff options
author | Guido van Rossum <guido@python.org> | 2007-09-27 18:01:22 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-09-27 18:01:22 (GMT) |
commit | f1044293fa36667b5ba11fbc7acac21a03b82710 (patch) | |
tree | 41aac1b32323f1ae889d88c097157d330dc1aff7 /Lib/test/test_unicode.py | |
parent | 4e02c503e789337b07cc14ece3f5adbf23732c89 (diff) | |
download | cpython-f1044293fa36667b5ba11fbc7acac21a03b82710.zip cpython-f1044293fa36667b5ba11fbc7acac21a03b82710.tar.gz cpython-f1044293fa36667b5ba11fbc7acac21a03b82710.tar.bz2 |
Patch # 1145 by Thomas Lee:
str.join(...) now applies str() to the sequence elements if they're
not strings alraedy, except for bytes, which still raise TypeError
(for the same reasons why ""==b"" raises it).
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r-- | Lib/test/test_unicode.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 64cca3f..1358419 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -178,6 +178,10 @@ class UnicodeTest( def test_join(self): string_tests.MixinStrUnicodeUserStringTest.test_join(self) + class MyWrapper: + def __init__(self, sval): self.sval = sval + def __str__(self): return self.sval + # mixed arguments self.checkequalnofix('a b c d', ' ', 'join', ['a', 'b', 'c', 'd']) self.checkequalnofix('abcd', '', 'join', ('a', 'b', 'c', 'd')) @@ -186,6 +190,8 @@ class UnicodeTest( self.checkequalnofix('a b c d', ' ', 'join', ['a', 'b', 'c', 'd']) self.checkequalnofix('abcd', '', 'join', ('a', 'b', 'c', 'd')) self.checkequalnofix('w x y z', ' ', 'join', string_tests.Sequence('wxyz')) + self.checkequalnofix('1 2 foo', ' ', 'join', [1, 2, MyWrapper('foo')]) + self.checkraises(TypeError, ' ', 'join', [1, 2, 3, bytes()]) def test_replace(self): string_tests.CommonTest.test_replace(self) |