Search in sources :

Example 51 with TemplateEngine

use of io.vertx.ext.web.common.template.TemplateEngine in project vertx-web by vert-x3.

the class PebbleTemplateTest method testTemplateHandlerOnClasspath.

@Test
public void testTemplateHandlerOnClasspath(TestContext should) {
    TemplateEngine engine = PebbleTemplateEngine.create(vertx);
    final JsonObject context = new JsonObject().put("foo", "badger").put("bar", "fox").put("context", new JsonObject().put("path", "/test-pebble-template2.peb"));
    engine.render(context, "somedir/test-pebble-template2.peb", should.asyncAssertSuccess(render -> {
        should.assertEquals("Hello badger and foxRequest path is /test-pebble-template2.peb", normalizeCRLF(render.toString()));
    }));
}
Also used : TestContext(io.vertx.ext.unit.TestContext) PrintWriter(java.io.PrintWriter) BeforeClass(org.junit.BeforeClass) FileSystemOptions(io.vertx.core.file.FileSystemOptions) PebbleTemplateEngine(io.vertx.ext.web.templ.pebble.PebbleTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) Vertx(io.vertx.core.Vertx) RunWith(org.junit.runner.RunWith) VertxOptions(io.vertx.core.VertxOptions) Test(org.junit.Test) IOException(java.io.IOException) HashMap(java.util.HashMap) VertxUnitRunner(io.vertx.ext.unit.junit.VertxUnitRunner) File(java.io.File) ArrayList(java.util.ArrayList) TestExtension(io.vertx.ext.web.templ.extension.TestExtension) JsonArray(io.vertx.core.json.JsonArray) PebbleVertxLoader(io.vertx.ext.web.templ.pebble.impl.PebbleVertxLoader) PebbleEngine(com.mitchellbosecke.pebble.PebbleEngine) Locale(java.util.Locale) JsonObject(io.vertx.core.json.JsonObject) PebbleTemplateEngine(io.vertx.ext.web.templ.pebble.PebbleTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) JsonObject(io.vertx.core.json.JsonObject) Test(org.junit.Test)

Example 52 with TemplateEngine

use of io.vertx.ext.web.common.template.TemplateEngine in project vertx-web by vert-x3.

the class PebbleTemplateTest method testRenderJsonArrayAndJavaObjects.

@Test
public void testRenderJsonArrayAndJavaObjects(TestContext should) {
    TemplateEngine engine = PebbleTemplateEngine.create(vertx);
    JsonArray array = new JsonArray().add(new JsonObject().put("bar", "badger"));
    ArrayList<String> javaList = new ArrayList<>();
    HashMap<String, String> hashmap = new HashMap<>();
    javaList.add("bar");
    hashmap.put("foo", "fox");
    final JsonObject context = new JsonObject().put("foo", "badger").put("bar", "fox").put("array", array).put("arraylist", javaList).put("hashmap", hashmap).put("context", new JsonObject().put("path", "/test-pebble-template6.peb"));
    final String templateExpected = "Hello badger and foxRequest path is /test-pebble-template6.peb" + "Java HashMap foo foxJsonArray size 1badgerArrayList size 1bar";
    engine.render(context, "src/test/filesystemtemplates/test-pebble-template6.peb", should.asyncAssertSuccess(render -> {
        should.assertEquals(templateExpected, normalizeCRLF(render.toString()));
    }));
}
Also used : JsonArray(io.vertx.core.json.JsonArray) TestContext(io.vertx.ext.unit.TestContext) PrintWriter(java.io.PrintWriter) BeforeClass(org.junit.BeforeClass) FileSystemOptions(io.vertx.core.file.FileSystemOptions) PebbleTemplateEngine(io.vertx.ext.web.templ.pebble.PebbleTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) Vertx(io.vertx.core.Vertx) RunWith(org.junit.runner.RunWith) VertxOptions(io.vertx.core.VertxOptions) Test(org.junit.Test) IOException(java.io.IOException) HashMap(java.util.HashMap) VertxUnitRunner(io.vertx.ext.unit.junit.VertxUnitRunner) File(java.io.File) ArrayList(java.util.ArrayList) TestExtension(io.vertx.ext.web.templ.extension.TestExtension) JsonArray(io.vertx.core.json.JsonArray) PebbleVertxLoader(io.vertx.ext.web.templ.pebble.impl.PebbleVertxLoader) PebbleEngine(com.mitchellbosecke.pebble.PebbleEngine) Locale(java.util.Locale) JsonObject(io.vertx.core.json.JsonObject) PebbleTemplateEngine(io.vertx.ext.web.templ.pebble.PebbleTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) JsonObject(io.vertx.core.json.JsonObject) Test(org.junit.Test)

Example 53 with TemplateEngine

use of io.vertx.ext.web.common.template.TemplateEngine in project vertx-web by vert-x3.

the class ThymeleafTemplateTest method testCachingEnabled.

