package org.trimou.engine.interpolation; import static org.junit.Assert.assertEquals; import java.util.Collections; import java.util.Iterator; import java.util.Set; import org.junit.Test; import org.trimou.AbstractTest; import org.trimou.engine.MustacheEngine; import org.trimou.engine.MustacheEngineBuilder; import org.trimou.engine.config.Configuration; import org.trimou.engine.config.ConfigurationKey; import org.trimou.util.ImmutableMap; import org.trimou.util.Iterables; /** * * @author Martin Kouba */ public class CustomKeySplitterTest extends AbstractTest { @Test public void testCustomKeySplitter() { MustacheEngine engine = MustacheEngineBuilder.newBuilder() .setKeySplitter(new KeySplitter() { @Override public void init(Configuration configuration) { } @Override public Set<ConfigurationKey> getConfigurationKeys() { return Collections.emptySet(); } @Override public Iterator<String> split(String key) { return Iterables.singletonIterator(key); } }).build(); assertEquals("WORKS", engine.compileMustache("custom_key_splitter", "{{foo.bar}}") .render(ImmutableMap.of("foo.bar", "WORKS"))); } }