[Checkins] SVN: zope.testbrowser/trunk/ Use mechanize's built-in ``submit()`` to submit forms.
Tres Seaver
tseaver at palladion.com
Wed May 19 10:01:46 EDT 2010
Log message for revision 112544:
Use mechanize's built-in ``submit()`` to submit forms.
Allows + mechanize to set the "Referer:" (sic) header appropriately.
Fixes lp:98437
Changed:
_U zope.testbrowser/trunk/
U zope.testbrowser/trunk/CHANGES.txt
U zope.testbrowser/trunk/src/zope/testbrowser/browser.py
U zope.testbrowser/trunk/src/zope/testbrowser/tests.py
-=-
Property changes on: zope.testbrowser/trunk
___________________________________________________________________
Added: svn:mergeinfo
+ /zope.testbrowser/branches/lp-93437:111382
Added: svk:merge
+ 62d5b8a3-27da-0310-9561-8e5933582275:/zope.testbrowser/branches/lp-93437:111382
Modified: zope.testbrowser/trunk/CHANGES.txt
===================================================================
--- zope.testbrowser/trunk/CHANGES.txt 2010-05-19 14:01:26 UTC (rev 112543)
+++ zope.testbrowser/trunk/CHANGES.txt 2010-05-19 14:01:45 UTC (rev 112544)
@@ -5,7 +5,8 @@
3.9.1 (unreleased)
------------------
-- TBD
+- LP #98437: use mechanize's built-in ``submit()`` to submit forms, allowing
+ mechanize to set the "Referer:" (sic) header appropriately.
3.9.0 (2010-05-17)
Modified: zope.testbrowser/trunk/src/zope/testbrowser/browser.py
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/browser.py 2010-05-19 14:01:26 UTC (rev 112543)
+++ zope.testbrowser/trunk/src/zope/testbrowser/browser.py 2010-05-19 14:01:45 UTC (rev 112544)
@@ -409,8 +409,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/trunk/src/zope/testbrowser/tests.py
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/tests.py 2010-05-19 14:01:26 UTC (rev 112543)
+++ zope.testbrowser/trunk/src/zope/testbrowser/tests.py 2010-05-19 14:01:45 UTC (rev 112544)
@@ -281,7 +281,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