[Checkins] SVN: zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/ Full coverage for z.c.xmlconfig.XMLConfig.
Tres Seaver
cvs-admin at zope.org
Thu May 10 23:26:44 UTC 2012
Log message for revision 125833:
Full coverage for z.c.xmlconfig.XMLConfig.
Changed:
U zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/tests/test_xmlconfig.py
U zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/xmlconfig.py
-=-
Modified: zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/tests/test_xmlconfig.py
===================================================================
--- zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/tests/test_xmlconfig.py 2012-05-10 23:26:36 UTC (rev 125832)
+++ zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/tests/test_xmlconfig.py 2012-05-10 23:26:41 UTC (rev 125833)
@@ -824,11 +824,15 @@
def setUp(self):
from zope.configuration.xmlconfig import _clearContext
+ from zope.configuration.tests.samplepackage.foo import data
_clearContext()
+ del data[:]
def tearDown(self):
from zope.configuration.xmlconfig import _clearContext
+ from zope.configuration.tests.samplepackage.foo import data
_clearContext()
+ del data[:]
def _getTargetClass(self):
from zope.configuration.xmlconfig import XMLConfig
@@ -837,55 +841,84 @@
def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)
- def test_XMLConfig(self):
+ def test_ctor_w_global_context_missing(self):
import os
+ from zope.configuration import xmlconfig
from zope.configuration._compat import b
from zope.configuration.tests.samplepackage import foo
here = os.path.dirname(__file__)
- path = os.path.join(here, "samplepackage", "baro.zcml")
- x = self._makeOne(path)
- x() # call to process the actions
- self.assertEqual(len(foo.data), 3)
+ path = os.path.join(here, "samplepackage", "configure.zcml")
+ logger = LoggerStub()
+ xmlconfig._context = None
+ with _Monkey(xmlconfig, logger=logger):
+ xc = self._makeOne(path)
+ self.assertEqual(len(logger.debugs), 1)
+ self.assertEqual(logger.debugs[0], ('include %s' % path, (), {}))
+ self.assertEqual(len(foo.data), 0) # no execut_actions
+ self.assertEqual(len(xc.context.actions), 1)
+ action = xc.context.actions[0]
+ self.assertEqual(action['discriminator'], (('x', b('blah')), ('y', 0)))
+ self.assertEqual(action['callable'], foo.data.append)
- data = foo.data.pop(0)
- self.assertEqual(data.args, (('x', b('blah')), ('y', 0)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar21.zcml", line 3.2-3.24')
+ def test_ctor(self):
+ from zope.configuration import xmlconfig
+ from zope.configuration._compat import b
+ from zope.configuration.tests import samplepackage
+ from zope.configuration.tests.samplepackage import foo
+ fqn = _packageFile(samplepackage, 'configure.zcml')
+ logger = LoggerStub()
+ with _Monkey(xmlconfig, logger=logger):
+ xc = self._makeOne(fqn)
+ self.assertEqual(len(logger.debugs), 1)
+ self.assertEqual(logger.debugs[0], ('include %s' % fqn, (), {}))
+ self.assertEqual(len(foo.data), 0) # no execut_actions
+ self.assertEqual(len(xc.context.actions), 1)
+ action = xc.context.actions[0]
+ self.assertEqual(action['discriminator'], (('x', b('blah')), ('y', 0)))
+ self.assertEqual(action['callable'], foo.data.append)
- data = foo.data.pop(0)
- self.assertEqual(data.args, (('x', b('blah')), ('y', 2)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar2.zcml", line 5.2-5.24')
+ def test_ctor_w_module(self):
+ from zope.configuration import xmlconfig
+ from zope.configuration._compat import b
+ from zope.configuration.tests.samplepackage import foo
+ from zope.configuration.tests import samplepackage
+ fqn = _packageFile(samplepackage, 'configure.zcml')
+ logger = LoggerStub()
+ with _Monkey(xmlconfig, logger=logger):
+ xc = self._makeOne("configure.zcml", samplepackage)
+ self.assertEqual(len(logger.debugs), 1)
+ self.assertEqual(logger.debugs[0], ('include %s' % fqn, (), {}))
+ self.assertEqual(len(foo.data), 0) # no execut_actions
+ self.assertEqual(len(xc.context.actions), 1)
+ action = xc.context.actions[0]
+ self.assertEqual(action['discriminator'], (('x', b('blah')), ('y', 0)))
+ self.assertEqual(action['callable'], foo.data.append)
- data = foo.data.pop(0)
- self.assertEqual(data.args, (('x', b('blah')), ('y', 1)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar2.zcml", line 6.2-6.24')
-
- def test_XMLConfig_w_module(self):
+ def test___call__(self):
+ from zope.configuration import xmlconfig
from zope.configuration._compat import b
+ from zope.configuration.tests import samplepackage
from zope.configuration.tests.samplepackage import foo
- from zope.configuration.tests import samplepackage as module
- x = self._makeOne("baro.zcml", module)
+ fqn = _packageFile(samplepackage, 'configure.zcml')
+ logger = LoggerStub()
+ with _Monkey(xmlconfig, logger=logger):
+ x = self._makeOne(fqn)
+ self.assertEqual(len(logger.debugs), 1)
+ self.assertEqual(logger.debugs[0], ('include %s' % fqn, (), {}))
+ self.assertEqual(len(foo.data), 0)
x() # call to process the actions
- self.assertEqual(len(foo.data), 3)
-
+ self.assertEqual(len(foo.data), 1)
data = foo.data.pop(0)
self.assertEqual(data.args, (('x', b('blah')), ('y', 0)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar21.zcml", line 3.2-3.24')
+ self.assertTrue(data.info.file.endswith(
+ 'tests/samplepackage/configure.zcml'))
+ self.assertEqual(data.info.line, 12)
+ self.assertEqual(data.info.column, 2)
+ self.assertEqual(data.info.eline, 12)
+ self.assertEqual(data.info.ecolumn, 29)
- data = foo.data.pop(0)
- self.assertEqual(data.args, (('x', b('blah')), ('y', 2)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar2.zcml", line 5.2-5.24')
- data = foo.data.pop(0)
- self.assertEqual(data.args, (('x', b('blah')), ('y', 1)))
- self.assertEqual(clean_info_path(repr(data.info)),
- 'File "tests/samplepackage/bar2.zcml", line 6.2-6.24')
-
class Test_xmlconfig(unittest.TestCase):
def _callFUT(self, *args, **kw):
Modified: zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/xmlconfig.py
===================================================================
--- zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/xmlconfig.py 2012-05-10 23:26:36 UTC (rev 125832)
+++ zope.configuration/branches/tseaver-test_cleanup/src/zope/configuration/xmlconfig.py 2012-05-10 23:26:41 UTC (rev 125833)
@@ -537,9 +537,9 @@
_clearContext()
try:
from zope.testing.cleanup import addCleanUp
- except ImportError:
+ except ImportError: #pragma NO COVER
pass
- else:
+ else: #pragma NO COVER
addCleanUp(_clearContext)
del addCleanUp
return _context
More information about the checkins
mailing list