package org.jtwig.parser.parboiled.expression; import org.jtwig.model.expression.Expression; import org.jtwig.parser.config.DefaultJtwigParserConfiguration; import org.jtwig.parser.parboiled.ParserContext; import org.jtwig.resource.reference.ResourceReference; import org.junit.Test; import org.parboiled.parserunners.TracingParseRunner; import org.parboiled.support.ParsingResult; public class MapSelectionExpressionParserTest { @Test public void expressionRule() throws Exception { DefaultJtwigParserConfiguration config = new DefaultJtwigParserConfiguration(); ParserContext context = ParserContext.instance( ResourceReference.inline("Hello"), config, config.getAddonParserProviders(), config.getUnaryOperators(), config.getBinaryOperators(), config.getTestExpressionParsers() ); MapSelectionExpressionParser parser = context.parser(MapSelectionExpressionParser.class); TracingParseRunner<Expression> runner = new TracingParseRunner<>(parser.ExpressionRule()); ParsingResult<Expression> result = runner.run("list[position.size]"); Expression resultValue = result.resultValue; System.out.println(resultValue); } }