[Checkins] SVN: five.megrok.z3cform/trunk/src/five/megrok/z3cform/test - Add test infrastructure, and a test to check that the grokker don't make any error.

Sylvain Viollon sylvain at infrae.com
Mon Aug 25 15:49:08 EDT 2008


Log message for revision 90243:
  
  - Add test infrastructure, and a test to check that the grokker don't make any error.
  
  

Changed:
  A   five.megrok.z3cform/trunk/src/five/megrok/z3cform/testing.zcml
  A   five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/
  A   five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/__init__.py
  A   five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/form.py
  A   five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/test_all.py

-=-
Added: five.megrok.z3cform/trunk/src/five/megrok/z3cform/testing.zcml
===================================================================
--- five.megrok.z3cform/trunk/src/five/megrok/z3cform/testing.zcml	                        (rev 0)
+++ five.megrok.z3cform/trunk/src/five/megrok/z3cform/testing.zcml	2008-08-25 19:49:07 UTC (rev 90243)
@@ -0,0 +1,8 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser">
+
+  <include package="five.megrok.z3cform" file="meta.zcml" />
+  <include package="five.megrok.z3cform" />
+
+</configure>

Added: five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/__init__.py
===================================================================

Added: five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/form.py
===================================================================
--- five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/form.py	                        (rev 0)
+++ five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/form/form.py	2008-08-25 19:49:07 UTC (rev 90243)
@@ -0,0 +1,26 @@
+"""
+
+  >>> grok.testing.grok(__name__)
+
+"""
+
+from five import grok
+from five.megrok import z3cform
+from zope import interface, schema
+from zope.schema.fieldproperty import FieldProperty
+
+class IMammoth(interface.Interface):
+    
+    name = schema.TextLine(title=u"Name")
+    age = schema.Int(title=u"Age")
+
+class Mammoth(grok.Model):
+    
+    grok.implements(IMammoth)
+
+    name = FieldProperty(IMammoth['name'])
+    age = FieldProperty(IMammoth['age'])
+
+class Edit(z3cform.EditForm):
+
+    grok.context(IMammoth)

Added: five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/test_all.py
===================================================================
--- five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/test_all.py	                        (rev 0)
+++ five.megrok.z3cform/trunk/src/five/megrok/z3cform/tests/test_all.py	2008-08-25 19:49:07 UTC (rev 90243)
@@ -0,0 +1,51 @@
+import unittest
+from pkg_resources import resource_listdir
+
+from zope.testing import doctest
+from zope.component import testing
+
+import Products.Five
+from Products.Five import zcml
+import five.megrok.z3cform
+import os
+
+
+def setUp(test=None):
+    testing.setUp(test)
+    zcml.load_config('meta.zcml', package=Products.Five)
+    zcml.load_config('configure.zcml', package=Products.Five)
+    zcml.load_config('testing.zcml', package=five.megrok.z3cform)
+
+from five.grok.testing import grok
+from zope import component
+
+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 = 'five.megrok.z3cform.tests.%s.%s' % (name, filename[:-3])
+        test = doctest.DocTestSuite(dottedname,
+                                    setUp=setUp,
+                                    tearDown=testing.tearDown,
+                                    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')



More information about the Checkins mailing list