aboutsummaryrefslogtreecommitdiffstats
path: root/testing/tests/render_in_place.rs
diff options
context:
space:
mode:
Diffstat (limited to 'testing/tests/render_in_place.rs')
-rw-r--r--testing/tests/render_in_place.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/tests/render_in_place.rs b/testing/tests/render_in_place.rs
new file mode 100644
index 0000000..3d1b91e
--- /dev/null
+++ b/testing/tests/render_in_place.rs
@@ -0,0 +1,39 @@
+use askama::Template;
+#[derive(Template)]
+#[template(path = "render_in_place.html")]
+struct RenderInPlace<'a> {
+ s1: SectionOne<'a>,
+ s2: SectionTwo<'a>,
+ s3: &'a Vec<SectionOne<'a>>,
+}
+
+#[derive(Template)]
+#[template(path = "render_in_place_sec1.html")]
+struct SectionOne<'a> {
+ a: &'a str,
+ b: &'a str,
+}
+
+#[derive(Template)]
+#[template(path = "render_in_place_sec2.html")]
+struct SectionTwo<'a> {
+ c: &'a str,
+ d: &'a str,
+}
+
+#[test]
+fn test_render_in_place() {
+ let t = RenderInPlace {
+ s1: SectionOne { a: "A", b: "B" },
+ s2: SectionTwo { c: "C", d: "D" },
+ s3: &vec![
+ SectionOne { a: "1", b: "2" },
+ SectionOne { a: "A", b: "B" },
+ SectionOne { a: "a", b: "b" },
+ ],
+ };
+ assert_eq!(
+ t.render().unwrap(),
+ "Section 1: A=A\nB=B\nSection 2: C=C\nD=D\nSection 3 for:\n* A=1\nB=2\n* A=A\nB=B\n* A=a\nB=b\n"
+ );
+}