1
from unittest import TestCase
3
from pecan.templating import RendererFactory, format_line_context
8
class TestTemplate(TestCase):
10
self.rf = RendererFactory()
12
def test_available(self):
13
self.assertTrue(self.rf.available('json'))
14
self.assertFalse(self.rf.available('badrenderer'))
16
def test_create_bad(self):
17
self.assertEqual(self.rf.get('doesnotexist', '/'), None)
19
def test_extra_vars(self):
20
extra_vars = self.rf.extra_vars
21
self.assertEqual(extra_vars.make_ns({}), {})
23
extra_vars.update({'foo': 1})
24
self.assertEqual(extra_vars.make_ns({}), {'foo': 1})
26
def test_update_extra_vars(self):
27
extra_vars = self.rf.extra_vars
28
extra_vars.update({'foo': 1})
30
self.assertEqual(extra_vars.make_ns({'bar': 2}), {'foo': 1, 'bar': 2})
31
self.assertEqual(extra_vars.make_ns({'foo': 2}), {'foo': 2})
34
class TestTemplateLineFormat(TestCase):
37
self.f = tempfile.NamedTemporaryFile()
42
def test_format_line_context(self):
44
self.f.write('Testing Line %d\n' % i)
47
assert format_line_context(self.f.name, 0).count('Testing Line') == 10