--- /dev/null
+test_httplib
+reply: 'HTTP/1.1 200 Ok\r\n'
+Text
+reply: 'HTTP/1.1 400.100 Not Ok\r\n'
+BadStatusLine raised as expected
--- /dev/null
+from test.test_support import verify,verbose
+import httplib
+import StringIO
+
+class FakeSocket:
+ def __init__(self, text):
+ self.text = text
+
+ def makefile(self, mode, bufsize=None):
+ if mode != 'r' and mode != 'rb':
+ raise UnimplementedFileMode()
+ return StringIO.StringIO(self.text)
+
+# Test HTTP status lines
+
+body = "HTTP/1.1 200 Ok\r\n\r\nText"
+sock = FakeSocket(body)
+resp = httplib.HTTPResponse(sock,1)
+resp.begin()
+print resp.read()
+resp.close()
+
+body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"
+sock = FakeSocket(body)
+resp = httplib.HTTPResponse(sock,1)
+try:
+ resp.begin()
+except httplib.BadStatusLine:
+ print "BadStatusLine raised as expected"
+else:
+ print "Expect BadStatusLine"