cpython/Lib/test/test_xreadline.py

44 lines
974 B
Python
Raw Normal View History

2001-01-09 21:47:44 +00:00
from test_support import verbose
class XReader:
def __init__(self):
self.count = 5
2001-01-09 21:47:44 +00:00
def readlines(self, sizehint = None):
self.count = self.count - 1
return map(lambda x: "%d\n" % x, range(self.count))
2001-01-09 21:47:44 +00:00
class Null: pass
import xreadlines
lineno = 0
try:
xreadlines.xreadlines(Null())[0]
2001-01-09 21:47:44 +00:00
except AttributeError, detail:
print "AttributeError (expected)"
2001-01-09 21:47:44 +00:00
else:
print "Did not throw attribute error"
2001-01-09 21:47:44 +00:00
try:
xreadlines.xreadlines(XReader)[0]
2001-01-09 21:47:44 +00:00
except TypeError, detail:
print "TypeError (expected)"
2001-01-09 21:47:44 +00:00
else:
print "Did not throw type error"
2001-01-09 21:47:44 +00:00
try:
xreadlines.xreadlines(XReader())[1]
2001-01-09 21:47:44 +00:00
except RuntimeError, detail:
print "RuntimeError (expected):", detail
2001-01-09 21:47:44 +00:00
else:
print "Did not throw runtime error"
2001-01-09 21:47:44 +00:00
xresult = ['0\n', '1\n', '2\n', '3\n', '0\n', '1\n', '2\n', '0\n', '1\n', '0\n']
for line in xreadlines.xreadlines(XReader()):
if line != xresult[lineno]:
print "line %d differs" % lineno
lineno += 1