[Checkins] SVN: zope.testbrowser/branches/lp-93437/ LP #98437: use mechanize's built-in ``submit()`` to submit forms
Tres Seaver
tseaver at palladion.com
Sat Apr 24 13:45:00 EDT 2010
Log message for revision 111382:
LP #98437: use mechanize's built-in ``submit()`` to submit forms
This change allows mechanize to set the "Referer:" (sic) header appropriately.
Changed:
A zope.testbrowser/branches/lp-93437/
U zope.testbrowser/branches/lp-93437/CHANGES.txt
U zope.testbrowser/branches/lp-93437/src/zope/testbrowser/browser.py
U zope.testbrowser/branches/lp-93437/src/zope/testbrowser/tests.py
-=-
Modified: zope.testbrowser/branches/lp-93437/CHANGES.txt
===================================================================
--- zope.testbrowser/trunk/CHANGES.txt 2010-04-24 17:16:53 UTC (rev 111377)
+++ zope.testbrowser/branches/lp-93437/CHANGES.txt 2010-04-24 17:45:00 UTC (rev 111382)
@@ -5,6 +5,9 @@
3.8.2 (unreleased)
------------------
+- LP #98437: use mechanize's built-in ``submit()`` to submit forms, allowing
+ mechanize to set the "Referer:" (sic) header appropriately.
+
- LP #568806: Update dependency ``mechanize >= 0.2.0``, which now includes
the ``ClientForm`` APIs.
Modified: zope.testbrowser/branches/lp-93437/src/zope/testbrowser/browser.py
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/browser.py 2010-04-24 17:16:53 UTC (rev 111377)
+++ zope.testbrowser/branches/lp-93437/src/zope/testbrowser/browser.py 2010-04-24 17:45:00 UTC (rev 111382)
@@ -410,8 +410,9 @@
label = None
self._start_timer()
try:
- self.mech_browser.open(form.click(
- id=control.id, name=control.name, label=label, coord=coord))
+ self.mech_browser.form = form
+ self.mech_browser.submit(id=control.id, name=control.name,
+ label=label, coord=coord)
except Exception, e:
fix_exception_name(e)
raise
Modified: zope.testbrowser/branches/lp-93437/src/zope/testbrowser/tests.py
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/tests.py 2010-04-24 17:16:53 UTC (rev 111377)
+++ zope.testbrowser/branches/lp-93437/src/zope/testbrowser/tests.py 2010-04-24 17:45:00 UTC (rev 111382)
@@ -282,7 +282,37 @@
...
"""
+def test_submit_gets_referrer():
+ """
+ Test for bug #98437: No HTTP_REFERER was sent when submitting a form.
+ >>> browser = Browser()
+
+
+ A simple form for testing, like abobe.
+
+ >>> browser.open('''\
+ ... <html><body>
+ ... <form id="form" action="." method="post"
+ ... enctype="multipart/form-data">
+ ... <input type="submit" name="submit_me" value="GOOD" />
+ ... </form></body></html>
+ ... ''') # doctest: +ELLIPSIS
+ GET / HTTP/1.1
+ ...
+
+
+ Now submit the form, and see that we get an referrer along:
+
+ >>> form = browser.getForm(id='form')
+ >>> form.submit(name='submit_me') # doctest: +ELLIPSIS
+ POST / HTTP/1.1
+ ...
+ Referer: http://localhost/
+ ...
+"""
+
+
def test_new_instance_no_contents_should_not_fail(self):
"""
When first instantiated, the browser has no contents.
More information about the checkins
mailing list