[wwwsearch-commits] r32990 - in wwwsearch/mechanize/trunk: mechanize test

jjlee at codespeak.net jjlee at codespeak.net
Sat Oct 7 15:30:36 CEST 2006


Author: jjlee
Date: Sat Oct  7 15:30:35 2006
New Revision: 32990

Modified:
   wwwsearch/mechanize/trunk/mechanize/_response.py
   wwwsearch/mechanize/trunk/test/test_browser.doctest
   wwwsearch/mechanize/trunk/test/test_browser.py
Log:
Add some more history tests

Modified: wwwsearch/mechanize/trunk/mechanize/_response.py
==============================================================================
--- wwwsearch/mechanize/trunk/mechanize/_response.py	(original)
+++ wwwsearch/mechanize/trunk/mechanize/_response.py	Sat Oct  7 15:30:35 2006
@@ -349,7 +349,7 @@
         state["wrapped"] = new_wrapped
         return state
 
-def test_response(data, headers,
+def test_response(data='test data', headers=[],
                   url="http://example.com/", code=200, msg="OK"):
     return make_response(data, headers, url, code, msg)
 

Modified: wwwsearch/mechanize/trunk/test/test_browser.doctest
==============================================================================
--- wwwsearch/mechanize/trunk/test/test_browser.doctest	(original)
+++ wwwsearch/mechanize/trunk/test/test_browser.doctest	Sat Oct  7 15:30:35 2006
@@ -1,9 +1,10 @@
->>> from test_browser import TestBrowser, TestBrowser2
+>>> from mechanize._response import test_response
+>>> from test_browser import TestBrowser2, make_mock_handler
 
 Warn early about some mistakes setting a response object
 
 >>> import StringIO
->>> br = TestBrowser()
+>>> br = TestBrowser2()
 >>> br.set_response("blah")
 Traceback (most recent call last):
 ...
@@ -30,3 +31,39 @@
 Traceback (most recent call last):
 ...
 URLError: <urlopen error unknown url type: http>
+
+
+.clear_history() should do what it says on the tin.  Note that the
+history does not include the current response!
+
+>>> br = TestBrowser2()
+>>> br.add_handler(make_mock_handler(test_response)([("http_open", None)]))
+
+>>> br.response() is None
+True
+>>> len(br._history._history)
+0
+
+>>> r = br.open("http://example.com/1")
+>>> br.response() is not None
+True
+>>> len(br._history._history)
+0
+
+>>> br.clear_history()
+>>> br.response() is not None
+True
+>>> len(br._history._history)
+0
+
+>>> r = br.open("http://example.com/2")
+>>> br.response() is not None
+True
+>>> len(br._history._history)
+1
+
+>>> br.clear_history()
+>>> br.response() is not None
+True
+>>> len(br._history._history)
+0

Modified: wwwsearch/mechanize/trunk/test/test_browser.py
==============================================================================
--- wwwsearch/mechanize/trunk/test/test_browser.py	(original)
+++ wwwsearch/mechanize/trunk/test/test_browser.py	Sat Oct  7 15:30:35 2006
@@ -17,7 +17,7 @@
 
 
 # XXX these 'mock' classes are badly in need of simplification / removal
-# (note this stuff is also used by test_useragent.py)
+# (note this stuff is also used by test_useragent.py and test_browser.doctest)
 class MockMethod:
     def __init__(self, meth_name, action, handle):
         self.meth_name = meth_name
@@ -56,7 +56,7 @@
     def __setstate__(self, state):
         self.__dict__ = state
 
-def make_mock_handler():
+def make_mock_handler(response_class=MockResponse):
     class MockHandler:
         processor_order = 500
         handler_order = -1
@@ -77,7 +77,7 @@
                 r = response
                 r.seek(0)
             else:
-                r = MockResponse()
+                r = response_class()
             req = args[0]
             r.url = req.get_full_url()
             return r


More information about the wwwsearch-commits mailing list