1 # -*- coding: utf-8 -*-
3 unit test for the loaders
4 ~~~~~~~~~~~~~~~~~~~~~~~~~
6 :copyright: 2007 by Armin Ronacher.
7 :license: BSD, see LICENSE for more details.
10 from jinja import Environment, loaders
11 from jinja.exceptions import TemplateNotFound
14 dict_loader = loaders.DictLoader({
15 'justdict.html': 'FOO'
18 package_loader = loaders.PackageLoader('loaderres', 'templates')
20 filesystem_loader = loaders.FileSystemLoader('loaderres/templates')
22 function_loader = loaders.FunctionLoader({'justfunction.html': 'FOO'}.get)
24 choice_loader = loaders.ChoiceLoader([dict_loader, package_loader])
27 def test_dict_loader():
28 env = Environment(loader=dict_loader)
29 tmpl = env.get_template('justdict.html')
30 assert tmpl.render().strip() == 'FOO'
32 env.get_template('missing.html')
33 except TemplateNotFound:
36 raise AssertionError('expected template exception')
39 def test_package_loader():
40 env = Environment(loader=package_loader)
41 tmpl = env.get_template('test.html')
42 assert tmpl.render().strip() == 'BAR'
44 env.get_template('missing.html')
45 except TemplateNotFound:
48 raise AssertionError('expected template exception')
51 def test_filesystem_loader():
52 env = Environment(loader=filesystem_loader)
53 tmpl = env.get_template('test.html')
54 assert tmpl.render().strip() == 'BAR'
56 env.get_template('missing.html')
57 except TemplateNotFound:
60 raise AssertionError('expected template exception')
63 def test_choice_loader():
64 env = Environment(loader=choice_loader)
65 tmpl = env.get_template('justdict.html')
66 assert tmpl.render().strip() == 'FOO'
67 tmpl = env.get_template('test.html')
68 assert tmpl.render().strip() == 'BAR'
70 env.get_template('missing.html')
71 except TemplateNotFound:
74 raise AssertionError('expected template exception')
77 def test_function_loader():
78 env = Environment(loader=function_loader)
79 tmpl = env.get_template('justfunction.html')
80 assert tmpl.render().strip() == 'FOO'
82 env.get_template('missing.html')
83 except TemplateNotFound:
86 raise AssertionError('expected template exception')