[Checkins] SVN: z3c.caching/trunk/src/z3c/caching/ Add tests for the ZCML handling
Matthew Wilkes
matthew at matthewwilkes.co.uk
Mon Dec 28 14:23:47 EST 2009
Log message for revision 107227:
Add tests for the ZCML handling
Changed:
A z3c.caching/trunk/src/z3c/caching/tests/test1.zcml
A z3c.caching/trunk/src/z3c/caching/tests/test2.zcml
A z3c.caching/trunk/src/z3c/caching/tests/test_zcml.py
U z3c.caching/trunk/src/z3c/caching/zcml.py
-=-
Added: z3c.caching/trunk/src/z3c/caching/tests/test1.zcml
===================================================================
--- z3c.caching/trunk/src/z3c/caching/tests/test1.zcml (rev 0)
+++ z3c.caching/trunk/src/z3c/caching/tests/test1.zcml 2009-12-28 19:23:47 UTC (rev 107227)
@@ -0,0 +1,13 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:cache="http://namespaces.zope.org/cache">
+
+ <include package="z3c.caching" file="meta.zcml" />
+
+ <cache:ruleset
+ for="z3c.caching.tests.test_registry.ITestView"
+ ruleset="first"
+ />
+
+</configure>
+
+
\ No newline at end of file
Added: z3c.caching/trunk/src/z3c/caching/tests/test2.zcml
===================================================================
--- z3c.caching/trunk/src/z3c/caching/tests/test2.zcml (rev 0)
+++ z3c.caching/trunk/src/z3c/caching/tests/test2.zcml 2009-12-28 19:23:47 UTC (rev 107227)
@@ -0,0 +1,18 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:cache="http://namespaces.zope.org/cache">
+
+ <include package="z3c.caching" file="meta.zcml" />
+
+ <cache:ruleset
+ for="z3c.caching.tests.test_registry.ITestView"
+ ruleset="first"
+ />
+
+ <cache:ruleset
+ for="z3c.caching.tests.test_registry.ITestView"
+ ruleset="second"
+ />
+
+</configure>
+
+
\ No newline at end of file
Added: z3c.caching/trunk/src/z3c/caching/tests/test_zcml.py
===================================================================
--- z3c.caching/trunk/src/z3c/caching/tests/test_zcml.py (rev 0)
+++ z3c.caching/trunk/src/z3c/caching/tests/test_zcml.py 2009-12-28 19:23:47 UTC (rev 107227)
@@ -0,0 +1,36 @@
+import os
+from unittest import TestCase
+
+from zope.configuration import config, xmlconfig
+
+from z3c.caching.registry import getGlobalRulesetRegistry
+import z3c.caching.tests
+from z3c.caching.tests.test_registry import (ITestView, IMoreSpecificTestView,
+ TestView, OtherTestView)
+
+def path(*p):
+ return os.path.join(os.path.dirname(__file__), *p)
+
+class TestZCMLDeclarations(TestCase):
+
+ def setUp(self):
+ self.registry = getGlobalRulesetRegistry()
+
+ def tearDown(self):
+ xmlconfig._clearContext()
+ self.registry.clear()
+
+ def test_simple_registration(self):
+ i = TestView()
+ self.failUnless(self.registry[i] is None)
+
+ zcml = xmlconfig.XMLConfig("test1.zcml", z3c.caching.tests)
+ zcml()
+
+ i = TestView()
+ self.assertEqual(self.registry[i], "first")
+
+ def test_conflicting_registrations(self):
+ zcml = xmlconfig.XMLConfig("test2.zcml", z3c.caching.tests)
+ self.assertRaises(Exception, zcml) # ZCML conflict error
+
\ No newline at end of file
Modified: z3c.caching/trunk/src/z3c/caching/zcml.py
===================================================================
--- z3c.caching/trunk/src/z3c/caching/zcml.py 2009-12-28 19:23:33 UTC (rev 107226)
+++ z3c.caching/trunk/src/z3c/caching/zcml.py 2009-12-28 19:23:47 UTC (rev 107227)
@@ -1,7 +1,7 @@
from zope.interface import Interface
from zope.configuration.fields import GlobalObject
from zope.configuration.fields import PythonIdentifier
-from z3c.caching.registry import register
+from z3c.caching.registry import getGlobalRulesetRegistry
class IRuleset(Interface):
for_ = GlobalObject(
@@ -18,6 +18,7 @@
def ruleset(_context, for_, ruleset):
+ register = getGlobalRulesetRegistry().register
_context.action(
discriminator=("registerCacheRule", for_),
callable = register,
More information about the checkins
mailing list