Пример #1
0
def test_as_html():
    # str case
    assert format_html('{}', as_html(part='foo', context={})) == 'foo'
    assert format_html('{}',
                       as_html(part='<foo>bar</foo>',
                               context={})) == '&lt;foo&gt;bar&lt;/foo&gt;'
    assert format_html('{}',
                       as_html(part=mark_safe('<foo>bar</foo>'),
                               context={})) == '<foo>bar</foo>'

    # Template case
    request = req('get')
    assert format_html(
        '{}', as_html(request=request, part=Template('foo'),
                      context={})) == 'foo'
    assert format_html(
        '{}',
        as_html(request=request, part=Template('<foo>bar</foo>'),
                context={})) == '<foo>bar</foo>'

    # __html__ attribute case
    assert format_html(
        '{}', as_html(part=Struct(__html__=lambda: 'foo'),
                      context={})) == 'foo'
    assert format_html(
        '{}',
        as_html(part=Struct(__html__=lambda: '<foo>bar</foo>'),
                context={})) == '&lt;foo&gt;bar&lt;/foo&gt;'
    assert format_html(
        '{}',
        as_html(part=Struct(__html__=lambda: mark_safe('<foo>bar</foo>')),
                context={})) == '<foo>bar</foo>'
Пример #2
0
def test_render_to_string():
    t = Template(
        '<span id="{{ field.input.attrs.id }}">{{ field.rendered_value }}</span>'
    )
    assert t.render(context=RequestContext(
        req('get'),
        dict(field=dict(
            input=dict(attrs=dict(id=SafeText('<a b c><d><e>'), ), ),
            rendered_value=SafeText('<a b c><d><e>'),
        ), ))).strip() == '<span id="<a b c><d><e>"><a b c><d><e></span>'
Пример #3
0
def test_simple_render_to_string():
    t = Template('{{ field }}')
    assert t.render(
        context=RequestContext(
            req('get'),
            dict(
                field='foo'
            )
        )
    ).strip() == 'foo'
Пример #4
0
def test_crash_in_templates():
    # We should crash in template rendering during tests if we try to render non-existent stuff
    with pytest.raises(AssertionError) as e:
        Template('{{ foo }}').render(context=RequestContext(req('get')))

    assert str(e.value) == 'Tried to render non-existent variable foo'

    # ...but inside if it's fine
    assert Template('{% if foo %}foo{% endif %}').render(
        context=RequestContext(req('get'))) == ''
Пример #5
0
def test_format_html4():
    form = Form(fields=dict(foo=Field()))
    form.bind(request=req('get'))
    actual = render_template(req('get'), Template('{{form}}'),
                             dict(form=form, ))
    print(actual)
    assert '<input id="id_foo" name="foo" type="text" value="">' in actual
Пример #6
0
 class Meta:
     template = Template("""
         <style>
             .full-path {
                 opacity: 0.0;
             }
             tr:hover .full-path {
                 opacity: 0.6;
             }
             
             tr {
                 opacity: 0.4;
             }
             tr.included {
                 opacity: 1;
             }
             
         </style>
         
         {% include "iommi/table/table.html" %}            
     """)
     sortable = False
     row__attrs__class__included = (lambda row, **_: row.included)
     page_size = None
Пример #7
0
def test_errors_rendering_template():
    form = Form(errors__template=Template('foo')).bind(request=req('get'))
    form.add_error('foo')
    form.add_error('bar')
    assert form.errors
    assert form.errors.__html__() == 'foo'
Пример #8
0
    class MyPage(Page):
        part1 = Template('Template: {{foo}}\n')
        part2 = html.div(template=Template('Template2: {{foo}}'))

        class Meta:
            context__foo = 'foo'
Пример #9
0
def test_render_template():
    actual = render_template(req('get'), Template('{{foo}}'), dict(foo=1))
    print(actual)
    assert type(actual) == SafeText
Пример #10
0
def test_format_html3():
    assert render_template(
        req('get'), Template('{{foo}}'),
        dict(foo=format_html('{}', format_html(
            '<a href="foo">foo</a>')))) == '<a href="foo">foo</a>'
Пример #11
0
def test_template():
    menu = Menu(
        template=Template('{{ menu.sub_menu.foo.display_name }}'),
        sub_menu=dict(foo=MenuItem())
    ).bind(request=req('get'))
    assert menu.__html__() == 'Foo'
Пример #12
0
def test_template():
    assert Action(template=Template('{{action.group}}'), group='foo').bind(request=None).__html__() == 'foo'
Пример #13
0
def test_errors_rendering_template():
    errors = Errors(parent=None, errors={'foo', 'bar'}, template=Template('foo'))
    assert errors
    assert errors.__html__() == 'foo'