[Zope-Checkins] CVS: Zope3/lib/python/Zope/Configuration/tests - Directives.py:1.1.2.5 testMeta.py:1.1.2.8 testXML.py:1.1.2.9
Jim Fulton
jim@zope.com
Tue, 26 Mar 2002 19:47:16 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/Configuration/tests
In directory cvs.zope.org:/tmp/cvs-serv28160/lib/python/Zope/Configuration/tests
Modified Files:
Tag: Zope-3x-branch
Directives.py testMeta.py testXML.py
Log Message:
Merged in changes from contextual-directives branch.
Now, a leading dot in a dotted name implies the package the include
file was included from. It still defaults to ZopeProducts if a file
was not included via a package.
A few of the config files have been convered to use the
shorthand. The rest still can be converted.
I also checked this against Step 6 in the tutorial, which I will check
in in a moment.
=== Zope3/lib/python/Zope/Configuration/tests/Directives.py 1.1.2.4 => 1.1.2.5 ===
__implements__ = INonEmptyDirective
- def __init__(self, name, permission=None, methods=None):
+ def __init__(self, _context, name, permission=None, methods=None):
self._name=name
self._permission=permission
self._methods=methods
self._children=[]
+ self.__context = _context
def __call__(self):
if not self._children:
@@ -39,7 +40,7 @@
else:
return ()
- def protect(self, permission=None, methods=None):
+ def protect(self, _context, permission=None, methods=None):
if permission is None: permission=self._permission
if permission is None: raise 'no perm'
p=self._name, permission, methods
@@ -49,7 +50,7 @@
done = []
-def doit(name):
+def doit(_context, name):
return [('d', done.append, (name,))]
def clearDirectives():
=== Zope3/lib/python/Zope/Configuration/tests/testMeta.py 1.1.2.7 => 1.1.2.8 ===
import protectClass, protections, doit, done
from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
+from Zope.Configuration import name
ns='http://www.zope.org/NS/Zope3/test'
@@ -21,11 +22,11 @@
from Zope.Configuration.meta \
import register, registersub, begin, end, InvalidDirective
- self.assertRaises(InvalidDirective, begin, None, (ns, 'doit'))
+ self.assertRaises(InvalidDirective, begin, None, name, (ns, 'doit'))
register((ns, 'doit'), doit)
- subs = begin(None, (ns, 'doit'), name='splat')
+ subs = begin(None, (ns, 'doit'), name, name='splat')
(des, callable, args, kw), = end(subs)
self.assertEqual(des, 'd')
callable(*args)
@@ -39,7 +40,7 @@
subs = register((ns, 'protectClass'), protectClass)
registersub(subs, (ns, 'protect'))
- subs=begin(None, (ns, 'protectClass'),
+ subs=begin(None, (ns, 'protectClass'), name,
name=".Contact", permission="splat", methods='update')
(des, callable, args, kw), = end(subs)
@@ -55,15 +56,15 @@
subs = register((ns, 'protectClass'), protectClass)
registersub(subs, (ns, 'protect'))
- subs = begin(None, (ns, 'protectClass'), name=".Contact")
+ subs = begin(None, (ns, 'protectClass'), name, name=".Contact")
- actions = end(sub(subs, (ns, 'protect'),
+ actions = end(sub(subs, (ns, 'protect'), name,
permission='edit', methods='update'))
(des, callable, args, kw), = actions
self.assertEqual(des, ('.Contact', 'update'))
callable(*args)
- actions = end(sub(subs, (ns, 'protect'),
+ actions = end(sub(subs, (ns, 'protect'), name,
permission='view', methods='name, email'))
(des, callable, args, kw), = actions
self.assertEqual(des, ('.Contact', 'name, email'))
=== Zope3/lib/python/Zope/Configuration/tests/testXML.py 1.1.2.8 => 1.1.2.9 ===
else:
self.fail('Should have raised ZopeXMLConfigurationError')
+
+
+ def testInclude(self):
+ from tempfile import mktemp
+ name = mktemp()
+ open(name, 'w').write(
+ """<zopeConfigure xmlns='http://namespaces.zope.org/zope'>
+ <include package="Zope.Configuration.tests.Contact"
+ file="contact.zcml" />
+ </zopeConfigure>""")
+
+ from Zope.Configuration.xmlconfig import XMLConfig
+ x=XMLConfig(name)
+ x()
def test_suite():