forked from jooby-project/jooby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTemplateEngineTest.java
More file actions
87 lines (77 loc) · 2.89 KB
/
Copy pathTemplateEngineTest.java
File metadata and controls
87 lines (77 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package io.jooby;
import io.jooby.freemarker.FreemarkerModule;
import io.jooby.handlebars.HandlebarsModule;
import io.jooby.junit.ServerTest;
import io.jooby.junit.ServerTestRunner;
import io.jooby.thymeleaf.ThymeleafModule;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TemplateEngineTest {
@ServerTest
public void templateEngines(ServerTestRunner runner) {
runner.define(app -> {
app.install(new ThymeleafModule());
app.install(new HandlebarsModule());
app.install(new FreemarkerModule());
app.get("/1", ctx -> new ModelAndView("index.hbs").put("name", "Handlebars"));
app.get("/2", ctx -> new ModelAndView("index.ftl").put("name", "Freemarker"));
app.get("/3", ctx -> new ModelAndView("index.html").put("name", "Thymeleaf"));
}).ready(client -> {
client.get("/1", rsp -> {
assertEquals("Hello Handlebars!", rsp.body().string().trim());
});
client.get("/2", rsp -> {
assertEquals("Hello Freemarker!", rsp.body().string().trim());
});
client.get("/3", rsp -> {
assertEquals("<!DOCTYPE html>\n"
+ "<html>\n"
+ "<body>\n"
+ "<p>\n"
+ " Hello <span>Thymeleaf</span>\n"
+ "</p>\n"
+ "</body>\n"
+ "</html>", rsp.body().string().replace("\r", "").trim());
});
});
}
@ServerTest
public void thymeleafShouldReadFromFileSystem(ServerTestRunner runner) {
runner.define(app -> {
app.install(new ThymeleafModule(runner.resolvePath("src", "test", "resources", "views")));
app.get("/", ctx -> new ModelAndView("index.html").put("name", "Thymeleaf"));
}).ready(client -> {
client.get("/", rsp -> {
assertEquals("<!DOCTYPE html>\n"
+ "<html>\n"
+ "<body>\n"
+ "<p>\n"
+ " Hello <span>Thymeleaf</span>\n"
+ "</p>\n"
+ "</body>\n"
+ "</html>", rsp.body().string().replace("\r", "").trim());
});
});
}
@ServerTest
public void handlebarsShouldReadFromFileSystem(ServerTestRunner runner) {
runner.define(app -> {
app.install(new HandlebarsModule(runner.resolvePath("src", "test", "resources", "views")));
app.get("/", ctx -> new ModelAndView("index.hbs").put("name", "Handlebars"));
}).ready(client -> {
client.get("/", rsp -> {
assertEquals("Hello Handlebars!", rsp.body().string().trim());
});
});
}
@ServerTest
public void freemarkerShouldReadFromFileSystem(ServerTestRunner runner) {
runner.define(app -> {
app.install(new FreemarkerModule(runner.resolvePath("src", "test", "resources", "views")));
app.get("/", ctx -> new ModelAndView("index.ftl").put("name", "Freemarker"));
}).ready(client -> {
client.get("/", rsp -> {
assertEquals("Hello Freemarker!", rsp.body().string().trim());
});
});
}
}