From d809ac74d19342bcc84e4fe043697709b2001cc0 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Tue, 30 Jun 2009 21:02:00 +0000 Subject: - Add a ``reload_resources`` configuration file setting (aka the ``BFG_RELOAD_RESOURCES`` environment variable). When this is set to true, the server never needs to be restarted when moving files between directory resource overrides (esp. for templates currently). - Add a ``reload_all`` configuration file setting (aka the ``BFG_RELOAD_ALL`` environment variable) that implies both ``reload_resources`` and ``reload_templates``. - The ``static`` helper view class now uses a ``PackageURLParser`` in order to allow for the overriding of static resources (CSS / logo files, etc) using the ``resource`` ZCML directive. The ``PackageURLParser`` class was added to a (new) ``static`` module in BFG; it is a subclass of the ``StaticURLParser`` class in ``paste.urlparser``. - The ``repoze.bfg.templating.renderer_from_cache`` function now checks for the ``reload_resources`` setting; if it's true, it does not register a template renderer (it won't use the registry as a template renderer cache). - Add ``pkg_resources`` to the glossary. - Update the "Environment" docs to note the existence of ``reload_resources`` and ``reload_all``. - Use a colon instead of a tab as the separator between package name and relpath to form the "spec" when register a ITemplateRenderer. --- repoze/bfg/tests/test_view.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'repoze/bfg/tests/test_view.py') diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index 55e9ecffa..5b870fa7d 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -317,8 +317,8 @@ class TestStaticView(unittest.TestCase, BaseTest): from repoze.bfg.view import static return static - def _makeOne(self, path): - return self._getTargetClass()(path) + def _makeOne(self, path, package_name=None): + return self._getTargetClass()(path, package_name=package_name) def test_abspath(self): import os @@ -343,8 +343,26 @@ class TestStaticView(unittest.TestCase, BaseTest): response = view(context, request) self.assertEqual(request.copied, True) here = os.path.abspath(os.path.dirname(__file__)) - abspath = os.path.join(here, 'fixtures') - self.assertEqual(response.directory, abspath) + self.assertEqual(response.root_resource, 'fixtures') + self.assertEqual(response.resource_name, 'fixtures') + self.assertEqual(response.package_name, 'repoze.bfg.tests') + self.assertEqual(response.cache_max_age, 3600) + + def test_relpath_withpackage(self): + import os + path = 'fixtures' + view = self._makeOne(path, package_name='another') + context = DummyContext() + request = DummyRequest() + request.subpath = ['__init__.py'] + request.environ = self._makeEnviron() + response = view(context, request) + self.assertEqual(request.copied, True) + here = os.path.abspath(os.path.dirname(__file__)) + self.assertEqual(response.root_resource, 'fixtures') + self.assertEqual(response.resource_name, 'fixtures') + self.assertEqual(response.package_name, 'another') + self.assertEqual(response.cache_max_age, 3600) class TestBFGViewDecorator(unittest.TestCase): def setUp(self): -- cgit v1.2.3