Package seph.lang.ast

Examples of seph.lang.ast.Message.arguments()


    @Test
    public void parses_square_brackets_correctly_inside_a_function_application() {
        Message result = parse("foo([bar, quux])");
        assertEquals("foo", result.name());
        assertEquals("[]", ((Message)result.arguments().seq().first()).name());
        assertEquals("bar", ((Message)((Message)result.arguments().seq().first()).arguments().seq().first()).name());
        assertEquals("quux", ((Message)((Message)result.arguments().seq().first()).arguments().seq().more().first()).name());
        assertNull(result.next());
    }
View Full Code Here


    @Test
    public void parses_square_brackets_correctly_inside_a_function_application() {
        Message result = parse("foo([bar, quux])");
        assertEquals("foo", result.name());
        assertEquals("[]", ((Message)result.arguments().seq().first()).name());
        assertEquals("bar", ((Message)((Message)result.arguments().seq().first()).arguments().seq().first()).name());
        assertEquals("quux", ((Message)((Message)result.arguments().seq().first()).arguments().seq().more().first()).name());
        assertNull(result.next());
    }

    @Test
View Full Code Here

    public void parses_square_brackets_correctly_inside_a_function_application() {
        Message result = parse("foo([bar, quux])");
        assertEquals("foo", result.name());
        assertEquals("[]", ((Message)result.arguments().seq().first()).name());
        assertEquals("bar", ((Message)((Message)result.arguments().seq().first()).arguments().seq().first()).name());
        assertEquals("quux", ((Message)((Message)result.arguments().seq().first()).arguments().seq().more().first()).name());
        assertNull(result.next());
    }

    @Test
    public void simple_curly_bracket_application_should_be_parsed_correctly() {
View Full Code Here

    @Test
    public void simple_curly_bracket_application_should_be_parsed_correctly() {
        Message result = parse("{}()");
        assertEquals("{}", result.name());
        assertEquals(PersistentList.EMPTY, result.arguments());
        assertNull(result.next());
    }

    @Test
    public void simple_curly_bracket_application_with_arguments_should_work() {
View Full Code Here

    @Test
    public void parses_tick_operator_with_args() {
        Message result = parse(" '-+*%<>!!?~&|^$$=@'`//:#(foo)");

        assertEquals("'-+*%<>!!?~&|^$$=@'`//:#", result.name());
        assertEquals("foo", ((Message)result.arguments().seq().first()).name());
    }

    @Test
    public void parses_backtick_operator() {
        Message result = parse(" `-+*%<>!!?~&|^$$=@'`//:# foo");
View Full Code Here

    @Test
    public void parses_backtick_operator_with_args() {
        Message result = parse(" `-+*%<>!!?~&|^$$=@'`//:#(foo)");

        assertEquals("`-+*%<>!!?~&|^$$=@'`//:#", result.name());
        assertEquals("foo", ((Message)result.arguments().seq().first()).name());
    }

    @Test
    public void parses_slash_operator() {
        Message result = parse(" /-+*%<>!!?~&|^$$=@'`//:# foo");
View Full Code Here

    @Test
    public void parses_slash_operator_with_args() {
        Message result = parse(" /-+*%<>!!?~&|^$$=@'`//:#(foo)");

        assertEquals("/-+*%<>!!?~&|^$$=@'`//:#", result.name());
        assertEquals("foo", ((Message)result.arguments().seq().first()).name());
    }

    @Test
    public void parse_simple_comment() {
        Message result = parse("foo bar ; blarg foo \nsomething else");
View Full Code Here

    @Test
    public void parses_octothorpe_operator_with_args() {
        Message result = parse(" #/-+*%<>!!?~&|^$$=@'`:#(foo)");

        assertEquals("#/-+*%<>!!?~&|^$$=@'`:#", result.name());
        assertEquals("foo", ((Message)result.arguments().seq().first()).name());
    }

    @Test
    public void separates_a_slash_from_percent_operator() {
        Message result = parse(" %-+*#<>!!?~&|^$$=@'`:#/ foo");
View Full Code Here

    @Test
    public void handles_text_interpolation_in_double_quotes() {
        Message result = parse("\"foo %{foo bar(\"blarg%{bux}\")} bar\"");

        assertEquals("internal:concatenateText", result.name());
        assertEquals("foo ", ((Text)((Message)result.arguments().seq().first()).literal()).text());
        assertEquals("foo", ((Message)result.arguments().seq().more().first()).name());
        assertEquals("bar", ((Message)result.arguments().seq().more().first()).next().name());
        assertEquals("internal:concatenateText", ((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).name());
        assertEquals("blarg", ((Text)((Message)((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).arguments().seq().first()).literal()).text());
        assertEquals("bux", ((Message)((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).arguments().seq().more().first()).name());
View Full Code Here

    public void handles_text_interpolation_in_double_quotes() {
        Message result = parse("\"foo %{foo bar(\"blarg%{bux}\")} bar\"");

        assertEquals("internal:concatenateText", result.name());
        assertEquals("foo ", ((Text)((Message)result.arguments().seq().first()).literal()).text());
        assertEquals("foo", ((Message)result.arguments().seq().more().first()).name());
        assertEquals("bar", ((Message)result.arguments().seq().more().first()).next().name());
        assertEquals("internal:concatenateText", ((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).name());
        assertEquals("blarg", ((Text)((Message)((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).arguments().seq().first()).literal()).text());
        assertEquals("bux", ((Message)((Message)((Message)result.arguments().seq().more().first()).next().arguments().seq().first()).arguments().seq().more().first()).name());
        assertEquals(" bar", ((Text)((Message)result.arguments().seq().more().more().first()).literal()).text());
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.