def test_directory(self): from pyramid_jinja2 import includeme config = testing.setUp() config.registry.settings['jinja2.bytecode_caching_directory'] = '/foobar' includeme(config) env = config.get_jinja2_environment() self.assertEqual(env.bytecode_cache.directory, text_('/foobar'))
def test_it_relative_to_package(self): import pyramid_jinja2.tests from pyramid_jinja2 import includeme import os config = testing.setUp() # hack because pyramid pre 1.6 doesn't configure testing configurator # with the correct package name config.package = pyramid_jinja2.tests config.package_name = 'pyramid_jinja2.tests' config.add_settings({'jinja2.directories': 'foobar'}) includeme(config) env = config.get_jinja2_environment() self.assertEqual( [x.split(os.sep)[-2:] for x in env.loader.searchpath][0], ['pyramid_jinja2', 'tests']) self.assertEqual( [x.split(os.sep)[-3:] for x in env.loader.searchpath][1:], [['pyramid_jinja2', 'tests', 'foobar']]) config.add_jinja2_search_path('grrr') self.assertEqual( [x.split(os.sep)[-2:] for x in env.loader.searchpath][0], ['pyramid_jinja2', 'tests']) self.assertEqual( [x.split(os.sep)[-3:] for x in env.loader.searchpath][1:], [['pyramid_jinja2', 'tests', 'foobar'], ['pyramid_jinja2', 'tests', 'grrr']])
def test_it_relative_to_package(self): import pyramid_jinja2.tests from pyramid_jinja2 import includeme import os config = testing.setUp() # hack because pyramid pre 1.6 doesn't configure testing configurator # with the correct package name config.package = pyramid_jinja2.tests config.package_name = 'pyramid_jinja2.tests' config.add_settings({'jinja2.directories': 'foobar'}) includeme(config) env = config.get_jinja2_environment() self.assertEqual(len(env.loader.searchpath), 2) self.assertEqual([x.split(os.sep)[-3:] for x in env.loader.searchpath][0], ['pyramid_jinja2', 'tests', 'foobar']) self.assertEqual([x.split(os.sep)[-2:] for x in env.loader.searchpath][1], ['pyramid_jinja2', 'tests']) config.add_jinja2_search_path('grrr', prepend=True) self.assertEqual(len(env.loader.searchpath), 3) self.assertEqual([x.split(os.sep)[-3:] for x in env.loader.searchpath][0], ['pyramid_jinja2', 'tests', 'grrr']) self.assertEqual([x.split(os.sep)[-3:] for x in env.loader.searchpath][1], ['pyramid_jinja2', 'tests', 'foobar']) self.assertEqual([x.split(os.sep)[-2:] for x in env.loader.searchpath][2], ['pyramid_jinja2', 'tests'])
def test_it(self): from pyramid.config import Configurator from pyramid_jinja2 import includeme from webtest import TestApp import os here = os.path.abspath(os.path.dirname(__file__)) templates_dir = os.path.join(here, 'templates') def myview(request): return {} config1 = Configurator( settings={ 'jinja2.directories': os.path.join(templates_dir, 'foo') }) includeme(config1) config1.add_view(view=myview, renderer='mytemplate.jinja2') config2 = Configurator( settings={ 'jinja2.directories': os.path.join(templates_dir, 'bar') }) includeme(config2) config2.add_view(view=myview, renderer='mytemplate.jinja2') self.assertNotEqual(config1.registry.settings, config2.registry.settings) app1 = config1.make_wsgi_app() testapp = TestApp(app1) self.assertEqual(testapp.get('/').body, bytes_('foo')) app2 = config2.make_wsgi_app() testapp = TestApp(app2) self.assertEqual(testapp.get('/').body, bytes_('bar'))
def test_it(self): from pyramid.config import Configurator from pyramid_jinja2 import includeme from webtest import TestApp import os here = os.path.abspath(os.path.dirname(__file__)) templates_dir = os.path.join(here, 'templates') def myview(request): return {} config1 = Configurator(settings={ 'jinja2.directories': os.path.join(templates_dir, 'foo')}) includeme(config1) config1.add_view(view=myview, renderer='mytemplate.jinja2') config2 = Configurator(settings={ 'jinja2.directories': os.path.join(templates_dir, 'bar')}) includeme(config2) config2.add_view(view=myview, renderer='mytemplate.jinja2') self.assertNotEqual(config1.registry.settings, config2.registry.settings) app1 = config1.make_wsgi_app() testapp = TestApp(app1) self.assertEqual(testapp.get('/').body, bytes_('foo')) app2 = config2.make_wsgi_app() testapp = TestApp(app2) self.assertEqual(testapp.get('/').body, bytes_('bar'))
def test_it(self): from jinja2.environment import Environment from pyramid_jinja2 import includeme config = testing.setUp() includeme(config) self.assertEqual(config.get_jinja2_environment().__class__, Environment)
def test_it(self): from pyramid.interfaces import IRendererFactory from pyramid_jinja2 import includeme from pyramid_jinja2 import renderer_factory config = testing.setUp() includeme(config) utility = config.registry.getUtility(IRendererFactory, name='.jinja2') self.assertEqual(utility, renderer_factory)
def test_directory(self): from pyramid_jinja2 import includeme config = testing.setUp() config.registry.settings[ 'jinja2.bytecode_caching_directory'] = '/foobar' includeme(config) env = config.get_jinja2_environment() self.assertEqual(env.bytecode_cache.directory, text_('/foobar'))
def test_default(self): from pyramid_jinja2 import includeme config = testing.setUp() config.registry.settings = {} includeme(config) env = config.get_jinja2_environment() self.assertTrue(env.bytecode_cache is None) self.assertFalse(env.auto_reload)
def test_pyramid_reload_templates(self): from pyramid_jinja2 import includeme config = testing.setUp() config.registry.settings = {} config.registry.settings['pyramid.reload_templates'] = 'true' includeme(config) env = config.get_jinja2_environment() self.assertTrue(env.auto_reload)
def test_it(self): from pyramid.interfaces import IRendererFactory from pyramid_jinja2 import includeme from pyramid_jinja2 import Jinja2RendererFactory config = testing.setUp() config.registry.settings['jinja2.directories'] = '/foobar' includeme(config) utility = config.registry.getUtility(IRendererFactory, name='.jinja2') self.assertTrue(isinstance(utility, Jinja2RendererFactory))
def test_directory(self): import tempfile from pyramid_jinja2 import includeme tmpdir = tempfile.mkdtemp() config = testing.setUp() config.registry.settings['jinja2.bytecode_caching_directory'] = tmpdir includeme(config) env = config.get_jinja2_environment() self.assertEqual(env.bytecode_cache.directory, tmpdir)
def test_default(self): from pyramid_jinja2 import includeme import jinja2.bccache config = testing.setUp() includeme(config) env = config.get_jinja2_environment() self.assertTrue(isinstance(env.bytecode_cache, jinja2.bccache.FileSystemBytecodeCache)) self.assertTrue(env.bytecode_cache.directory)
def test_it(self): from pyramid.interfaces import IRendererFactory from pyramid_jinja2 import includeme from pyramid_jinja2 import renderer_factory config = testing.setUp() config.registry.settings['jinja2.directories'] = '/foobar' includeme(config) utility = config.registry.getUtility(IRendererFactory, name='.jinja2') self.assertEqual(utility, renderer_factory)
def test_bccache_instance(self): from pyramid_jinja2 import includeme import jinja2.bccache mycache = jinja2.bccache.MemcachedBytecodeCache(DummyMemcachedClient()) config = testing.setUp() config.registry.settings = {'jinja2.bytecode_caching': mycache} includeme(config) env = config.get_jinja2_environment() self.assertTrue(env.bytecode_cache is mycache) self.assertFalse(env.auto_reload)
def test_default(self): from pyramid_jinja2 import includeme import jinja2.bccache config = testing.setUp() includeme(config) env = config.get_jinja2_environment() self.assertTrue( isinstance(env.bytecode_cache, jinja2.bccache.FileSystemBytecodeCache)) self.assertTrue(env.bytecode_cache.directory)
def test_default_bccache(self): from pyramid_jinja2 import includeme import jinja2.bccache config = testing.setUp() config.registry.settings = {'jinja2.bytecode_caching': 'true'} includeme(config) env = config.get_jinja2_environment() self.assertTrue(isinstance(env.bytecode_cache, jinja2.bccache.FileSystemBytecodeCache)) self.assertTrue(env.bytecode_cache.directory) self.assertFalse(env.auto_reload)
def setUp(self): from pyramid_jinja2 import includeme import jinja2.bccache config = testing.setUp() config.registry.settings = {} includeme(config) self.environment = config.get_jinja2_environment() from pyramid_jinja2.filters import route_url_filter self.environment.filters['route_url'] = route_url_filter from pyramid.config import Configurator self.config = Configurator(autocommit=True)
def test_it(self): from pyramid_jinja2 import includeme from pyramid_jinja2 import IJinja2Environment import os config = testing.setUp() config.registry.settings['jinja2.directories'] = 'foobar' includeme(config) utility = config.registry.getUtility(IJinja2Environment) self.assertEqual([x.split(os.sep)[-1] for x in utility.loader.searchpath], ['foobar']) config.add_jinja2_search_path('grrr') self.assertEqual([x.split(os.sep)[-1] for x in utility.loader.searchpath], ['foobar', 'grrr'])
def test_it(self): import pyramid_jinja2.tests from pyramid_jinja2 import includeme import os config = testing.setUp() config.package = pyramid_jinja2.tests config.registry.settings['jinja2.directories'] = 'foobar' includeme(config) env = config.get_jinja2_environment() self.assertEqual( [x.split(os.sep)[-3:] for x in env.loader.searchpath], [['pyramid_jinja2', 'tests', 'foobar']]) config.add_jinja2_search_path('grrr') self.assertEqual( [x.split(os.sep)[-3:] for x in env.loader.searchpath], [['pyramid_jinja2', 'tests', 'foobar'], ['pyramid_jinja2', 'tests', 'grrr']])
def test_it_relative_to_template(self): from pyramid.config import Configurator from pyramid_jinja2 import includeme from webtest import TestApp def myview(request): return {} config = Configurator(settings={'jinja2.directories': 'templates'}) includeme(config) config.add_view(view=myview, name='baz1', renderer='baz1/mytemplate.jinja2') config.add_view(view=myview, name='baz2', renderer='baz2/mytemplate.jinja2') app1 = config.make_wsgi_app() testapp = TestApp(app1) self.assertEqual(testapp.get('/baz1').body, bytes_('baz1\nbaz1 body')) self.assertEqual(testapp.get('/baz2').body, bytes_('baz2\nbaz2 body'))
def test_it_relative(self): from pyramid.config import Configurator from pyramid_jinja2 import includeme from webtest import TestApp def myview(request): return {} config = Configurator(settings={'jinja2.directories': 'templates'}) includeme(config) config.add_view(view=myview, name='baz1', renderer='baz1/mytemplate.jinja2') config.add_view(view=myview, name='baz2', renderer='baz2/mytemplate.jinja2') app1 = config.make_wsgi_app() testapp = TestApp(app1) self.assertEqual(testapp.get('/baz1').body, bytes_('baz1\nbaz1 body')) self.assertEqual(testapp.get('/baz2').body, bytes_('baz2\nbaz2 body'))
def test_it(self): from pyramid.config import Configurator from pyramid_jinja2 import includeme from webtest import TestApp import os here = os.path.abspath(os.path.dirname(__file__)) templates_dir = os.path.join(here, 'templates') def myview(request): return {'what': 'eels'} config = Configurator(settings={ 'jinja2.directories': templates_dir, 'jinja2.newstyle': True}) includeme(config) config.add_view(view=myview, renderer='newstyle.jinja2') app = config.make_wsgi_app() testapp = TestApp(app) self.assertEqual(testapp.get('/').body.decode('utf-8'), text_('my hovercraft is full of eels!'))