package org.trimou.engine.resolver;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import org.junit.Test;
import org.trimou.AbstractTest;
import org.trimou.engine.MustacheEngine;
import org.trimou.engine.MustacheEngineBuilder;
/**
*
* @author Martin Kouba
*/
public class DummyTransformResolverTest extends AbstractTest {
final DummyTransformResolver resolver = new DummyTransformResolver(100,
(contextObject, name, context) -> "{{" + name.toUpperCase() + "}}", "ng");
@Test
public void testResolution() {
// Just to init the resolver
MustacheEngineBuilder.newBuilder()
.omitServiceLoaderConfigurationExtensions()
.addResolver(resolver).build();
assertNull(resolver.resolve(null, "whatever", null));
Object marker = resolver.resolve(null, "ng", null);
assertNotNull(marker);
assertEquals("{{FOO}}", resolver.resolve(marker, "foo", null));
}
@Test
public void testInterpolation() {
MustacheEngine engine = MustacheEngineBuilder.newBuilder()
.addResolver(resolver).build();
assertEquals(
"{{FOO}}",
engine.compileMustache("dummy_transform_resolver", "{{ng.foo}}")
.render(null));
}
}