コード例 #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 render_text_or_children(self, context):
     request = self.get_request()
     return format_html(
         '{}' * len(self.children), *[
             as_html(part=x, context=context, request=request)
             for x in values(self.children)
         ])
コード例 #3
0
    def __html__(self, *, render=None):
        self.context = evaluate_strict_container(
            self.context or {}, **self.iommi_evaluate_parameters())
        request = self.get_request()
        rendered = {
            'h_tag':
            as_html(request=request,
                    part=self.h_tag,
                    context=self.iommi_evaluate_parameters())
        }
        rendered.update({
            name: as_html(request=request,
                          part=part,
                          context=self.iommi_evaluate_parameters())
            for name, part in items(self.parts)
        })

        return render(rendered)
コード例 #4
0
ファイル: page__tests.py プロジェクト: tltx/iommi
def test_as_html_integer():
    assert as_html(part=123, context={}) == '123'
コード例 #5
0
ファイル: fragment.py プロジェクト: forksbot/iommi
 def render_text_or_children(self, context):
     assert not isinstance(context, RequestContext)
     return format_html(
         '{}' * len(self.children),
         *[as_html(part=x, context=context) for x in values(self.children)])