From 66dac1df064aab1118c39ec3504d4d0725726e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Kijewski?= Date: Tue, 26 Nov 2024 07:23:37 +0100 Subject: [PATCH] Add failing test from issue 272 Reported by Ciprian Dorin Craciun ([@cipriancraciun]) in issue [#272]. [#272]: [@cipriancraciun]: --- testing/templates/block_in_include_base.html | 5 +++ .../templates/block_in_include_extended.html | 9 ++++++ .../templates/block_in_include_partial.html | 3 ++ testing/tests/include.rs | 32 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 testing/templates/block_in_include_base.html create mode 100644 testing/templates/block_in_include_extended.html create mode 100644 testing/templates/block_in_include_partial.html diff --git a/testing/templates/block_in_include_base.html b/testing/templates/block_in_include_base.html new file mode 100644 index 000000000..2a09fdaf1 --- /dev/null +++ b/testing/templates/block_in_include_base.html @@ -0,0 +1,5 @@ +{%- block block_in_base -%} + block_in_base: from base! +{%~ endblock -%} + +{%- include "block_in_include_partial.html" -%} diff --git a/testing/templates/block_in_include_extended.html b/testing/templates/block_in_include_extended.html new file mode 100644 index 000000000..c94658151 --- /dev/null +++ b/testing/templates/block_in_include_extended.html @@ -0,0 +1,9 @@ +{%- extends "block_in_include_base.html" -%} + +{%- block block_in_base -%} + block_in_base: from extended! +{%~ endblock -%} + +{%- block block_in_partial -%} + block_in_partial: from extended! +{%~ endblock -%} diff --git a/testing/templates/block_in_include_partial.html b/testing/templates/block_in_include_partial.html new file mode 100644 index 000000000..366091c2c --- /dev/null +++ b/testing/templates/block_in_include_partial.html @@ -0,0 +1,3 @@ +{%- block block_in_partial -%} + block_in_partial: from partial! +{%~ endblock -%} diff --git a/testing/tests/include.rs b/testing/tests/include.rs index c2729b99d..65af4fa4e 100644 --- a/testing/tests/include.rs +++ b/testing/tests/include.rs @@ -53,3 +53,35 @@ fn test_include_macro() { assert_eq!(template.render().unwrap(), "Hello, Alice!\nHowdy, Bob!"); } + +// FIXME: +#[test] +#[should_panic(expected = r#"assertion `left == right` failed + left: "block_in_base: from extended!\nblock_in_partial: from partial!\n" + right: "block_in_base: from extended!\nblock_in_partial: from extended!\n"#)] +fn block_in_include() { + #[derive(Template)] + #[template(path = "block_in_include_extended.html")] + struct TmplExtended; + + #[derive(Template)] + #[template(path = "block_in_include_base.html", block = "block_in_base")] + struct TmplBlockInBase; + + #[derive(Template)] + #[template(path = "block_in_include_partial.html", block = "block_in_partial")] + struct TmplBlockInPartial; + + assert_eq!( + TmplExtended.render().unwrap(), + "block_in_base: from extended!\nblock_in_partial: from extended!\n" + ); + assert_eq!( + TmplBlockInBase.render().unwrap(), + "block_in_base: from extended!\n" + ); + assert_eq!( + TmplBlockInPartial.render().unwrap(), + "block_in_partial: from extended!\n" + ); +}