From 03a5196f34ea455d2222c813b1d80ebd0e3619d5 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 9 Sep 2012 22:06:22 -0400 Subject: coverage for renderer_factory in chameleon_zpt and chameleon_text --- pyramid/chameleon_text.py | 2 ++ pyramid/tests/test_chameleon_text.py | 31 ++++++++++++++++++++++++++++++- pyramid/tests/test_chameleon_zpt.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/pyramid/chameleon_text.py b/pyramid/chameleon_text.py index f1afb86b5..3484b7973 100644 --- a/pyramid/chameleon_text.py +++ b/pyramid/chameleon_text.py @@ -28,6 +28,8 @@ class TextTemplateRenderer(object): def __init__(self, path, lookup, macro=None): self.path = path self.lookup = lookup + # text template renderers have no macros, so we ignore the + # macro arg @reify # avoid looking up reload_templates before manager pushed def template(self): diff --git a/pyramid/tests/test_chameleon_text.py b/pyramid/tests/test_chameleon_text.py index 87e8028b7..297e96554 100644 --- a/pyramid/tests/test_chameleon_text.py +++ b/pyramid/tests/test_chameleon_text.py @@ -1,10 +1,11 @@ +import sys import unittest from pyramid.compat import binary_type from pyramid.testing import skip_on from pyramid import testing -class Base: +class Base(object): def setUp(self): self.config = testing.setUp() @@ -16,6 +17,18 @@ class Base: here = os.path.abspath(os.path.dirname(__file__)) return os.path.join(here, 'fixtures', name) +class Test_renderer_factory(Base, unittest.TestCase): + def _callFUT(self, info): + from pyramid.chameleon_text import renderer_factory + return renderer_factory(info) + + def test_it(self): + # this test is way too functional + from pyramid.chameleon_text import TextTemplateRenderer + info = DummyInfo() + result = self._callFUT(info) + self.assertEqual(result.__class__, TextTemplateRenderer) + class TextTemplateRendererTests(Base, unittest.TestCase): def _getTargetClass(self): from pyramid.chameleon_text import TextTemplateRenderer @@ -123,4 +136,20 @@ class DummyLookup(object): auto_reload=True debug = True def translate(self, msg): pass + +class DummyRegistry(object): + def queryUtility(self, iface, name): + self.queried = iface, name + return None + + def registerUtility(self, impl, iface, name): + self.registered = impl, iface, name + +class DummyInfo(object): + def __init__(self): + self.registry = DummyRegistry() + self.type = '.pt' + self.name = 'fixtures/minimal.pt' + self.package = sys.modules[__name__] + self.settings = {} diff --git a/pyramid/tests/test_chameleon_zpt.py b/pyramid/tests/test_chameleon_zpt.py index ac39d92bc..4de04aa4a 100644 --- a/pyramid/tests/test_chameleon_zpt.py +++ b/pyramid/tests/test_chameleon_zpt.py @@ -1,3 +1,4 @@ +import sys import unittest from pyramid.testing import skip_on @@ -16,6 +17,18 @@ class Base(object): here = os.path.abspath(os.path.dirname(__file__)) return os.path.join(here, 'fixtures', name) +class Test_renderer_factory(Base, unittest.TestCase): + def _callFUT(self, info): + from pyramid.chameleon_zpt import renderer_factory + return renderer_factory(info) + + def test_it(self): + # this test is way too functional + from pyramid.chameleon_zpt import ZPTTemplateRenderer + info = DummyInfo() + result = self._callFUT(info) + self.assertEqual(result.__class__, ZPTTemplateRenderer) + class ZPTTemplateRendererTests(Base, unittest.TestCase): def _getTargetClass(self): from pyramid.chameleon_zpt import ZPTTemplateRenderer @@ -127,3 +140,20 @@ class DummyLookup(object): auto_reload=True debug = True def translate(self, msg): pass + +class DummyRegistry(object): + def queryUtility(self, iface, name): + self.queried = iface, name + return None + + def registerUtility(self, impl, iface, name): + self.registered = impl, iface, name + +class DummyInfo(object): + def __init__(self): + self.registry = DummyRegistry() + self.type = '.pt' + self.name = 'fixtures/minimal.pt' + self.package = sys.modules[__name__] + self.settings = {} + -- cgit v1.2.3