package org.trimou.lambda; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.trimou.AbstractEngineTest; import org.trimou.engine.segment.SectionSegmentTest; import org.trimou.engine.segment.ValueSegmentTest; import org.trimou.util.ImmutableMap; /** * * @author Martin Kouba * @see SectionSegmentTest#testLambdas() * @see ValueSegmentTest#testLambda() */ public class LambdaTest extends AbstractEngineTest { @Test public void testReturnValueInterpolated() { Lambda lambda = new InputProcessingLambda() { @Override public String invoke(String text) { return "{{foo}}|{{foo}}"; } @Override public boolean isReturnValueInterpolated() { return true; } }; assertEquals( "true|true", engine.compileMustache("lambda_return_interpolated", "{{#lambda}}Hello{{/lambda}}").render( ImmutableMap.of("foo", "true", "lambda", lambda))); lambda = (input) -> "{{foo}}|{{foo}}"; assertEquals( "true|true", engine.compileMustache("lambda_return_interpolated2", "{{#lambda}}Hello{{/lambda}}").render( ImmutableMap.of("foo", "true", "lambda", lambda))); } }