[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