[Checkins] SVN: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/ Moved brwoserwidget test away to zope.formlib. Fix imports.
Martijn Faassen
faassen at startifact.com
Wed Dec 30 16:07:14 EST 2009
Log message for revision 107392:
Moved brwoserwidget test away to zope.formlib. Fix imports.
Changed:
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/support.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_browserwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_checkboxwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datetimewidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datewidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_decimalwidget.py
D zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_exception.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_filewidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_floatwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_intwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_multicheckboxwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_objectwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_passwordwidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_radiowidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_sequencewidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textareawidget.py
U zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textwidget.py
-=-
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/support.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/support.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/support.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -17,24 +17,8 @@
"""
import re
from zope.configuration import xmlconfig
+from zope.formlib.tests.support import VerifyResults
-class VerifyResults(object):
- """Mix-in for test classes with helpers for checking string data."""
-
- def verifyResult(self, result, check_list, inorder=False):
- start = 0
- for check in check_list:
- pos = result.find(check, start)
- self.assert_(pos >= 0,
- "%r not found in %r" % (check, result[start:]))
- if inorder:
- start = pos + len(check)
-
- def verifyResultMissing(self, result, check_list):
- for check in check_list:
- self.assert_(result.find(check) < 0,
- "%r unexpectedly found in %r" % (check, result))
-
def registerEditForm(schema, widgets={}):
"""Registers an edit form for the specified schema.
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_browserwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_browserwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_browserwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -15,200 +15,9 @@
$Id$
"""
-import unittest
-from zope.component.testing import PlacelessSetup
-from zope.interface import Interface, implements
-from zope.publisher.browser import TestRequest
-from zope.schema import Text, Int
-from zope.testing.doctest import DocTestSuite
-
-from zope.formlib.widget import SimpleInputWidget
-from zope.app.form.browser.tests import support
-from zope.formlib.interfaces import ConversionError
-from zope.formlib.interfaces import WidgetInputError, MissingInputError
-
-
-class BrowserWidgetTest(PlacelessSetup,
- support.VerifyResults,
- unittest.TestCase):
-
- _FieldFactory = Text
- _WidgetFactory = None
-
- def setUpContent(self, desc=u'', title=u'Foo Title'):
- field = self._FieldFactory(
- __name__='foo', title=title, description=desc)
- class ITestContent(Interface):
- foo = field
- class TestObject:
- implements(ITestContent)
- self.content = TestObject()
- field = ITestContent['foo']
- field = field.bind(self.content)
- request = TestRequest(HTTP_ACCEPT_LANGUAGE='ru')
- request.form['field.foo'] = u'Foo Value'
- self._widget = self._WidgetFactory(field, request)
-
- def setUp(self):
- super(BrowserWidgetTest, self).setUp()
- self.setUpContent()
-
-
-class SimpleInputWidgetTest(BrowserWidgetTest):
-
- _WidgetFactory = SimpleInputWidget
-
- def test_required(self):
- # widget required defaults to its context required
- self.assert_(self._widget.required)
- self.assert_(self._widget.context.required)
- # changing widget context required has no effect on widget required
- self._widget.context.required = False
- self.assert_(self._widget.required)
- self.assert_(not self._widget.context.required)
-
- def test_hasInput(self):
- self.failUnless(self._widget.hasInput())
- del self._widget.request.form['field.foo']
- self.failIf(self._widget.hasInput())
-
- def testProperties(self):
- self.assertEqual(self._widget.tag, 'input')
- self.assertEqual(self._widget.type, 'text')
- self.assertEqual(self._widget.cssClass, '')
- self.assertEqual(self._widget.extra, '')
-
- def testRender(self, value=None, check_list=None):
- if value is None:
- value = 'Foo Value'
- if check_list is None:
- check_list = ('type="text"', 'id="field.foo"', 'name="field.foo"',
- 'value="Foo Value"')
- self._widget.setRenderedValue(value)
- self.verifyResult(self._widget(), check_list)
- check_list = ('type="hidden"',) + check_list[1:]
- self.verifyResult(self._widget.hidden(), check_list)
- check_list = ('type="hidden"', 'style="color: red"') + check_list[1:]
- self._widget.extra = 'style="color: red"'
- self.verifyResult(self._widget.hidden(), check_list)
-
- def testLabel(self):
- self.setUpContent(title=u'Foo:')
- self.assertEqual(self._widget.label, u'Foo:')
-
- def testHint(self):
- self.setUpContent(desc=u'Foo Description')
- self.assertEqual(self._widget.hint, u'Foo Description')
-
-
-class TestWidget(SimpleInputWidget):
-
- def _toFieldValue(self, v):
- if v == u'barf!':
- raise ConversionError('ralph')
- return v or None
-
-class Test(BrowserWidgetTest):
-
- _WidgetFactory = TestWidget
-
- def test_getFormValue(self):
-
- class W(SimpleInputWidget):
- def _toFieldValue(self, v):
- return u'X' + (v or '')
-
- def _toFormValue(self, v):
- return v and v[1:] or ''
-
- field = Text(__name__ = 'foo', title = u"Foo Title")
- request = TestRequest()
-
- w = W(field, request)
- self.assertEqual(w._getFormValue(), '')
- request.form['field.foo'] = 'val'
- self.assertEqual(w._getFormValue(), 'val')
-
- w.setRenderedValue('Xfoo')
- self.assertEqual(w._getFormValue(), 'foo')
-
- def test_hasValidInput(self):
- self.assertEqual(self._widget.getInputValue(), u'Foo Value')
-
- self._widget.request.form['field.foo'] = (1, 2)
- self.failIf(self._widget.hasValidInput())
-
- self._widget.request.form['field.foo'] = u'barf!'
- self.failIf(self._widget.hasValidInput())
-
- del self._widget.request.form['field.foo']
- self._widget.context.required = True
- self.failIf(self._widget.hasValidInput())
-
- self._widget.context.required = False
- self._widget.request.form['field.foo'] = u''
- self.failUnless(self._widget.hasValidInput())
-
- def test_getInputValue(self):
- self.assertEqual(self._widget.getInputValue(), u'Foo Value')
-
- self._widget.request.form['field.foo'] = (1, 2)
- self.assertRaises(WidgetInputError, self._widget.getInputValue)
-
- self._widget.request.form['field.foo'] = u'barf!'
- self.assertRaises(ConversionError, self._widget.getInputValue)
-
- del self._widget.request.form['field.foo']
- self._widget.context.required = True
- self.assertRaises(MissingInputError, self._widget.getInputValue)
-
- self._widget.context.required = False
- self._widget.request.form['field.foo'] = u''
- self.assertEqual(self._widget.getInputValue(), None)
-
- def test_applyChanges(self):
- self.assertEqual(self._widget.applyChanges(self.content), True)
-
- def test_hasInput(self):
- self.failUnless(self._widget.hasInput())
- del self._widget.request.form['field.foo']
- self.failIf(self._widget.hasInput())
- self._widget.request.form['field.foo'] = u'foo'
- self.failUnless(self._widget.hasInput())
- # widget has input, even if input is an empty string
- self._widget.request.form['field.foo'] = u''
- self.failUnless(self._widget.hasInput())
-
- def test_getFormValue_w_default(self):
- field = Text(__name__ = 'foo', title = u"Foo Title", default=u"def")
- request = TestRequest()
- widget = self._WidgetFactory(field, request)
- self.assertEqual(widget._getFormValue(), u'def')
-
- def test_getFormValue_preserves_errors(self):
- field = Int(__name__ = 'foo', title = u"Foo Title", default=42)
- request = TestRequest()
- widget = self._WidgetFactory(field, request)
-
- # Sometimes you want to set a custom error on a widget.
- widget._error = 'my error'
-
- # _getFormValue shouldn't replace it.
- request.form['field.foo'] = u'barf!'
- widget._getFormValue()
- self.assertEquals(widget._error, 'my error')
-
- # _getFormValue shouldn't clear it either
- request.form['field.foo'] = 33
- widget._getFormValue()
- self.assertEquals(widget._error, 'my error')
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(Test))
- suite.addTest(DocTestSuite("zope.formlib.widget"))
- return suite
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
+# BBB
+from zope.formlib.tests.test_browserwidget import (
+ BrowserWidgetTest,
+ SimpleInputWidgetTest,
+ TestWidget,
+ Test)
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_checkboxwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_checkboxwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_checkboxwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -24,7 +24,7 @@
from zope.interface.verify import verifyClass
from zope.formlib.interfaces import MissingInputError
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
class CheckBoxWidgetTest(SimpleInputWidgetTest):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datetimewidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datetimewidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datetimewidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -23,7 +23,7 @@
from zope.datetime import parseDatetimetz, tzinfo
from zope.interface.verify import verifyClass
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import DatetimeWidget
from zope.app.form.browser import DatetimeI18nWidget
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datewidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datewidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_datewidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -22,7 +22,7 @@
from zope.schema import Date
from zope.interface.verify import verifyClass
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import DateWidget
from zope.app.form.browser import DateI18nWidget
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_decimalwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_decimalwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_decimalwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -18,7 +18,7 @@
import unittest
import decimal
from zope.testing import doctest
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import DecimalWidget
from zope.formlib.interfaces import ConversionError, WidgetInputError
Deleted: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_exception.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_exception.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_exception.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -1,27 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2003 Zope Corporation 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.
-#
-##############################################################################
-"""Exception Views tests
-
-$Id$
-"""
-import unittest
-from zope.testing.doctest import DocTestSuite
-
-def test_suite():
- return unittest.TestSuite((
- DocTestSuite('zope.app.form.browser.exception'),
- ))
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_filewidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_filewidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_filewidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -22,7 +22,7 @@
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import FileWidget
-from zope.app.form.browser.tests.test_browserwidget import (
+from zope.formlib.tests.test_browserwidget import (
SimpleInputWidgetTest)
from zope.interface.verify import verifyClass
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_floatwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_floatwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_floatwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -17,7 +17,7 @@
"""
import unittest
from zope.testing import doctest
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import FloatWidget
from zope.formlib.interfaces import ConversionError, WidgetInputError
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_intwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_intwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_intwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -18,7 +18,7 @@
import unittest
from zope.testing import doctest
from unittest import main, makeSuite
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import IntWidget
from zope.formlib.interfaces import ConversionError, WidgetInputError
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_multicheckboxwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_multicheckboxwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_multicheckboxwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -23,7 +23,7 @@
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import MultiCheckBoxWidget
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.interface.verify import verifyClass
class MultiCheckBoxWidgetTest(SimpleInputWidgetTest):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_objectwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_objectwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_objectwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -28,7 +28,7 @@
from zope.formlib.interfaces import IInputWidget, MissingInputError
from zope.app.form.browser import TextWidget, ObjectWidget
-from zope.app.form.browser.tests.test_browserwidget import BrowserWidgetTest
+from zope.formlib.tests.test_browserwidget import BrowserWidgetTest
from zope.app.form.browser.interfaces import IWidgetInputErrorView
class ITestContact(Interface):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_passwordwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_passwordwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_passwordwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -19,7 +19,7 @@
from zope.testing import doctest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import PasswordWidget
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.interface.verify import verifyClass
class PasswordWidgetTest(SimpleInputWidgetTest):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_radiowidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_radiowidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_radiowidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -24,7 +24,7 @@
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import RadioWidget
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
class RadioWidgetTest(SimpleInputWidgetTest):
"""Documents and tests the radio widget.
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_sequencewidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_sequencewidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_sequencewidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -35,7 +35,7 @@
from zope.app.form.browser.exception import WidgetInputErrorView
from zope.app.form.browser.tests.support import VerifyResults
-from zope.app.form.browser.tests.test_browserwidget import BrowserWidgetTest
+from zope.formlib.tests.test_browserwidget import BrowserWidgetTest
class SequenceWidgetTestHelper(object):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textareawidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textareawidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textareawidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -19,7 +19,7 @@
from zope.testing import doctest
from zope.formlib.interfaces import IInputWidget
from zope.app.form.browser import TextAreaWidget
-from zope.app.form.browser.tests.test_browserwidget import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
from zope.interface.verify import verifyClass
class TextAreaWidgetTest(SimpleInputWidgetTest):
Modified: zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textwidget.py
===================================================================
--- zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textwidget.py 2009-12-30 21:07:06 UTC (rev 107391)
+++ zope.app.form/branches/faassen-zaf/src/zope/app/form/browser/tests/test_textwidget.py 2009-12-30 21:07:14 UTC (rev 107392)
@@ -41,9 +41,8 @@
from zope.app.form.browser import DatetimeDisplayWidget
from zope.app.form.browser import URIDisplayWidget
-from zope.app.form.browser.tests.test_browserwidget import BrowserWidgetTest
-from zope.app.form.browser.tests.test_browserwidget \
- import SimpleInputWidgetTest
+from zope.formlib.tests.test_browserwidget import BrowserWidgetTest
+from zope.formlib.tests.test_browserwidget import SimpleInputWidgetTest
class TextWidgetTest(SimpleInputWidgetTest):
"""Documents and tests the text widget.
More information about the checkins
mailing list