Package seph.lang.ast

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


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

    @Test
View Full Code Here


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

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

    @Test
    public void parses_curly_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_curly_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_curly_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 parses_the_toplevel_with_commas() {
View Full Code Here

    @Test
    public void parses_set_literal_as_a_set_literal() {
        Message result = parse("#{bar, quux}");
        assertEquals("set", result.name());
        assertEquals("bar", ((Message)result.arguments().seq().first()).name());
        assertEquals("quux", ((Message)result.arguments().seq().more().first()).name());
        assertNull(result.next());
    }

    @Test
View Full Code Here

    @Test
    public void parses_set_literal_as_a_set_literal() {
        Message result = parse("#{bar, quux}");
        assertEquals("set", result.name());
        assertEquals("bar", ((Message)result.arguments().seq().first()).name());
        assertEquals("quux", ((Message)result.arguments().seq().more().first()).name());
        assertNull(result.next());
    }

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

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

    @Test
View Full Code Here

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

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

    @Test
    public void handles_regexp_interpolation() {
        Message result = parse("%/foo %{foo bar(%/blarg%{bux}/xi)} bar/");

        assertEquals("internal:compositeRegexp", 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:compositeRegexp", ((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

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.