[Checkins] SVN: megrok.z3cform/trunk/ - Fix testing buildout,
Sylvain Viollon
sylvain at infrae.com
Mon Aug 25 12:20:51 EDT 2008
Log message for revision 90227:
- Fix testing buildout,
- Use development of Grok and grokcore.view so we can use new way
of building layers,
- Add simple test to ensure that the grokker does its work.
Changed:
U megrok.z3cform/trunk/buildout.cfg
_U megrok.z3cform/trunk/devel/
U megrok.z3cform/trunk/devel/EXTERNALS.txt
U megrok.z3cform/trunk/setup.py
U megrok.z3cform/trunk/src/megrok/z3cform/configure.zcml
U megrok.z3cform/trunk/src/megrok/z3cform/meta.py
U megrok.z3cform/trunk/src/megrok/z3cform/meta.zcml
A megrok.z3cform/trunk/src/megrok/z3cform/tests/form/
A megrok.z3cform/trunk/src/megrok/z3cform/tests/form/__init__.py
A megrok.z3cform/trunk/src/megrok/z3cform/tests/form/field.py
A megrok.z3cform/trunk/src/megrok/z3cform/tests/form/render.py
A megrok.z3cform/trunk/src/megrok/z3cform/tests/test_all.py
A megrok.z3cform/trunk/versions.cfg
-=-
Modified: megrok.z3cform/trunk/buildout.cfg
===================================================================
--- megrok.z3cform/trunk/buildout.cfg 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/buildout.cfg 2008-08-25 16:20:50 UTC (rev 90227)
@@ -1,15 +1,15 @@
[buildout]
develop = .
devel/grokcore.formlib
+ devel/grokcore.component
+ devel/grokcore.view
+ devel/grok
parts = test
-extends = http://grok.zope.org/releaseinfo/grok-0.13.cfg
+extends = versions.cfg
versions = versions
-[versions]
-zc.recipe.testrunner = 1.0.0
[test]
recipe = zc.recipe.testrunner
-eggs = megrok.z3cform
+eggs = megrok.z3cform [test]
defaults = ['--tests-pattern', '^f?tests$', '-v']
-
Property changes on: megrok.z3cform/trunk/devel
___________________________________________________________________
Name: svn:externals
- # svn propset svn:externals -F EXTERNALS.txt .
grokcore.formlib svn://svn.zope.org/repos/main/grokcore.formlib/trunk
+ # svn propset svn:externals -F EXTERNALS.txt .
grokcore.formlib svn://svn.zope.org/repos/main/grokcore.formlib/trunk
grokcore.component svn://svn.zope.org/repos/main/grokcore.component/trunk
grokcore.view svn://svn.zope.org/repos/main/grokcore.view/trunk
grok svn://svn.zope.org/repos/main/grok/trunk
Modified: megrok.z3cform/trunk/devel/EXTERNALS.txt
===================================================================
--- megrok.z3cform/trunk/devel/EXTERNALS.txt 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/devel/EXTERNALS.txt 2008-08-25 16:20:50 UTC (rev 90227)
@@ -1,3 +1,6 @@
# svn propset svn:externals -F EXTERNALS.txt .
grokcore.formlib svn://svn.zope.org/repos/main/grokcore.formlib/trunk
+grokcore.component svn://svn.zope.org/repos/main/grokcore.component/trunk
+grokcore.view svn://svn.zope.org/repos/main/grokcore.view/trunk
+grok svn://svn.zope.org/repos/main/grok/trunk
Modified: megrok.z3cform/trunk/setup.py
===================================================================
--- megrok.z3cform/trunk/setup.py 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/setup.py 2008-08-25 16:20:50 UTC (rev 90227)
@@ -3,6 +3,19 @@
version = '0.1'
+install_requires = [
+ 'setuptools',
+ 'grokcore.component',
+ 'grokcore.view',
+ 'grokcore.formlib',
+ 'z3c.form',
+ ]
+
+# The grok dependency is not added explicitly, so we can factor out a
+# version of this package for Zope 2 which is not going to install
+# grok. But we want the dependency to run tests.
+test_requires = install_requires + ['grok',]
+
setup(name='megrok.z3cform',
version=version,
description="Z3C Forms support for Grok",
@@ -28,13 +41,8 @@
include_package_data=True,
zip_safe=False,
# We need to factor out the dependency on grokcore.formlib
- install_requires=[
- 'setuptools',
- 'grokcore.component',
- 'grokcore.view',
- 'grokcore.formlib',
- 'z3c.form'
- ],
+ install_requires=install_requires,
+ extras_require={'test': test_requires,},
entry_points="""
# -*- Entry points: -*-
""",
Modified: megrok.z3cform/trunk/src/megrok/z3cform/configure.zcml
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/configure.zcml 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/src/megrok/z3cform/configure.zcml 2008-08-25 16:20:50 UTC (rev 90227)
@@ -1,6 +1,7 @@
<configure
- xmlns="http://namespaces.zope.org/zope">
+ xmlns="http://namespaces.zope.org/zope">
- <include package="z3c.form" file="meta.zcml" />
+ <include package="z3c.form" />
+ <include package="grokcore.view" />
</configure>
Modified: megrok.z3cform/trunk/src/megrok/z3cform/meta.py
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/meta.py 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/src/megrok/z3cform/meta.py 2008-08-25 16:20:50 UTC (rev 90227)
@@ -25,7 +25,7 @@
# from any schemas defined by the context
fields = field.Fields(*most_specialized_interfaces(context))
# we pull in this field by default, but we don't want it in our form
- fields = field.omit('__name__')
+ fields = fields.omit('__name__')
return fields
@@ -41,14 +41,14 @@
# Set fields by default.
if isinstance(form.fields, components.DefaultFields):
form.fields = get_auto_fields(context)
-
+
# Don't override render method.
if not getattr(form.render, 'base_method', False):
raise GrokError(
"It is not allowed to specify a custom 'render' "
"method for form %r. Forms either use the default "
- "template or a custom-supplied one." % factory,
- factory)
+ "template or a custom-supplied one." % form,
+ form)
return True
Modified: megrok.z3cform/trunk/src/megrok/z3cform/meta.zcml
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/meta.zcml 2008-08-25 16:20:39 UTC (rev 90226)
+++ megrok.z3cform/trunk/src/megrok/z3cform/meta.zcml 2008-08-25 16:20:50 UTC (rev 90227)
@@ -4,7 +4,9 @@
<include package="z3c.form" file="meta.zcml" />
<include package="grokcore.component" file="meta.zcml" />
+ <include package="grokcore.view" file="meta.zcml" />
<grok:grok package=".meta" />
</configure>
+
Added: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/__init__.py
===================================================================
Property changes on: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/__init__.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Added: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/field.py
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/tests/form/field.py (rev 0)
+++ megrok.z3cform/trunk/src/megrok/z3cform/tests/form/field.py 2008-08-25 16:20:50 UTC (rev 90227)
@@ -0,0 +1,54 @@
+"""
+
+ >>> grok.testing.grok(__name__)
+ >>> manfred = Mammoth()
+
+ >>> from zope import component
+ >>> from zope.publisher.browser import TestRequest
+ >>> request = TestRequest()
+
+ Check that fields have been created on the edition page:
+
+ >>> view = component.getMultiAdapter((manfred, request), name='edit')
+ >>> len(view.fields)
+ 2
+ >>> [field.__name__ for field in view.fields.values()]
+ ['name', 'age']
+
+
+ And on the display page:
+
+ >>> view = component.getMultiAdapter((manfred, request), name='index')
+ >>> len(view.fields)
+ 2
+ >>> [field.__name__ for field in view.fields.values()]
+ ['name', 'age']
+
+
+"""
+
+import grok
+
+from zope import interface, schema
+from zope.schema.fieldproperty import FieldProperty
+from megrok import z3cform
+
+class IMammoth(interface.Interface):
+
+ name = schema.TextLine(title=u"Name")
+ age = schema.Int(title=u"Age")
+
+class Mammoth(grok.Model):
+
+ interface.implements(IMammoth)
+
+ name = FieldProperty(IMammoth['name'])
+ age = FieldProperty(IMammoth['age'])
+
+class Edit(z3cform.EditForm):
+ pass
+
+class Index(z3cform.DisplayForm):
+ pass
+
+
Property changes on: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/field.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Added: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/render.py
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/tests/form/render.py (rev 0)
+++ megrok.z3cform/trunk/src/megrok/z3cform/tests/form/render.py 2008-08-25 16:20:50 UTC (rev 90227)
@@ -0,0 +1,36 @@
+"""
+
+ >>> grok.testing.grok(__name__)
+ Traceback (most recent call last):
+ ...
+ GrokError: It is not allowed to specify a custom 'render' method for
+ form <class 'megrok.z3cform.tests.form.render.Edit'>. Forms either
+ use the default template or a custom-supplied one.
+
+"""
+
+import grok
+
+from zope import interface, schema
+from zope.schema.fieldproperty import FieldProperty
+from megrok import z3cform
+
+class IMammoth(interface.Interface):
+
+ name = schema.TextLine(title=u"Name")
+ age = schema.Int(title=u"Age")
+
+class Mammoth(grok.Model):
+
+ interface.implements(IMammoth)
+
+ name = FieldProperty(IMammoth['name'])
+ age = FieldProperty(IMammoth['age'])
+
+class Edit(z3cform.EditForm):
+
+
+ def render(self):
+ return u"I want a carrot."
+
+
Property changes on: megrok.z3cform/trunk/src/megrok/z3cform/tests/form/render.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Added: megrok.z3cform/trunk/src/megrok/z3cform/tests/test_all.py
===================================================================
--- megrok.z3cform/trunk/src/megrok/z3cform/tests/test_all.py (rev 0)
+++ megrok.z3cform/trunk/src/megrok/z3cform/tests/test_all.py 2008-08-25 16:20:50 UTC (rev 90227)
@@ -0,0 +1,52 @@
+import re
+import unittest
+from pkg_resources import resource_listdir
+from zope.testing import doctest, cleanup, renormalizing
+from zope.configuration import xmlconfig
+import zope.component.eventtesting
+import megrok.z3cform.tests
+
+def setUpZope(test):
+ zope.component.eventtesting.setUp(test)
+ xmlconfig.file('configure.zcml', package=megrok.z3cform.tests)
+
+def cleanUpZope(test):
+ cleanup.cleanUp()
+
+checker = renormalizing.RENormalizing([
+ # str(Exception) has changed from Python 2.4 to 2.5 (due to
+ # Exception now being a new-style class). This changes the way
+ # exceptions appear in traceback printouts.
+ (re.compile(r"ConfigurationExecutionError: <class '([\w.]+)'>:"),
+ r'ConfigurationExecutionError: \1:'),
+ ])
+
+def suiteFromPackage(name):
+ files = resource_listdir(__name__, name)
+ suite = unittest.TestSuite()
+ for filename in files:
+ if not filename.endswith('.py'):
+ continue
+ if filename.endswith('_fixture.py'):
+ continue
+ if filename == '__init__.py':
+ continue
+ dottedname = 'megrok.z3cform.tests.%s.%s' % (name, filename[:-3])
+ test = doctest.DocTestSuite(dottedname,
+ setUp=setUpZope,
+ tearDown=cleanUpZope,
+ checker=checker,
+ optionflags=doctest.ELLIPSIS+
+ doctest.NORMALIZE_WHITESPACE)
+
+ suite.addTest(test)
+ return suite
+
+def test_suite():
+ suite = unittest.TestSuite()
+ for name in ['form',]:
+ suite.addTest(suiteFromPackage(name))
+ return suite
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
Property changes on: megrok.z3cform/trunk/src/megrok/z3cform/tests/test_all.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Added: megrok.z3cform/trunk/versions.cfg
===================================================================
--- megrok.z3cform/trunk/versions.cfg (rev 0)
+++ megrok.z3cform/trunk/versions.cfg 2008-08-25 16:20:50 UTC (rev 90227)
@@ -0,0 +1,105 @@
+[versions]
+ClientForm = 0.2.7
+Pygments = 0.8.1
+RestrictedPython = 3.4.2
+ZConfig = 2.5.1
+ZODB3 = 3.8
+docutils = 0.4
+martian = 0.10
+mechanize = 0.1.7b
+pytz = 2007k
+simplejson = 1.7.1
+z3c.autoinclude = 0.2.2
+z3c.flashmessage = 1.0
+z3c.testsetup = 0.2.1
+zc.catalog = 1.2
+zdaemon = 2.0.1
+zodbcode = 3.4
+zope.annotation = 3.4
+zope.app.apidoc = 3.4.3
+zope.app.applicationcontrol = 3.4.1
+zope.app.appsetup = 3.4.1
+zope.app.authentication = 3.4.1
+zope.app.basicskin = 3.4
+zope.app.broken = 3.4
+zope.app.catalog = 3.5.1
+zope.app.component = 3.4.1
+zope.app.container = 3.5.3
+zope.app.content = 3.4
+zope.app.debug = 3.4
+zope.app.dependable = 3.4
+zope.app.error = 3.5.1
+zope.app.exception = 3.4.1
+zope.app.file = 3.4.2
+zope.app.folder = 3.4
+zope.app.form = 3.4.1
+zope.app.generations = 3.4.1
+zope.app.http = 3.4.1
+zope.app.i18n = 3.4.4
+zope.app.interface = 3.4
+zope.app.intid = 3.4.1
+zope.app.keyreference = 3.4.1
+zope.app.locales = 3.4.1
+zope.app.onlinehelp = 3.4.1
+zope.app.pagetemplate = 3.4
+zope.app.preference = 3.4.1
+zope.app.principalannotation = 3.4
+zope.app.publication = 3.4.3
+zope.app.publisher = 3.4.1
+zope.app.renderer = 3.4
+zope.app.rotterdam = 3.4.1
+zope.app.schema = 3.4
+zope.app.security = 3.4
+zope.app.securitypolicy = 3.4.6
+zope.app.server = 3.4
+zope.app.session = 3.5.1
+zope.app.skins = 3.4
+zope.app.testing = 3.4.1
+zope.app.tree = 3.4
+zope.app.twisted = 3.4
+zope.app.wsgi = 3.4
+zope.app.zapi = 3.4
+zope.app.zcmlfiles = 3.4.3
+zope.app.zopeappgenerations = 3.4
+zope.cachedescriptors = 3.4
+zope.component = 3.4
+zope.configuration = 3.4
+zope.contentprovider = 3.4
+zope.contenttype = 3.4
+zope.copypastemove = 3.4
+zope.datetime = 3.4
+zope.deferredimport = 3.4
+zope.deprecation = 3.4
+zope.dottedname = 3.4.2
+zope.dublincore = 3.4
+zope.error = 3.5.1
+zope.event = 3.4
+zope.exceptions = 3.4
+zope.filerepresentation = 3.4
+zope.formlib = 3.4
+zope.hookable = 3.4
+zope.i18n = 3.4
+zope.i18nmessageid = 3.4.3
+zope.index = 3.4.1
+zope.interface = 3.4.1
+zope.lifecycleevent = 3.4
+zope.location = 3.4
+zope.minmax = 1.1
+zope.modulealias = 3.4
+zope.pagetemplate = 3.4
+zope.proxy = 3.4
+zope.publisher = 3.4.2
+zope.schema = 3.4
+zope.security = 3.4
+zope.securitypolicy = 3.4
+zope.server = 3.4.1
+zope.session = 3.4.1
+zope.size = 3.4
+zope.structuredtext = 3.4
+zope.tal = 3.4.1
+zope.tales = 3.4
+zope.testbrowser = 3.4.2
+zope.testing = 3.6.0
+zope.thread = 3.4
+zope.traversing = 3.4.0
+zope.viewlet = 3.4.2
More information about the Checkins
mailing list