@@ -129,12 +129,12 @@ def test_iterable_header(self):
129129 c ._sock = sock = DummySocket ()
130130
131131 c .request ('GET' , '/get' , headers = (
132- ('User-Agent' , 'hyper' ),
132+ ('User-Agent' , 'hyper' ),
133133 ('Custom-field' , 'test' ),
134134 ('Custom-field2' , 'test' ),
135135 ('Custom-field' , 'test2' ),
136136 ))
137-
137+
138138 expected = (
139139 b"GET /get HTTP/1.1\r \n "
140140 b"User-Agent: hyper\r \n "
@@ -774,13 +774,16 @@ class DummySocket(object):
774774 def __init__ (self ):
775775 self .queue = []
776776 self ._buffer = BytesIO ()
777+ self ._read_counter = 0
777778 self .can_read = False
778779
779780 @property
780781 def buffer (self ):
781- return memoryview (self ._buffer .getvalue ())
782+ return memoryview (self ._buffer .getvalue ()[ self . _read_counter :] )
782783
783784 def advance_buffer (self , amt ):
785+ print "advance buffer %d" % amt
786+ self ._read_counter += amt
784787 self ._buffer .read (amt )
785788
786789 def send (self , data ):
@@ -790,13 +793,17 @@ def send(self, data):
790793 self .queue .append (data )
791794
792795 def recv (self , l ):
793- return memoryview (self ._buffer .read (l ))
796+ data = self ._buffer .read (l )
797+ self ._read_counter += len (data )
798+ return memoryview (data )
794799
795800 def close (self ):
796801 pass
797802
798803 def readline (self ):
799- return memoryview (self ._buffer .readline ())
804+ line = self ._buffer .readline ()
805+ self ._read_counter += len (line )
806+ return memoryview (line )
800807
801808 def fill (self ):
802809 pass
@@ -817,4 +824,3 @@ def readline(self):
817824
818825 def __iter__ (self ):
819826 return self .buffer .__iter__ ()
820-
0 commit comments