SF patch #523169, by Samuele Pedroni.
There were never tests for the fact that list() always returns a *new* list object, even when the argument is a list, while tuple() may return a reference to the argument when it is a tuple. Now there are.
This commit is contained in:
parent
5ae815af99
commit
06ee2531a8
|
@ -26,6 +26,7 @@ int
|
|||
isinstance
|
||||
issubclass
|
||||
len
|
||||
list
|
||||
long
|
||||
map
|
||||
max
|
||||
|
|
|
@ -491,6 +491,16 @@ if len([1, 2, 3, 4]) != 4: raise TestFailed, 'len([1, 2, 3, 4])'
|
|||
if len({}) != 0: raise TestFailed, 'len({})'
|
||||
if len({'a':1, 'b': 2}) != 2: raise TestFailed, 'len({\'a\':1, \'b\': 2})'
|
||||
|
||||
print 'list'
|
||||
if list([]) != []: raise TestFailed, 'list([])'
|
||||
l0_3 = [0, 1, 2, 3]
|
||||
l0_3_bis = list(l0_3)
|
||||
if l0_3 != l0_3_bis or l0_3 is l0_3_bis: raise TestFailed, 'list([0, 1, 2, 3])'
|
||||
if list(()) != []: raise TestFailed, 'list(())'
|
||||
if list((0, 1, 2, 3)) != [0, 1, 2, 3]: raise TestFailed, 'list((0, 1, 2, 3))'
|
||||
if list('') != []: raise TestFailed, 'list('')'
|
||||
if list('spam') != ['s', 'p', 'a', 'm']: raise TestFailed, "list('spam')"
|
||||
|
||||
print 'long'
|
||||
if long(314) != 314L: raise TestFailed, 'long(314)'
|
||||
if long(3.14) != 3L: raise TestFailed, 'long(3.14)'
|
||||
|
|
|
@ -253,7 +253,9 @@ if str({}) != '{}': raise TestFailed, 'str({})'
|
|||
|
||||
print 'tuple'
|
||||
if tuple(()) != (): raise TestFailed, 'tuple(())'
|
||||
if tuple((0, 1, 2, 3)) != (0, 1, 2, 3): raise TestFailed, 'tuple((0, 1, 2, 3))'
|
||||
t0_3 = (0, 1, 2, 3)
|
||||
t0_3_bis = tuple(t0_3)
|
||||
if t0_3 is not t0_3_bis: raise TestFailed, 'tuple((0, 1, 2, 3))'
|
||||
if tuple([]) != (): raise TestFailed, 'tuple([])'
|
||||
if tuple([0, 1, 2, 3]) != (0, 1, 2, 3): raise TestFailed, 'tuple([0, 1, 2, 3])'
|
||||
if tuple('') != (): raise TestFailed, 'tuple('')'
|
||||
|
|
Loading…
Reference in New Issue