]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Add test (jinja2.testsuite.bytecode_cache.ByteCodeCacheTestCase) for
authorMarc Abramowitz <marc@marc-abramowitz.com>
Thu, 6 Jun 2013 05:29:04 +0000 (22:29 -0700)
committerArmin Ronacher <armin.ronacher@active-4.com>
Wed, 7 Aug 2013 11:30:32 +0000 (12:30 +0100)
BytecodeCache that fails on Python 3 because it uses `unicode`

jinja2/testsuite/__init__.py
jinja2/testsuite/bytecode_cache.py [new file with mode: 0644]

index f5e617b8e5953ba5051b7936b3eb816a533c2293..635c83e5db2af2143bc3bdaf600a29fa40a80bdc 100644 (file)
@@ -123,7 +123,7 @@ class BetterLoader(unittest.TestLoader):
 def suite():
     from jinja2.testsuite import ext, filters, tests, core_tags, \
          loader, inheritance, imports, lexnparse, security, api, \
-         regression, debug, utils, doctests
+         regression, debug, utils, bytecode_cache, doctests
     suite = unittest.TestSuite()
     suite.addTest(ext.suite())
     suite.addTest(filters.suite())
@@ -138,6 +138,7 @@ def suite():
     suite.addTest(regression.suite())
     suite.addTest(debug.suite())
     suite.addTest(utils.suite())
+    suite.addTest(bytecode_cache.suite())
 
     # doctests will not run on python 3 currently.  Too many issues
     # with that, do not test that on that platform.
diff --git a/jinja2/testsuite/bytecode_cache.py b/jinja2/testsuite/bytecode_cache.py
new file mode 100644 (file)
index 0000000..9f5c635
--- /dev/null
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+"""
+    jinja2.testsuite.bytecode_cache
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Test bytecode caching
+
+    :copyright: (c) 2010 by the Jinja Team.
+    :license: BSD, see LICENSE for more details.
+"""
+import unittest
+
+from jinja2.testsuite import JinjaTestCase, package_loader
+
+from jinja2 import Environment
+from jinja2.bccache import FileSystemBytecodeCache
+from jinja2.exceptions import TemplateNotFound
+
+bytecode_cache = FileSystemBytecodeCache()
+env = Environment(
+    loader=package_loader,
+    bytecode_cache=bytecode_cache,
+)
+
+
+class ByteCodeCacheTestCase(JinjaTestCase):
+
+    def test_simple(self):
+        tmpl = env.get_template('test.html')
+        assert tmpl.render().strip() == 'BAR'
+        self.assert_raises(TemplateNotFound, env.get_template, 'missing.html')
+
+
+def suite():
+    suite = unittest.TestSuite()
+    suite.addTest(unittest.makeSuite(ByteCodeCacheTestCase))
+    return suite