cpython/Lib/test/test_structseq.py

29 lines
592 B
Python
Raw Normal View History

from test.test_support import vereq
import time
t = time.gmtime()
astuple = tuple(t)
vereq(len(t), len(astuple))
vereq(t, astuple)
# Check that slicing works the same way; at one point, slicing t[i:j] with
# 0 < i < j could produce NULLs in the result.
for i in range(-len(t), len(t)):
for j in range(-len(t), len(t)):
vereq(t[i:j], astuple[i:j])
# Devious code could crash structseqs' contructors
class C:
def __getitem__(self, i):
raise IndexError
def __len__(self):
return 9
try:
repr(time.struct_time(C()))
except:
pass
# XXX more needed