Esempio n. 1
0
def test_section_clean():
    assert misai.render(' | {{#if 1}}\t|\t{{#end}} | \n') == ' | \t|\t | \n'
    assert misai.render(
        ' | {{#if 1}} {{ "" }}\n {{#end}} | \n') == ' |  \n  | \n'
    assert misai.render(
        ' {{#if 1}}YES{{#end}}\n {{#if 1}}GOOD{{#end}}\n') == ' YES\n GOOD\n'
    assert misai.render(
        dedent('''\
        |
        | This Is
        {{#if 1}}
        |
        {{#end}}
        | A Line''')) == dedent('''\
        |
        | This Is
        |
        | A Line''')

    assert misai.render(
        dedent('''\
        |
        | This Is
            {{#if 1}}
        |
           {{#end}}  \t
        | A Line''')) == dedent('''\
        |
        | This Is
        |
        | A Line''')
    assert misai.render('|\r\n{{#if 1}}\r\n{{#end}}\r\n|') == '|\r\n|'
    assert misai.render('  {{#if 1}}\n#{{#end}}\n/') == '#\n/'
    assert misai.render('#{{#if 1}}\n/\n  {{#end}}') == '#\n/\n'
    assert misai.render('|{{#if 1}}={{#end}}|') == '|=|'

    assert misai.render(' \t{{ foo }}\t ', {'foo': 'bar'}) == ' \tbar\t '
Esempio n. 2
0
def test_groups():
    assert render('{{ 0 and  1 or 2  and 3 }}') == '3'
    assert render('{{ 0 and (1 or 2) and 3 }}') == '0'
Esempio n. 3
0
def test_precedence():
    assert render('{{ foo.bar | capitalize }}', {'foo': {
        'bar': 'baz'
    }}) == 'Baz'
Esempio n. 4
0
def test_attr():
    assert render('{{ foo.bar }}', {'foo': {'bar': 'baz'}}) == 'baz'
    assert render('{{ foo.bar.baz }}', {'foo': {'bar': {'baz': 1}}}) == '1'

    assert render('{{ foo["bar"] }}', {'foo': {'bar': 'baz'}}) == 'baz'
    assert render('{{ foo["bar"][1] }}', {'foo': {'bar': [1, 2, 3]}}) == '2'
Esempio n. 5
0
def test_filter_params():
    assert render('{{ 1 | concat: "2", "3" }}') == '123'
    assert render('{{ 100000 | add: 500 }}') == '100500'
Esempio n. 6
0
def test_pipe():
    assert render('{{ " foo " | strip | capitalize }}') == 'Foo'
Esempio n. 7
0
def test_simple():
    assert render('{{ foo }}', {'foo': 'bar'}) == 'bar'
    assert render('{{ "foo" }}', {'foo': 'bar'}) == 'foo'
    assert render('{{ 1.2 }}', {'foo': 'bar'}) == '1.2'
    assert render('{{ 100 }}', {'foo': 'bar'}) == '100'