@Test
public void testCachingEnabled(TestContext should) throws IOException {
    System.setProperty("vertxweb.environment", "production");
    TemplateEngine engine = ThymeleafTemplateEngine.create(vertx);
    File temp = File.createTempFile("template", ".html", new File("target/classes"));
    temp.deleteOnExit();
    try (PrintWriter out = new PrintWriter(temp)) {
        out.print("before");
        out.flush();
    }
    engine.render(new JsonObject(), temp.getParent() + "/" + temp.getName(), should.asyncAssertSuccess(render -> {
        should.assertEquals("before", normalizeCRLF(render.toString()));
        try (PrintWriter out2 = new PrintWriter(temp)) {
            out2.print("after");
            out2.flush();
        } catch (IOException e) {
            should.fail(e);
        }
        engine.render(new JsonObject(), temp.getParent() + "/" + temp.getName(), should.asyncAssertSuccess(render2 -> {
            should.assertEquals("before", normalizeCRLF(render2.toString()));
        }));
    }));
}
Also used : TestContext(io.vertx.ext.unit.TestContext) PrintWriter(java.io.PrintWriter) ThymeleafTemplateEngine(io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine) BeforeClass(org.junit.BeforeClass) FileSystemOptions(io.vertx.core.file.FileSystemOptions) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) Vertx(io.vertx.core.Vertx) RunWith(org.junit.runner.RunWith) VertxOptions(io.vertx.core.VertxOptions) Test(org.junit.Test) IOException(java.io.IOException) VertxUnitRunner(io.vertx.ext.unit.junit.VertxUnitRunner) File(java.io.File) TestCase.assertNotNull(junit.framework.TestCase.assertNotNull) JsonObject(io.vertx.core.json.JsonObject) ThymeleafTemplateEngine(io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) JsonObject(io.vertx.core.json.JsonObject) IOException(java.io.IOException) File(java.io.File) PrintWriter(java.io.PrintWriter) Test(org.junit.Test)

Example 54 with TemplateEngine

use of io.vertx.ext.web.common.template.TemplateEngine in project vertx-web by vert-x3.

the class ThymeleafTemplateTest method testTemplateHandlerOnFileSystem.

@Test
public void testTemplateHandlerOnFileSystem(TestContext should) {
    TemplateEngine engine = ThymeleafTemplateEngine.create(vertx);
    final JsonObject context = new JsonObject().put("foo", "badger").put("bar", "fox").put("context", new JsonObject().put("path", "/test-thymeleaf-template2.html"));
    engine.render(context, "src/test/filesystemtemplates/test-thymeleaf-template3.html", should.asyncAssertSuccess(render -> {
        final String expected = "<!doctype html>\n" + "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + "<head>\n" + "  <meta charset=\"utf-8\">\n" + "</head>\n" + "<body>\n" + "<p>badger</p>\n" + "<p>fox</p>\n" + "<p>/test-thymeleaf-template2.html</p>\n" + "</body>\n" + "</html>\n";
        should.assertEquals(expected, normalizeCRLF(render.toString()));
    }));
}
Also used : TestContext(io.vertx.ext.unit.TestContext) PrintWriter(java.io.PrintWriter) ThymeleafTemplateEngine(io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine) BeforeClass(org.junit.BeforeClass) FileSystemOptions(io.vertx.core.file.FileSystemOptions) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) Vertx(io.vertx.core.Vertx) RunWith(org.junit.runner.RunWith) VertxOptions(io.vertx.core.VertxOptions) Test(org.junit.Test) IOException(java.io.IOException) VertxUnitRunner(io.vertx.ext.unit.junit.VertxUnitRunner) File(java.io.File) TestCase.assertNotNull(junit.framework.TestCase.assertNotNull) JsonObject(io.vertx.core.json.JsonObject) ThymeleafTemplateEngine(io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) JsonObject(io.vertx.core.json.JsonObject) Test(org.junit.Test)

Example 55 with TemplateEngine

use of io.vertx.ext.web.common.template.TemplateEngine in project vertx-web by vert-x3.

the class ThymeleafTemplateTest method testNoSuchTemplate.

@Test
public void testNoSuchTemplate(TestContext should) {
    TemplateEngine engine = ThymeleafTemplateEngine.create(vertx);
    final JsonObject context = new JsonObject();
    engine.render(context, "nosuchtemplate.html", should.asyncAssertFailure());
}
Also used : ThymeleafTemplateEngine(io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine) TemplateEngine(io.vertx.ext.web.common.template.TemplateEngine) JsonObject(io.vertx.core.json.JsonObject) Test(org.junit.Test)

Aggregations

TemplateEngine (io.vertx.ext.web.common.template.TemplateEngine)75 Test (org.junit.Test)74 JsonObject (io.vertx.core.json.JsonObject)70 TestContext (io.vertx.ext.unit.TestContext)57 VertxUnitRunner (io.vertx.ext.unit.junit.VertxUnitRunner)57 RunWith (org.junit.runner.RunWith)57 File (java.io.File)53 IOException (java.io.IOException)53 PrintWriter (java.io.PrintWriter)53 Vertx (io.vertx.core.Vertx)52 VertxOptions (io.vertx.core.VertxOptions)52 FileSystemOptions (io.vertx.core.file.FileSystemOptions)52 BeforeClass (org.junit.BeforeClass)52 JsonArray (io.vertx.core.json.JsonArray)16 PebbleTemplateEngine (io.vertx.ext.web.templ.pebble.PebbleTemplateEngine)13 PebbleEngine (com.mitchellbosecke.pebble.PebbleEngine)11 TestExtension (io.vertx.ext.web.templ.extension.TestExtension)11 PebbleVertxLoader (io.vertx.ext.web.templ.pebble.impl.PebbleVertxLoader)11 ArrayList (java.util.ArrayList)11 Assert.assertNotNull (org.junit.Assert.assertNotNull)10