Example #1
0
 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'))
Example #2
0
    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']])
Example #3
0
    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'])
Example #4
0
    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'))
Example #5
0
    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'))
Example #6
0
 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)
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
 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'))
Example #10
0
 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)
Example #11
0
 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)
Example #12
0
 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)
Example #13
0
 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)
Example #14
0
 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))
Example #15
0
 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)
Example #16
0
 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)
Example #17
0
 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)
Example #18
0
 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)
Example #19
0
 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)
Example #20
0
 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)
Example #21
0
 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)
Example #22
0
 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)
Example #23
0
 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)
Example #24
0
 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)
Example #25
0
 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)
Example #26
0
 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'])
Example #27
0
 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'])
Example #28
0
    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']])
Example #29
0
    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'))
Example #30
0
    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'))
Example #31
0
    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!'))
Example #32
0
    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!'))