diff options
Diffstat (limited to '')
-rw-r--r-- | testing/templates/include-extends-base.html | 6 | ||||
-rw-r--r-- | testing/templates/include-extends-included.html | 2 | ||||
-rw-r--r-- | testing/templates/include-extends.html | 4 | ||||
-rw-r--r-- | testing/templates/include-macro.html | 4 | ||||
-rw-r--r-- | testing/templates/included-macro.html | 6 | ||||
-rw-r--r-- | testing/tests/include.rs | 41 |
6 files changed, 63 insertions, 0 deletions
diff --git a/testing/templates/include-extends-base.html b/testing/templates/include-extends-base.html new file mode 100644 index 0000000..7a54ca0 --- /dev/null +++ b/testing/templates/include-extends-base.html @@ -0,0 +1,6 @@ +<div> + <p>Below me is the header</p> + {% block header %}{% endblock %} + <p>Above me is the header</p> +</div> +Hello, {{ name }}! diff --git a/testing/templates/include-extends-included.html b/testing/templates/include-extends-included.html new file mode 100644 index 0000000..03b7553 --- /dev/null +++ b/testing/templates/include-extends-included.html @@ -0,0 +1,2 @@ +{% extends "include-extends-base.html" %} +{% block header %}foo{% endblock %} diff --git a/testing/templates/include-extends.html b/testing/templates/include-extends.html new file mode 100644 index 0000000..371c133 --- /dev/null +++ b/testing/templates/include-extends.html @@ -0,0 +1,4 @@ +<div> + <h1>Welcome</h1> + {% include "include-extends-included.html" %} +</div> diff --git a/testing/templates/include-macro.html b/testing/templates/include-macro.html new file mode 100644 index 0000000..e29789d --- /dev/null +++ b/testing/templates/include-macro.html @@ -0,0 +1,4 @@ +{% macro m(name) -%} + Hello, {{ name }}! +{%- endmacro -%} +{% include "included-macro.html" %} diff --git a/testing/templates/included-macro.html b/testing/templates/included-macro.html new file mode 100644 index 0000000..efbae18 --- /dev/null +++ b/testing/templates/included-macro.html @@ -0,0 +1,6 @@ +{% macro m2(name) -%} + Howdy, {{ name }}! +{%- endmacro -%} + +{% call m(name) %} +{% call m2(name2) %} diff --git a/testing/tests/include.rs b/testing/tests/include.rs index f461a7b..c11d96f 100644 --- a/testing/tests/include.rs +++ b/testing/tests/include.rs @@ -12,3 +12,44 @@ fn test_include() { let s = IncludeTemplate { strs: &strs }; assert_eq!(s.render().unwrap(), "\n INCLUDED: foo\n INCLUDED: bar") } + +#[derive(Template)] +#[template(path = "include-extends.html")] +struct IncludeExtendsTemplate<'a> { + name: &'a str, +} + +#[test] +fn test_include_extends() { + let template = IncludeExtendsTemplate { name: "Alice" }; + + assert_eq!( + template.render().unwrap(), + "<div>\n \ + <h1>Welcome</h1>\n \ + <div>\n \ + <p>Below me is the header</p>\n \ + foo\n \ + <p>Above me is the header</p>\n\ + </div>\n\ + Hello, Alice!\n\ + </div>" + ); +} + +#[derive(Template)] +#[template(path = "include-macro.html")] +struct IncludeMacroTemplate<'a> { + name: &'a str, + name2: &'a str, +} + +#[test] +fn test_include_macro() { + let template = IncludeMacroTemplate { + name: "Alice", + name2: "Bob", + }; + + assert_eq!(template.render().unwrap(), "Hello, Alice!\nHowdy, Bob!"); +} |