[wwwsearch-commits] r32769 - wwwsearch/mechanize/trunk/test

jjlee at codespeak.net jjlee at codespeak.net
Sat Sep 30 20:44:26 CEST 2006


Author: jjlee
Date: Sat Sep 30 20:44:24 2006
New Revision: 32769

Added:
   wwwsearch/mechanize/trunk/test/test_response.doctest
Log:
Add a test file I forgot to add when adding .read_complete

Added: wwwsearch/mechanize/trunk/test/test_response.doctest
==============================================================================
--- (empty file)
+++ wwwsearch/mechanize/trunk/test/test_response.doctest	Sat Sep 30 20:44:24 2006
@@ -0,0 +1,96 @@
+The read_complete flag lets us know if all of the wrapped file's data
+has been read.  We want to know this because Browser.back() must
+.reload() the response if not.
+
+I've noted here the various cases where .read_complete may be set.
+>>> text = "To err is human, to moo, bovine.\n"*10
+>>> def get_wrapper():
+...     import cStringIO
+...     from mechanize._response import seek_wrapper
+...     f = cStringIO.StringIO(text)
+...     wr = seek_wrapper(f)
+...     return wr
+
+.read() case #1
+
+>>> wr = get_wrapper()
+>>> wr.read_complete
+False
+>>> junk = wr.read()
+>>> wr.read_complete
+True
+>>> wr.seek(0)
+>>> wr.read_complete
+True
+
+Excercise partial .read() and .readline(), and .seek() case #1
+
+>>> wr = get_wrapper()
+>>> junk = wr.read(10)
+>>> wr.read_complete
+False
+>>> junk = wr.readline()
+>>> wr.read_complete
+False
+>>> wr.seek(0, 2)
+>>> wr.read_complete
+True
+>>> wr.seek(0)
+>>> wr.read_complete
+True
+
+.readlines() case #1
+
+>>> wr = get_wrapper()
+>>> junk = wr.readlines()
+>>> wr.read_complete
+True
+>>> wr.seek(0)
+>>> wr.read_complete
+True
+
+.seek() case #2
+
+>>> wr = get_wrapper()
+>>> wr.seek(10)
+>>> wr.read_complete
+False
+>>> wr.seek(1000000)
+
+.read() case #2
+
+>>> wr = get_wrapper()
+>>> junk = wr.read(1000000)
+>>> wr.read_complete  # we read to the end, but don't know it yet
+False
+>>> junk = wr.read(10)
+>>> wr.read_complete
+True
+
+.readline() case #1
+
+>>> wr = get_wrapper()
+>>> junk = wr.read(len(text)-10)
+>>> wr.read_complete
+False
+>>> junk = wr.readline()
+>>> wr.read_complete  # we read to the end, but don't know it yet
+False
+>>> junk = wr.readline()
+>>> wr.read_complete
+True
+
+Test copying and sharing of .read_complete state
+
+>>> import copy
+>>> wr = get_wrapper()
+>>> wr2 = copy.copy(wr)
+>>> wr.read_complete
+False
+>>> wr2.read_complete
+False
+>>> junk = wr2.read()
+>>> wr.read_complete
+True
+>>> wr2.read_complete
+True


More information about the wwwsearch-commits mailing list