[Python-3000-checkins] r56716 - python/branches/py3k-struni/Lib/test/test_httplib.py

jeremy.hylton python-3000-checkins at python.org
Fri Aug 3 22:56:14 CEST 2007


Author: jeremy.hylton
Date: Fri Aug  3 22:56:14 2007
New Revision: 56716

Modified:
   python/branches/py3k-struni/Lib/test/test_httplib.py
Log:
Fix tests to use bytes() where the actual sockets return bytes().

Use io.BytesIO() instead of StringIO.StringIO().  FakeSocket still
accepts regular strings and coverts them to bytes internally.


Modified: python/branches/py3k-struni/Lib/test/test_httplib.py
==============================================================================
--- python/branches/py3k-struni/Lib/test/test_httplib.py	(original)
+++ python/branches/py3k-struni/Lib/test/test_httplib.py	Fri Aug  3 22:56:14 2007
@@ -1,5 +1,5 @@
 import httplib
-import StringIO
+import io
 import sys
 import socket
 
@@ -8,7 +8,9 @@
 from test import test_support
 
 class FakeSocket:
-    def __init__(self, text, fileclass=StringIO.StringIO):
+    def __init__(self, text, fileclass=io.BytesIO):
+        if isinstance(text, str):
+            text = bytes(text)
         self.text = text
         self.fileclass = fileclass
         self.data = b''
@@ -21,20 +23,20 @@
             raise httplib.UnimplementedFileMode()
         return self.fileclass(self.text)
 
-class NoEOFStringIO(StringIO.StringIO):
+class NoEOFStringIO(io.BytesIO):
     """Like StringIO, but raises AssertionError on EOF.
 
     This is used below to test that httplib doesn't try to read
     more from the underlying file than it should.
     """
     def read(self, n=-1):
-        data = StringIO.StringIO.read(self, n)
+        data = io.BytesIO.read(self, n)
         if data == '':
             raise AssertionError('caller tried to read past EOF')
         return data
 
     def readline(self, length=None):
-        data = StringIO.StringIO.readline(self, length)
+        data = io.BytesIO.readline(self, length)
         if data == '':
             raise AssertionError('caller tried to read past EOF')
         return data
@@ -80,7 +82,7 @@
         sock = FakeSocket(body)
         resp = httplib.HTTPResponse(sock)
         resp.begin()
-        self.assertEqual(resp.read(), 'Text')
+        self.assertEqual(resp.read(), b"Text")
         resp.close()
 
         body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"


More information about the Python-3000-checkins mailing list