[Checkins] SVN: zope.size/trunk/ include zcml dependencies in configure.zcml, require the necessary packages via a zcml extra, added tests for zcml

Thomas Lotze tl at gocept.com
Mon Feb 14 16:06:22 EST 2011


Log message for revision 120336:
  include zcml dependencies in configure.zcml, require the necessary packages via a zcml extra, added tests for zcml

Changed:
  U   zope.size/trunk/CHANGES.txt
  U   zope.size/trunk/buildout.cfg
  U   zope.size/trunk/setup.py
  U   zope.size/trunk/src/zope/size/configure.zcml
  U   zope.size/trunk/src/zope/size/tests.py

-=-
Modified: zope.size/trunk/CHANGES.txt
===================================================================
--- zope.size/trunk/CHANGES.txt	2011-02-14 20:49:46 UTC (rev 120335)
+++ zope.size/trunk/CHANGES.txt	2011-02-14 21:06:22 UTC (rev 120336)
@@ -5,7 +5,8 @@
 3.5.0 (unreleased)
 ------------------
 
-- ...
+- Include zcml dependencies in configure.zcml, require the necessary packages
+  via a zcml extra, added tests for zcml.
 
 3.4.1 (2009-09-10)
 ------------------

Modified: zope.size/trunk/buildout.cfg
===================================================================
--- zope.size/trunk/buildout.cfg	2011-02-14 20:49:46 UTC (rev 120335)
+++ zope.size/trunk/buildout.cfg	2011-02-14 21:06:22 UTC (rev 120336)
@@ -4,4 +4,4 @@
 
 [test]
 recipe = zc.recipe.testrunner
-eggs = zope.size
+eggs = zope.size[zcml]

Modified: zope.size/trunk/setup.py
===================================================================
--- zope.size/trunk/setup.py	2011-02-14 20:49:46 UTC (rev 120335)
+++ zope.size/trunk/setup.py	2011-02-14 21:06:22 UTC (rev 120336)
@@ -37,6 +37,12 @@
       package_dir = {'': 'src'},
       namespace_packages=['zope'],
       tests_require = [],
+      extras_require=dict(
+          zcml=[
+            'zope.component[zcml]',
+            'zope.configuration',
+            'zope.security[zcml]',
+            ]),
       install_requires=['setuptools',
                         'zope.interface',
                         'zope.i18nmessageid'],

Modified: zope.size/trunk/src/zope/size/configure.zcml
===================================================================
--- zope.size/trunk/src/zope/size/configure.zcml	2011-02-14 20:49:46 UTC (rev 120335)
+++ zope.size/trunk/src/zope/size/configure.zcml	2011-02-14 21:06:22 UTC (rev 120336)
@@ -1,5 +1,9 @@
 <configure xmlns="http://namespaces.zope.org/zope">
 
+  <include file="meta.zcml" package="zope.component" />
+  <include file="meta.zcml" package="zope.security" />
+  <include file="permissions.zcml" package="zope.security" />
+
   <adapter
       for="*"
       factory="zope.size.DefaultSized"
@@ -7,4 +11,4 @@
       permission="zope.View"
       />
 
-</configure>
\ No newline at end of file
+</configure>

Modified: zope.size/trunk/src/zope/size/tests.py
===================================================================
--- zope.size/trunk/src/zope/size/tests.py	2011-02-14 20:49:46 UTC (rev 120335)
+++ zope.size/trunk/src/zope/size/tests.py	2011-02-14 21:06:22 UTC (rev 120336)
@@ -15,8 +15,35 @@
 """
 import unittest
 from zope.size.interfaces import ISized
+import zope.component
+import zope.configuration.xmlconfig
+import zope.size
 
 
+class ZCMLTest(unittest.TestCase):
+
+    def test_configure_zcml_should_be_loadable(self):
+        try:
+            zope.configuration.xmlconfig.XMLConfig(
+                'configure.zcml', zope.size)()
+        except Exception, e:
+            self.fail(e)
+
+    def test_configure_should_register_n_components(self):
+        gsm = zope.component.getGlobalSiteManager()
+        u_count = len(list(gsm.registeredUtilities()))
+        a_count = len(list(gsm.registeredAdapters()))
+        s_count = len(list(gsm.registeredSubscriptionAdapters()))
+        h_count = len(list(gsm.registeredHandlers()))
+        zope.configuration.xmlconfig.XMLConfig(
+            'configure.zcml', zope.size)()
+        self.assertEqual(u_count + 8, len(list(gsm.registeredUtilities())))
+        self.assertEqual(a_count + 1, len(list(gsm.registeredAdapters())))
+        self.assertEqual(
+            s_count, len(list(gsm.registeredSubscriptionAdapters())))
+        self.assertEqual(h_count, len(list(gsm.registeredHandlers())))
+
+
 class DummyObject(object):
 
     def __init__(self, size):



More information about the checkins mailing list