Example #1
0
    def setUp(self) -> None:
        def runtime_engine_factory(loader: Loader) -> Engine:
            engine = Engine(
                loader=loader,
                extensions=[
                    CoreExtension(),
                ],
            )
            return engine

        self.templates: typing.Dict[str, str] = {}
        engine = Engine(
            loader=DictLoader(templates=self.templates),
            extensions=[
                CoreExtension("#", line_join=""),
            ],
        )
        self.engine = Preprocessor(
            runtime_engine_factory, engine, key_factory=lambda ctx: ""
        )
    def setUp(self):
        from wheezy.template.engine import Engine
        from wheezy.template.preprocessor import Preprocessor
        from wheezy.template.loader import DictLoader
        from wheezy.template.ext.core import CoreExtension

        def runtime_engine_factory(loader):
            engine = Engine(loader=loader, extensions=[
                CoreExtension(),
            ])
            return engine

        self.templates = {}
        engine = Engine(loader=DictLoader(templates=self.templates),
                        extensions=[
                            CoreExtension('#', line_join=None),
                        ])
        self.engine = Preprocessor(runtime_engine_factory,
                                   engine,
                                   key_factory=lambda ctx: '')
    def setUp(self):
        from wheezy.template.engine import Engine
        from wheezy.template.preprocessor import Preprocessor
        from wheezy.template.loader import DictLoader
        from wheezy.template.ext.core import CoreExtension

        def runtime_engine_factory(loader):
            engine = Engine(
                loader=loader,
                extensions=[
                    CoreExtension(),
                ])
            return engine

        self.templates = {}
        engine = Engine(
            loader=DictLoader(templates=self.templates),
            extensions=[
                CoreExtension('#', line_join=None),
            ])
        self.engine = Preprocessor(runtime_engine_factory, engine,
                                   key_factory=lambda ctx: '')
Example #4
0
class PreprocessorTestCase(unittest.TestCase):
    """Test the ``Preprocessor``."""

    def setUp(self) -> None:
        def runtime_engine_factory(loader: Loader) -> Engine:
            engine = Engine(
                loader=loader,
                extensions=[
                    CoreExtension(),
                ],
            )
            return engine

        self.templates: typing.Dict[str, str] = {}
        engine = Engine(
            loader=DictLoader(templates=self.templates),
            extensions=[
                CoreExtension("#", line_join=""),
            ],
        )
        self.engine = Preprocessor(
            runtime_engine_factory, engine, key_factory=lambda ctx: ""
        )

    def render(self, name: str, ctx: typing.Mapping[str, typing.Any]) -> str:
        template = self.engine.get_template(name)
        return template.render(ctx)

    def test_render(self) -> None:
        self.templates[
            "test.html"
        ] = """\
#require(_)
@require(username)
#_('Welcome,') @username!"""

        assert "Welcome, John!" == self.render(
            "test.html", ctx={"_": lambda x: x, "username": "******"}
        )

    def test_extends(self) -> None:
        self.templates.update(
            {
                "master.html": """\
#require(_)
@def say_hi(name):
    #_('Hello,') @name!
@end
@say_hi('John')""",
                "tmpl.html": """\
#require(_)
@extends('master.html')
@def say_hi(name):
    #_('Hi,') @name!
@end
""",
            }
        )

        assert "    Hi, John!\n" == self.render(
            "tmpl.html",
            ctx={
                "_": lambda x: x,
            },
        )

    def test_remove(self) -> None:
        self.templates["test.html"] = "Hello"
        assert "Hello" == self.render("test.html", {})
        self.engine.remove("x")
class PreprocessorTestCase(unittest.TestCase):
    """ Test the ``Preprocessor``.
    """
    def setUp(self):
        from wheezy.template.engine import Engine
        from wheezy.template.preprocessor import Preprocessor
        from wheezy.template.loader import DictLoader
        from wheezy.template.ext.core import CoreExtension

        def runtime_engine_factory(loader):
            engine = Engine(loader=loader, extensions=[
                CoreExtension(),
            ])
            return engine

        self.templates = {}
        engine = Engine(loader=DictLoader(templates=self.templates),
                        extensions=[
                            CoreExtension('#', line_join=None),
                        ])
        self.engine = Preprocessor(runtime_engine_factory,
                                   engine,
                                   key_factory=lambda ctx: '')

    def render(self, name, ctx):
        template = self.engine.get_template(name)
        return template.render(ctx)

    def test_render(self):
        self.templates['test.html'] = """\
#require(_)
@require(username)
#_('Welcome,') @username!"""

        assert 'Welcome, John!' == self.render('test.html',
                                               ctx={
                                                   '_': lambda x: x,
                                                   'username': '******'
                                               })

    def test_extends(self):
        self.templates.update({
            'master.html':
            """\
#require(_)
@def say_hi(name):
    #_('Hello,') @name!
@end
@say_hi('John')""",
            'tmpl.html':
            """\
#require(_)
@extends('master.html')
@def say_hi(name):
    #_('Hi,') @name!
@end
"""
        })

        assert '    Hi, John!\n' == self.render('tmpl.html',
                                                ctx={
                                                    '_': lambda x: x,
                                                })

    def test_remove(self):
        self.templates['test.html'] = 'Hello'
        assert 'Hello' == self.render('test.html', {})
        self.engine.remove('x')
class PreprocessorTestCase(unittest.TestCase):
    """ Test the ``Preprocessor``.
    """

    def setUp(self):
        from wheezy.template.engine import Engine
        from wheezy.template.preprocessor import Preprocessor
        from wheezy.template.loader import DictLoader
        from wheezy.template.ext.core import CoreExtension

        def runtime_engine_factory(loader):
            engine = Engine(
                loader=loader,
                extensions=[
                    CoreExtension(),
                ])
            return engine

        self.templates = {}
        engine = Engine(
            loader=DictLoader(templates=self.templates),
            extensions=[
                CoreExtension('#', line_join=None),
            ])
        self.engine = Preprocessor(runtime_engine_factory, engine,
                                   key_factory=lambda ctx: '')

    def render(self, name, ctx):
        template = self.engine.get_template(name)
        return template.render(ctx)

    def test_render(self):
        self.templates['test.html'] = """\
#require(_)
@require(username)
#_('Welcome,') @username!"""

        assert 'Welcome, John!' == self.render('test.html', ctx={
            '_': lambda x: x,
            'username': '******'
        })

    def test_extends(self):
        self.templates.update({
            'master.html': """\
#require(_)
@def say_hi(name):
    #_('Hello,') @name!
@end
@say_hi('John')""",

            'tmpl.html': """\
#require(_)
@extends('master.html')
@def say_hi(name):
    #_('Hi,') @name!
@end
"""
        })

        assert '    Hi, John!\n' == self.render('tmpl.html', ctx={
            '_': lambda x: x,
        })

    def test_remove(self):
        self.templates['test.html'] = 'Hello'
        assert 'Hello' == self.render('test.html', {})
        self.engine.remove('x')