Kaydet (Commit) 06ee2531 authored tarafından Guido van Rossum's avatar Guido van Rossum

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.
üst 5ae815af
...@@ -26,6 +26,7 @@ int ...@@ -26,6 +26,7 @@ int
isinstance isinstance
issubclass issubclass
len len
list
long long
map map
max max
......
...@@ -491,6 +491,16 @@ if len([1, 2, 3, 4]) != 4: raise TestFailed, 'len([1, 2, 3, 4])' ...@@ -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({}) != 0: raise TestFailed, 'len({})'
if len({'a':1, 'b': 2}) != 2: raise TestFailed, 'len({\'a\':1, \'b\': 2})' 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' print 'long'
if long(314) != 314L: raise TestFailed, 'long(314)' if long(314) != 314L: raise TestFailed, 'long(314)'
if long(3.14) != 3L: raise TestFailed, 'long(3.14)' if long(3.14) != 3L: raise TestFailed, 'long(3.14)'
......
...@@ -253,7 +253,9 @@ if str({}) != '{}': raise TestFailed, 'str({})' ...@@ -253,7 +253,9 @@ if str({}) != '{}': raise TestFailed, 'str({})'
print 'tuple' print 'tuple'
if tuple(()) != (): raise TestFailed, '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([]) != (): raise TestFailed, 'tuple([])'
if tuple([0, 1, 2, 3]) != (0, 1, 2, 3): raise TestFailed, 'tuple([0, 1, 2, 3])' if tuple([0, 1, 2, 3]) != (0, 1, 2, 3): raise TestFailed, 'tuple([0, 1, 2, 3])'
if tuple('') != (): raise TestFailed, 'tuple('')' if tuple('') != (): raise TestFailed, 'tuple('')'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment