Skip to content

Commit

Permalink
Add test that z.f.form.FormBase.__call__ doesn't render on redirect.
Browse files Browse the repository at this point in the history
  • Loading branch information
tseaver committed Jun 26, 2012
1 parent 31c10af commit de28df9
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions src/zope/formlib/tests/test_form.py
@@ -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),
))

0 comments on commit de28df9

Please sign in to comment.