Staging
v0.8.1
https://github.com/python/cpython
Raw File
Tip revision: 6c52d76db8b1cb836c136bd6a1044e85bfe8241e authored by Georg Brandl on 05 March 2011, 13:55:46 UTC
Close 2.3 branch.
Tip revision: 6c52d76
test_structseq.py
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
back to top