29 lines
592 B
Python
29 lines
592 B
Python
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
|