package io.vertx.test.codegen; import io.vertx.codegen.Model; import io.vertx.codegen.ModuleInfo; import io.vertx.codegen.Template; import org.junit.Test; import org.mvel2.integration.impl.MapVariableResolverFactory; import org.mvel2.templates.CompiledTemplate; import org.mvel2.templates.TemplateError; import org.mvel2.templates.TemplateRegistry; import org.mvel2.templates.TemplateRuntime; import org.mvel2.templates.util.io.StandardOutputStream; import javax.lang.model.element.Element; import java.net.URL; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.*; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ public class TemplateTest { Model NULL_MODEL = new Model() { public String getKind() { throw new UnsupportedOperationException(); } public Element getElement() { throw new UnsupportedOperationException(); } public String getFqn() { throw new UnsupportedOperationException(); } @Override public ModuleInfo getModule() { throw new UnsupportedOperationException(); } }; @Test public void testIncludeNamedResolve() throws Exception { Template template = new Template(getClass().getResource("testtemplates/include_named_resolve.templ")); String output = template.render(NULL_MODEL); assertEquals("hollahello", output); } @Test public void testIncludeNamedNotFound() throws Exception { Template template = new Template(getClass().getResource("testtemplates/include_named_not_found.templ")); try { template.render(NULL_MODEL); fail("Was expecting to fail"); } catch (TemplateError ignore) { } } }