def test_globals(): gg = {'who': 'E.T.', 'action': 'phone', 'where': 'home'} render = Render(globals=gg) tmpl = '{{ who }} {{ action }} {{ where }}' resp = render.from_string(tmpl, to_string=True) assert resp == 'E.T. phone home'
def test_tests(): def gt_3(val): return val > 3 tt = {'gt_3': gt_3} render = Render(tests=tt) tmpl = '{% if 6 is gt_3 %}ok{% endif %}{% if 1 is gt_3 %} FAIL{% endif %}' resp = render.from_string(tmpl) assert resp == 'ok'
def test_from_string(): render = Render() resp = render.from_string( 'Testing, {{ a }} {{ b }} {{ c }}...', {'a': 1, 'b': '2', 'c': '3'}, to_string=True ) assert resp == 'Testing, 1 2 3...'
def test_filters(): def double(val): return val * 2 def cut(text): return text[:3] ff = {'double': double, 'cut': cut} render = Render(filters=ff) tmpl = '{{ 45|double }} {{ "abcytfugj"|cut }}' resp = render.from_string(tmpl) assert resp == '90 abc'
def test_set_get_tests(): def gt_3(val): return val > 3 render = Render() render.set_test('gt_3', gt_3) tmpl = '{% if 6 is gt_3 %}ok{% endif %}{% if 1 is gt_3 %} FAIL{% endif %}' resp = render.from_string(tmpl) assert resp == 'ok' assert render.get_test('gt_3') == gt_3
def test_set_get_globals(): gg = {'who': 'E.T.', 'action': 'phone', 'where': 'home'} render = Render() render.set_global('who', 'E.T.') render.set_global('action', 'phone') render.set_global('where', 'home') tmpl = '{{ who }} {{ action }} {{ where }}' resp = render.from_string(tmpl) assert resp == 'E.T. phone home' assert render.get_global('who') == 'E.T.' assert render.get_global('action') == 'phone' assert render.get_global('where') == 'home'
def test_set_get_filters(): def double(val): return val * 2 def cut(text): return text[:3] render = Render() render.set_filter('double', double) render.set_filter('cut', cut) tmpl = '{{ 45|double }} {{ "abcytfugj"|cut }}' resp = render.from_string(tmpl) assert resp == '90 abc' assert render.get_filter('double') == double assert render.get_filter('cut') == cut
def test_default_tests(): render = Render() tmpl = '{% if value is ellipsis %}ok{% endif %}' resp = render.from_string(tmpl, value=Ellipsis) assert resp == 'ok'
def test_default_globals_now(): render = Render() tmpl = '{{ now }}' snow = str(datetime.utcnow())[:-10] assert render.from_string(tmpl).startswith(snow)
def test_from_to_string(): render = Render() tmpl = 'Testing, {{ a }} {{ b }} {{ c }}...' resp = render.from_string(tmpl, a=1, b='2', c='3') assert resp == 'Testing, 1 2 3...'