Beispiel #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'))
Beispiel #2
0
 def test_caller_relative_tmpl_extends_relbase(self):
     from pyramid.renderers import render
     # this should pass as it will fallback to the new search path
     # and find it from there
     self.config.add_jinja2_search_path('pyramid_jinja2.tests:')
     result = render('templates/extends_relbase.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #3
0
 def test_relative_tmpl_extends_relbase(self):
     from pyramid.renderers import render
     # this should pass as it will fallback to the new search path
     # and find it from there
     self.config.add_jinja2_search_path('pyramid_jinja2.tests:')
     result = render('extends_relbase.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #4
0
 def test_abs_tmpl_extends(self):
     import os.path
     from pyramid.renderers import render
     here = os.path.abspath(os.path.dirname(__file__))
     result = render(os.path.join(here, 'templates', 'extends.jinja2'),
                     {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #5
0
 def test_recursive_tmpl(self):
     from pyramid.renderers import render
     self.config.add_jinja2_renderer('.html')
     self.config.add_jinja2_search_path(
         'pyramid_jinja2.tests:templates/recursive', name='.html')
     result = render('admin/index.html', {})
     self.assertEqual(result, text_('foo'))
Beispiel #6
0
 def test_recursive_tmpl(self):
     from pyramid.renderers import render
     self.config.add_jinja2_renderer('.html')
     self.config.add_jinja2_search_path(
         'pyramid_jinja2.tests:templates/recursive', name='.html')
     result = render('admin/index.html', {})
     self.assertEqual(result, text_('foo'))
Beispiel #7
0
 def test_abs_tmpl_extends(self):
     import os.path
     from pyramid.renderers import render
     here = os.path.abspath(os.path.dirname(__file__))
     result = render(os.path.join(here, 'templates', 'extends.jinja2'),
                     {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #8
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'))
Beispiel #9
0
 def test_filter_and_test_works_in_render(self):
     import pyramid_jinja2
     from pyramid.renderers import render
     config = testing.setUp()
     config.add_settings({
         'jinja2.directories': 'pyramid_jinja2.tests:templates',
         'jinja2.tests': 'my_test = pyramid_jinja2.tests.test_it.my_test_func',
         'jinja2.filters': 'my_filter = pyramid_jinja2.tests.test_it.my_test_func'
     })
     config.add_renderer('.jinja2', pyramid_jinja2.renderer_factory)
     result = render('tests_and_filters.jinja2', {})
     #my_test_func returs "True" - it will be render as True when usign
     # as filter and will pass in tests
     self.assertEqual(result, text_('True is not False', 'utf-8'))
     testing.tearDown()
Beispiel #10
0
 def test_filter_and_test_and_global_works_in_render(self):
     from pyramid.renderers import render
     config = testing.setUp()
     config.include('pyramid_jinja2')
     config.add_settings({
         'jinja2.directories': 'pyramid_jinja2.tests:templates',
         'jinja2.tests': 'my_test = pyramid_jinja2.tests.test_it.my_test_func',
         'jinja2.filters': 'my_filter = pyramid_jinja2.tests.test_it.my_test_func',
         'jinja2.globals': 'my_global = pyramid_jinja2.tests.test_it.my_test_func'
     })
     config.add_jinja2_renderer('.jinja2')
     result = render('tests_and_filters.jinja2', {})
     #my_test_func returs "True" - it will be render as True when usign
     # as filter and will pass in tests
     self.assertEqual(result, text_('True is not False True', 'utf-8'))
     testing.tearDown()
Beispiel #11
0
    def test_delay_init(self):
        from pyramid_jinja2 import FileInfo

        class MyFileInfo(FileInfo):
            filename = 'foo.jinja2'

            def __init__(self, data):
                self.data = data
                FileInfo.__init__(self, self.filename)

            def open_if_exists(self, fname):
                return StringIO(self.data)

            def getmtime(self, fname):
                return 1

        mi = MyFileInfo(text_('nothing good here, move along'))
        mi._delay_init()
        self.assertEqual(mi._contents, mi.data)
Beispiel #12
0
    def test_delay_init(self):
        from pyramid_jinja2 import FileInfo

        class MyFileInfo(FileInfo):
            filename = 'foo.jinja2'

            def __init__(self, data):
                self.data = data
                FileInfo.__init__(self, self.filename)

            def open_if_exists(self, fname):
                return StringIO(self.data)

            def getmtime(self, fname):
                return 1

        mi = MyFileInfo(text_('nothing good here, move along'))
        mi._delay_init()
        self.assertEqual(mi._contents, mi.data)
Beispiel #13
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!'))
Beispiel #14
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!'))
Beispiel #15
0
    def test_delay_init(self):
        from pyramid_jinja2 import FileInfo, TemplateRenderingError

        class MyFileInfo(FileInfo):
            filename = 'foo.jinja2'

            def __init__(self, data):
                self.data = data
                FileInfo.__init__(self, self.filename)

            def open_if_exists(self, fname):
                return StringIO(self.data)

            def getmtime(self, fname):
                return 1

        mi = MyFileInfo(text_('nothing good here, move along'))
        mi._delay_init()
        self.assertEqual(mi._contents, mi.data)

        if not PY3:

            mi = MyFileInfo(bytes_('nothing good her\xe9, move along'))
            self.assertRaises(TemplateRenderingError, mi._delay_init)
Beispiel #16
0
    def test_delay_init(self):
        from pyramid_jinja2 import FileInfo, TemplateRenderingError

        class MyFileInfo(FileInfo):
            filename = 'foo.jinja2'

            def __init__(self, data):
                self.data = data
                FileInfo.__init__(self, self.filename)

            def open_if_exists(self, fname):
                return StringIO(self.data)

            def getmtime(self, fname):
                return 1

        mi = MyFileInfo(text_('nothing good here, move along'))
        mi._delay_init()
        self.assertEqual(mi._contents, mi.data)

        if not PY3:

            mi = MyFileInfo(bytes_('nothing good her\xe9, move along'))
            self.assertRaises(TemplateRenderingError, mi._delay_init)
 def render(self, values):
     self.values = values
     return text_('result')
Beispiel #18
0
 def test_relative_tmpl_extends(self):
     from pyramid.renderers import render
     result = render('templates/extends.jinja2', {})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #19
0
 def test_render(self):
     from pyramid.renderers import render
     result = render('helloworld.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello föö', 'utf-8'))
Beispiel #20
0
 def test_render_relative_to_package(self):
     from pyramid.renderers import render
     result = render('templates/helloworld.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello föö', 'utf-8'))
Beispiel #21
0
 def test_relative_tmpl_extends(self):
     from pyramid.renderers import render
     result = render('templates/extends.jinja2', {})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #22
0
 def test_asset_tmpl_deep_leaf(self):
     from pyramid.renderers import render
     result = render('pyramid_jinja2.tests:templates/deep/leaf.jinja2', {})
     self.assertEqual(
         result,
         text_('sub-nav\n\ndeep-formsdeep-base deep-leaf', 'utf-8'))
Beispiel #23
0
 def test_render(self):
     from pyramid.renderers import render
     result = render('helloworld.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello föö', 'utf-8'))
Beispiel #24
0
 def test_render_relative_to_package(self):
     from pyramid.renderers import render
     result = render('templates/helloworld.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello föö', 'utf-8'))
Beispiel #25
0
 def test_asset_tmpl_extends(self):
     from pyramid.renderers import render
     result = render('pyramid_jinja2.tests:templates/extends.jinja2',
                     {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #26
0
 def test_tmpl_extends_abs(self):
     from pyramid.renderers import render
     result = render('extends_abs.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #27
0
 def test_tmpl_extends_spec(self):
     from pyramid.renderers import render
     result = render('extends_spec.jinja2', {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #28
0
 def test_asset_tmpl_extends(self):
     from pyramid.renderers import render
     result = render('pyramid_jinja2.tests:templates/extends.jinja2',
                     {'a': 1})
     self.assertEqual(result, text_('\nHello fööYo!', 'utf-8'))
Beispiel #29
0
 def test_asset_tmpl_deep_leaf(self):
     from pyramid.renderers import render
     result = render('pyramid_jinja2.tests:templates/deep/leaf.jinja2', {})
     self.assertEqual(
         result, text_('sub-nav\n\ndeep-formsdeep-base deep-leaf', 'utf-8'))