~yolanda.robla/ubuntu/raring/python-pecan/updated-deps

« back to all changes in this revision

Viewing changes to pecan/tests/test_templating.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-01-24 09:06:05 UTC
  • Revision ID: package-import@ubuntu.com-20130124090605-j80y6t72wquxvv3d
Tags: upstream-0.2.0b2
ImportĀ upstreamĀ versionĀ 0.2.0b2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from unittest import TestCase
 
2
 
 
3
from pecan.templating import RendererFactory, format_line_context
 
4
 
 
5
import tempfile
 
6
 
 
7
 
 
8
class TestTemplate(TestCase):
 
9
    def setUp(self):
 
10
        self.rf = RendererFactory()
 
11
 
 
12
    def test_available(self):
 
13
        self.assertTrue(self.rf.available('json'))
 
14
        self.assertFalse(self.rf.available('badrenderer'))
 
15
 
 
16
    def test_create_bad(self):
 
17
        self.assertEqual(self.rf.get('doesnotexist', '/'), None)
 
18
 
 
19
    def test_extra_vars(self):
 
20
        extra_vars = self.rf.extra_vars
 
21
        self.assertEqual(extra_vars.make_ns({}), {})
 
22
 
 
23
        extra_vars.update({'foo': 1})
 
24
        self.assertEqual(extra_vars.make_ns({}), {'foo': 1})
 
25
 
 
26
    def test_update_extra_vars(self):
 
27
        extra_vars = self.rf.extra_vars
 
28
        extra_vars.update({'foo': 1})
 
29
 
 
30
        self.assertEqual(extra_vars.make_ns({'bar': 2}), {'foo': 1, 'bar': 2})
 
31
        self.assertEqual(extra_vars.make_ns({'foo': 2}), {'foo': 2})
 
32
 
 
33
 
 
34
class TestTemplateLineFormat(TestCase):
 
35
 
 
36
    def setUp(self):
 
37
        self.f = tempfile.NamedTemporaryFile()
 
38
 
 
39
    def tearDown(self):
 
40
        del self.f
 
41
 
 
42
    def test_format_line_context(self):
 
43
        for i in range(11):
 
44
            self.f.write('Testing Line %d\n' % i)
 
45
        self.f.flush()
 
46
 
 
47
        assert format_line_context(self.f.name, 0).count('Testing Line') == 10