[Zope3-checkins] SVN: zope.formlib/branches/4.0/src/zope/formlib/tests/test_form.py Add test that z.f.form.FormBase.__call__ doesn't render on redirect.
Tres Seaver
cvs-admin at zope.org
Tue Jun 26 13:25:17 UTC 2012
Log message for revision 127100:
Add test that z.f.form.FormBase.__call__ doesn't render on redirect.
Changed:
A zope.formlib/branches/4.0/src/zope/formlib/tests/test_form.py
-=-
Added: zope.formlib/branches/4.0/src/zope/formlib/tests/test_form.py
===================================================================
--- zope.formlib/branches/4.0/src/zope/formlib/tests/test_form.py (rev 0)
+++ zope.formlib/branches/4.0/src/zope/formlib/tests/test_form.py 2012-06-26 13:25:13 UTC (rev 127100)
@@ -0,0 +1,58 @@
+##############################################################################
+#
+# Copyright (c) 2012 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Test Browser Widget
+"""
+import unittest
+
+
+class FormBaseTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.formlib.form import FormBase
+ return FormBase
+
+ def _makeContext(self, **kw):
+ class _Context(object):
+ pass
+ context = _Context()
+ for k, v in kw.items():
+ setattr(context, k, v)
+ return context
+
+ def _makeRequest(self, **kw):
+ from zope.publisher.browser import TestRequest
+ return TestRequest(**kw)
+
+ def _makeOne(self, context=None, request=None):
+ if context is None:
+ context = self._makeContext()
+ if request is None:
+ request = self._makeRequest()
+ return self._getTargetClass()(context, request)
+
+ def test___call___does_not_render_on_redirects(self):
+ for status in (301, 302):
+ request = self._makeRequest()
+ request.response.setStatus(status)
+ def _raise(self, *args, **kw):
+ self.fail("DON'T GO HERE")
+ form = self._makeOne(request=request)
+ form.form_fields = form.actions = ()
+ form.template = _raise
+ self.assertEqual(form(), '')
+
+def test_suite():
+ return unittest.TestSuite((
+ unittest.makeSuite(FormBaseTests),
+ ))
More information about the Zope3-Checkins
mailing list