From b9f54f3c3b391a5964ba14b8fe6828c9a1ca9c0f Mon Sep 17 00:00:00 2001 From: John Anderson Date: Sat, 22 Sep 2012 03:04:57 -0300 Subject: Filenames like app:foo-bar.mako should be valid. --- pyramid/mako_templating.py | 2 +- pyramid/tests/test_mako_templating.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pyramid/mako_templating.py b/pyramid/mako_templating.py index 5d09cad01..f2627c1fc 100644 --- a/pyramid/mako_templating.py +++ b/pyramid/mako_templating.py @@ -91,7 +91,7 @@ class MakoRendererFactoryHelper(object): def __call__(self, info): p = re.compile( - r'(?P[\w_.:/]+)' + r'(?P[\w_.:/-]+)' r'(?:\#(?P[\w_]+))?' r'(\.(?P.*))' ) diff --git a/pyramid/tests/test_mako_templating.py b/pyramid/tests/test_mako_templating.py index 97b2c679b..37264aa48 100644 --- a/pyramid/tests/test_mako_templating.py +++ b/pyramid/tests/test_mako_templating.py @@ -31,6 +31,20 @@ class Test_renderer_factory(Base, unittest.TestCase): from pyramid.mako_templating import IMakoLookup return self.config.registry.getUtility(IMakoLookup, name=name) + def test_hyphen_filenames(self): + from pyramid.mako_templating import renderer_factory + + info = DummyRendererInfo({ + 'name':'app:moon-and-world.mak', + 'package':None, + 'registry':self.config.registry, + 'settings':{}, + 'type': '' + }) + + result = renderer_factory(info) + self.assertEqual(result.path, 'app:moon-and-world.mak') + def test_no_directories(self): info = DummyRendererInfo({ 'name':'pyramid.tests:fixtures/helloworld.mak', -- cgit v1.2.3