diff options
-rw-r--r-- | Lib/test/output/test_xreadline | 4 | ||||
-rw-r--r-- | Lib/test/test_xreadline.py | 42 |
2 files changed, 46 insertions, 0 deletions
diff --git a/Lib/test/output/test_xreadline b/Lib/test/output/test_xreadline new file mode 100644 index 0000000..217bca0 --- /dev/null +++ b/Lib/test/output/test_xreadline @@ -0,0 +1,4 @@ +test_xrl +AttributeError +TypeError +RuntimeError xreadlines object accessed out of order diff --git a/Lib/test/test_xreadline.py b/Lib/test/test_xreadline.py new file mode 100644 index 0000000..84f7ba4 --- /dev/null +++ b/Lib/test/test_xreadline.py @@ -0,0 +1,42 @@ +from test_support import verbose + +class XReader: + def __init__(self): + self.count = 5 + + def readlines(self, sizehint = None): + self.count = self.count - 1 + return map(lambda x: "%d\n" % x, range(self.count)) + +class Null: pass + +import xreadlines + + +lineno = 0 + +try: + xreadlines.xreadlines(Null())[0] +except AttributeError, detail: + print "AttributeError" +else: + print "Did not throw attribute error" + +try: + xreadlines.xreadlines(XReader)[0] +except TypeError, detail: + print "TypeError" +else: + print "Did not throw type error" + +try: + xreadlines.xreadlines(XReader())[1] +except RuntimeError, detail: + print "RuntimeError", detail +else: + print "Did not throw runtime error" + +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 = lineno + 1 |