[Checkins] SVN: zc.form/trunk/ make unit tests and ftests pass; add a note about using widgetapi for display

Gary Poster gary at zope.com
Mon Apr 30 19:30:34 EDT 2007


Log message for revision 74947:
  make unit tests and ftests pass; add a note about using widgetapi for display

Changed:
  U   zc.form/trunk/buildout.cfg
  U   zc.form/trunk/setup.py
  A   zc.form/trunk/src/zc/form/browser/ftesting.zcml
  U   zc.form/trunk/src/zc/form/browser/ftests.py
  U   zc.form/trunk/src/zc/form/browser/widgetapi.py

-=-
Modified: zc.form/trunk/buildout.cfg
===================================================================
--- zc.form/trunk/buildout.cfg	2007-04-30 22:11:55 UTC (rev 74946)
+++ zc.form/trunk/buildout.cfg	2007-04-30 23:30:34 UTC (rev 74947)
@@ -6,3 +6,4 @@
 [test]
 recipe = zc.recipe.testrunner
 eggs = zc.form
+defaults = "--tests-pattern [fn]?tests --exit-with-status".split()

Modified: zc.form/trunk/setup.py
===================================================================
--- zc.form/trunk/setup.py	2007-04-30 22:11:55 UTC (rev 74946)
+++ zc.form/trunk/setup.py	2007-04-30 23:30:34 UTC (rev 74947)
@@ -8,8 +8,37 @@
     namespace_packages=['zc'],
     include_package_data=True,
     install_requires=[
+        'pytz',
         'setuptools',
+        'zc.resourcelibrary',
+        'zc.sourcefactory',
+        'ZODB3',
+        'zope.annotation',
+        'zope.app.principalannotation',
         'zope.app.catalog',
+        'zope.app.form',
+        'zope.app.pagetemplate',
+        'zope.app.zapi',
+        'zope.cachedescriptors',
+        'zope.component',
+        'zope.exceptions',
+        'zope.formlib',
+        'zope.i18n',
+        'zope.i18nmessageid',
+        'zope.index',
+        'zope.interface',
+        'zope.publisher',
+        'zope.schema',
+        # extras
+        'zope.app.security',
+        'zope.app.appsetup',
+        'zope.app.securitypolicy',
+        'zope.app.testing',
+        'zope.configuration',
+        'zope.testing',
+        'zope.traversing',
+        'zope.app.component',
+        'zope.app.zcmlfiles', # sigh
         ],
     zip_safe=False
     )

Added: zc.form/trunk/src/zc/form/browser/ftesting.zcml
===================================================================
--- zc.form/trunk/src/zc/form/browser/ftesting.zcml	2007-04-30 22:11:55 UTC (rev 74946)
+++ zc.form/trunk/src/zc/form/browser/ftesting.zcml	2007-04-30 23:30:34 UTC (rev 74947)
@@ -0,0 +1,36 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
+    xmlns:zcml="http://namespaces.zope.org/zcml"
+    i18n_domain="zc.catalog"
+    >
+
+  <include package="zope.component" file="meta.zcml" />
+  <include package="zope.app.security" file="meta.zcml" />
+  <include package="zope.app.component" file="meta.zcml" />
+  <include package="zope.app.publisher" file="meta.zcml" />
+  <include package="zope.app.publication" file="meta.zcml" />
+  <include package="zope.app.pagetemplate" file="meta.zcml" />
+  <include package="zc.resourcelibrary" file="meta.zcml" />
+
+  <include package="zope.component" />
+  <include package="zope.app.security" />
+  <include package="zope.app.component" />
+  <include package="zope.app.container" />
+  <include package="zope.publisher" />
+  <include package="zope.app.publisher" />
+  <include package="zope.app.publication" />
+  <include package="zope.app.pagetemplate" file="meta.zcml" />
+  <include package="zope.app.appsetup" />
+  <include package="zope.app.form.browser" />
+  <include package="zope.formlib" />
+  <include package="zope.traversing" />
+  <include package="zope.app.basicskin" />
+  <include package="zope.app.zcmlfiles" file="menus.zcml" />
+  <include package="zc.resourcelibrary" />
+  <include package="zope.annotation" />
+  <include package="zope.app.principalannotation" />
+  <include package="zc.form" />
+  <includeOverrides package="zc.form.browser" file="overrides.zcml" />
+
+</configure>

Modified: zc.form/trunk/src/zc/form/browser/ftests.py
===================================================================
--- zc.form/trunk/src/zc/form/browser/ftests.py	2007-04-30 22:11:55 UTC (rev 74946)
+++ zc.form/trunk/src/zc/form/browser/ftests.py	2007-04-30 23:30:34 UTC (rev 74947)
@@ -13,9 +13,10 @@
 ##############################################################################
 """functional test harness for zc.mruwidget
 """
+import os
 
 from zope import interface, component
-from zope.app.testing.functional import FunctionalDocFileSuite
+from zope.app.testing.functional import FunctionalDocFileSuite, ZCMLLayer
 from zope.testing import doctest
 import zope.schema.interfaces
 
@@ -73,14 +74,21 @@
         return [c for c in colors if searchstring in c]
 
 
+here = os.path.dirname(os.path.realpath(__file__))
+
+ZCFormLayer = ZCMLLayer(
+    os.path.join(here, "ftesting.zcml"), __name__, "ZCFormLayer")
+
 def setUp(test):
     component.provideAdapter(ColorTerms)
     component.provideAdapter(SimpleColorSourceQueryView)
     
 
 def test_suite():
-    return FunctionalDocFileSuite("mruwidget.txt", 
+    suite = FunctionalDocFileSuite("mruwidget.txt", 
             globs={'AvailableColors': AvailableColors()},
             optionflags=doctest.NORMALIZE_WHITESPACE+doctest.ELLIPSIS,
             setUp=setUp,
             )
+    suite.layer = ZCFormLayer
+    return suite

Modified: zc.form/trunk/src/zc/form/browser/widgetapi.py
===================================================================
--- zc.form/trunk/src/zc/form/browser/widgetapi.py	2007-04-30 22:11:55 UTC (rev 74946)
+++ zc.form/trunk/src/zc/form/browser/widgetapi.py	2007-04-30 23:30:34 UTC (rev 74947)
@@ -51,6 +51,8 @@
 
     _initialized = False
     _error = None
+    _display = False # set this to True if you are using this for a display
+                     # widget
 
     # Form management methods.
     # Subclasses should not need to override these.
@@ -79,6 +81,8 @@
         return value
 
     def hasInput(self):
+        if self._display:
+            return False
         marker_name = self.name + "-marker"
         return marker_name in self.request.form
 
@@ -216,6 +220,8 @@
 
 
 class BaseVocabularyDisplay(BaseVocabularyWidget):
+    
+    _display = True
 
     def render(self, value):
         if value in (NullValue, None):



More information about the Checkins mailing list