Move test_bug1001011() to string_tests.MixinStrUnicodeTest so that

it can be used for str and unicode. Drop the test for
   "".join([s]) is s
because this is an implementation detail (and doesn't work for unicode)
This commit is contained in:
Walter Dörwald 2004-08-26 16:53:04 +00:00
parent 592ef6110f
commit 57d88e5abd
4 changed files with 23 additions and 24 deletions

View file

@ -648,6 +648,7 @@ class MixinStrUnicodeUserStringTest:
else:
self.checkcall(format, "__mod__", value)
class MixinStrStringUserStringTest:
# Additional tests for 8bit strings, i.e. str, UserString and
# the string module
@ -695,3 +696,21 @@ class MixinStrUserStringTest:
self.checkraises(TypeError, 'xyz', 'decode', 42)
self.checkraises(TypeError, 'xyz', 'encode', 42)
class MixinStrUnicodeTest:
# Additional tests that only work with
# str and unicode
def test_bug1001011(self):
# Make sure join returns a NEW object for single item sequences
# involving a subclass
# Make sure that it is of the appropriate type
# Check the optimisation still occurs for standard objects
t = self.type2test
class subclass(t):
pass
s1 = subclass("abcd")
s2 = t().join([s1])
self.assert_(s1 is not s2)
self.assert_(type(s2) is t)