Ejemplo n.º 1
0
def test_list():
    check_parse(
        'foo [:k1 v1 1 (foo 2)]',
        List([
            Tuple([
                Symbol('foo'),
                List([
                    Keyword('k1'),
                    Symbol('v1'),
                    Number(1),
                    Tuple([Symbol('foo'), Number(2)])
                ])
            ]),
        ]),
    )
Ejemplo n.º 2
0
def test_indent():
    check_parse(
        """
        foo
          "bar"
        """,
        List([
            Tuple([Symbol('foo'), String('bar')]),
        ]),
    )
    check_parse(
        """
        foo
          "bar"
          5
          "baz"
        """,
        List([
            Tuple([
                Symbol('foo'),
                Tuple([
                    Symbol('join'),
                    List([String('bar'),
                          Number(5), String('baz')])
                ])
            ]),
        ]),
    )
Ejemplo n.º 3
0
def test_implicit_tuple():
    check_parse(
        'foo :bar 5 "baz"',
        List([
            Tuple([Symbol('foo'),
                   Keyword('bar'),
                   Number(5),
                   String('baz')]),
        ]),
    )
Ejemplo n.º 4
0
def test_explicit_tuple():
    check_parse(
        'foo (bar 5) "baz"',
        List([
            Tuple([
                Symbol('foo'),
                Tuple([Symbol('bar'), Number(5)]),
                String('baz')
            ]),
        ]),
    )
Ejemplo n.º 5
0
def test_nested_indent():
    check_parse(
        """
        foo
          bar
            1
          baz
            2
        """,
        List([
            Tuple([
                Symbol('foo'),
                Tuple([
                    Symbol('join'),
                    List([
                        Tuple([Symbol('bar'), Number(1)]),
                        Tuple([Symbol('baz'), Number(2)])
                    ])
                ])
            ]),
        ]),
    )
Ejemplo n.º 6
0
def test_dict():
    check_parse(
        'foo {:k1 v1 :k2 (v2 3)}',
        List([
            Tuple([
                Symbol('foo'),
                Dict([
                    Keyword('k1'),
                    Symbol('v1'),
                    Keyword('k2'),
                    Tuple([Symbol('v2'), Number(3)])
                ])
            ]),
        ]),
    )