summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-19 18:46:14 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-19 18:46:14 +0000
commit44a2e4d4ea63c1a55d77429e6905506db22a7a50 (patch)
tree3fbe9c1b8c5cec2b77876c5fd00da36132b045bc
parent1c02105e4fce880bca80e58be3191d2e1368596a (diff)
downloadpyramid-44a2e4d4ea63c1a55d77429e6905506db22a7a50.tar.gz
pyramid-44a2e4d4ea63c1a55d77429e6905506db22a7a50.tar.bz2
pyramid-44a2e4d4ea63c1a55d77429e6905506db22a7a50.zip
Move renderer tests from zcml tests to configure tests.
-rw-r--r--repoze/bfg/configuration.py8
-rw-r--r--repoze/bfg/tests/test_configuration.py39
-rw-r--r--repoze/bfg/tests/test_zcml.py74
-rw-r--r--repoze/bfg/zcml.py25
4 files changed, 44 insertions, 102 deletions
diff --git a/repoze/bfg/configuration.py b/repoze/bfg/configuration.py
index 6e1185a65..7a761e3d7 100644
--- a/repoze/bfg/configuration.py
+++ b/repoze/bfg/configuration.py
@@ -537,10 +537,10 @@ class Configurator(object):
package = sys.modules[package]
override_package = sys.modules[override_package]
- if _override is not None:
- _override(package, path, override_package, override_prefix)
- else:
- self._override(package, path, override_package, override_prefix)
+ if _override is None:
+ _override = self._override
+ _override(package, path, override_package, override_prefix,
+ _info=_info)
def _override(self, package, path, override_package, override_prefix,
_info=u'', PackageOverrides=PackageOverrides):
diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py
index 24a6760e2..d7f33534e 100644
--- a/repoze/bfg/tests/test_configuration.py
+++ b/repoze/bfg/tests/test_configuration.py
@@ -1731,6 +1731,37 @@ class ConfiguratorTests(unittest.TestCase):
inner_view, viewname='inner', wrapper_viewname='owrap')
result = self.assertRaises(ValueError, wrapped, None, request)
+ def test_resource_samename(self):
+ from zope.configuration.exceptions import ConfigurationError
+ config = self._makeOne()
+ self.assertRaises(ConfigurationError, config.resource, 'a', 'a')
+
+ def test_resource_override_directory_with_file(self):
+ from zope.configuration.exceptions import ConfigurationError
+ config = self._makeOne()
+ self.assertRaises(ConfigurationError, config.resource,
+ 'a:foo/', 'a:foo.pt')
+
+ def test_resource_override_file_with_directory(self):
+ from zope.configuration.exceptions import ConfigurationError
+ config = self._makeOne()
+ self.assertRaises(ConfigurationError, config.resource,
+ 'a:foo.pt', 'a:foo/')
+
+ def test_resource_success(self):
+ config = self._makeOne()
+ override = DummyUnderOverride()
+ config.resource(
+ 'repoze.bfg.tests.fixtureapp:templates/foo.pt',
+ 'repoze.bfg.tests.fixtureapp.subpackage:templates/bar.pt',
+ _override=override)
+ from repoze.bfg.tests import fixtureapp
+ from repoze.bfg.tests.fixtureapp import subpackage
+ self.assertEqual(override.package, fixtureapp)
+ self.assertEqual(override.path, 'templates/foo.pt')
+ self.assertEqual(override.override_package, subpackage)
+ self.assertEqual(override.override_prefix, 'templates/bar.pt')
+
class TestBFGViewGrokker(unittest.TestCase):
def setUp(self):
cleanUp()
@@ -2257,6 +2288,14 @@ class DummyOverrides:
def insert(self, path, package, prefix):
self.inserted.append((path, package, prefix))
+class DummyUnderOverride:
+ def __call__(self, package, path, override_package, override_prefix,
+ _info=u''):
+ self.package = package
+ self.path = path
+ self.override_package = override_package
+ self.override_prefix = override_prefix
+
from zope.interface import Interface
class IDummy(Interface):
pass
diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py
index ceb156f27..b1d3cf09d 100644
--- a/repoze/bfg/tests/test_zcml.py
+++ b/repoze/bfg/tests/test_zcml.py
@@ -488,24 +488,7 @@ class TestResourceDirective(unittest.TestCase):
from repoze.bfg.zcml import resource
return resource(*arg, **kw)
- def test_samename(self):
- from zope.configuration.exceptions import ConfigurationError
- context = DummyContext()
- self.assertRaises(ConfigurationError, self._callFUT, context, 'a', 'a')
-
- def test_override_directory_with_file(self):
- from zope.configuration.exceptions import ConfigurationError
- context = DummyContext()
- self.assertRaises(ConfigurationError, self._callFUT, context,
- 'a:foo/', 'a:foo.pt')
-
- def test_override_file_with_directory(self):
- from zope.configuration.exceptions import ConfigurationError
- context = DummyContext()
- self.assertRaises(ConfigurationError, self._callFUT, context,
- 'a:foo.pt', 'a:foo/')
-
- def test_no_colons(self):
+ def test_it(self):
from zope.component import getSiteManager
from repoze.bfg.configuration import Configurator
context = DummyContext()
@@ -519,61 +502,6 @@ class TestResourceDirective(unittest.TestCase):
self.assertEqual(action['discriminator'], None)
self.assertEqual(action['args'], ('a', 'b', None))
- def test_with_colons(self):
- from zope.component import getSiteManager
- from repoze.bfg.configuration import Configurator
- context = DummyContext()
- self._callFUT(context, 'a:foo.pt', 'b:foo.pt')
- actions = context.actions
- self.assertEqual(len(actions), 1)
- action = actions[0]
- sm = getSiteManager()
- self.assertEqual(action['callable'].im_func,
- Configurator.resource.im_func)
- self.assertEqual(action['discriminator'], None)
- self.assertEqual(action['args'], ('a:foo.pt', 'b:foo.pt', None))
-
- def test_override_module_with_directory(self):
- from zope.component import getSiteManager
- from repoze.bfg.configuration import Configurator
- context = DummyContext()
- self._callFUT(context, 'a', 'b:foo/')
- actions = context.actions
- self.assertEqual(len(actions), 1)
- action = actions[0]
- sm = getSiteManager()
- self.assertEqual(action['callable'].im_func,
- Configurator.resource.im_func)
- self.assertEqual(action['discriminator'], None)
- self.assertEqual(action['args'], ('a', 'b:foo/', None))
-
- def test_override_directory_with_module(self):
- from zope.component import getSiteManager
- from repoze.bfg.configuration import Configurator
- context = DummyContext()
- self._callFUT(context, 'a:foo/', 'b')
- actions = context.actions
- self.assertEqual(len(actions), 1)
- action = actions[0]
- sm = getSiteManager()
- self.assertEqual(action['callable'].im_func,
- Configurator.resource.im_func)
- self.assertEqual(action['discriminator'], None)
- self.assertEqual(action['args'], ('a:foo/', 'b', None))
-
- def test_override_module_with_module(self):
- from repoze.bfg.configuration import Configurator
- from zope.component import getSiteManager
- context = DummyContext()
- self._callFUT(context, 'a', 'b')
- actions = context.actions
- self.assertEqual(len(actions), 1)
- action = actions[0]
- sm = getSiteManager()
- self.assertEqual(action['callable'].im_func,
- Configurator.resource.im_func)
- self.assertEqual(action['discriminator'], None)
- self.assertEqual(action['args'], ('a', 'b', None))
class TestZCMLConfigure(unittest.TestCase):
i = 0
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index 7d6e2a14b..7df36f460 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -353,31 +353,6 @@ class IResourceDirective(Interface):
required=True)
def resource(_context, to_override, override_with):
- if to_override == override_with:
- raise ConfigurationError('You cannot override a resource with itself')
-
- package = to_override
- path = ''
- if ':' in to_override:
- package, path = to_override.split(':', 1)
-
- override_package = override_with
- override_prefix = ''
- if ':' in override_with:
- override_package, override_prefix = override_with.split(':', 1)
-
- if path and path.endswith('/'):
- if override_prefix and (not override_prefix.endswith('/')):
- raise ConfigurationError(
- 'A directory cannot be overridden with a file (put a slash '
- 'at the end of override_with if necessary)')
-
- if override_prefix and override_prefix.endswith('/'):
- if path and (not path.endswith('/')):
- raise ConfigurationError(
- 'A file cannot be overridden with a directory (put a slash '
- 'at the end of to_override if necessary)')
-
reg = get_current_registry()
config = get_configurator(reg)