mirror of
https://github.com/askama-rs/askama.git
synced 2025-09-28 21:41:35 +00:00
Add unit-tests for #505
This commit is contained in:
parent
19c685b51a
commit
2bd436417a
@ -146,6 +146,59 @@ nested
|
|||||||
assert_eq!(CallerEmpty.render().unwrap(), "\nnested\n\n");
|
assert_eq!(CallerEmpty.render().unwrap(), "\nnested\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_nested_caller_aliasing1() {
|
||||||
|
#[derive(Template)]
|
||||||
|
#[template(
|
||||||
|
source = r#"
|
||||||
|
{%- macro inner() -%}
|
||||||
|
inner before|{{- caller(1) -}}|inner after
|
||||||
|
{%- endmacro -%}
|
||||||
|
{%- macro outer() -%}
|
||||||
|
outer before|
|
||||||
|
{%- set caller_ = caller -%}
|
||||||
|
{%- call(c) inner() -%}
|
||||||
|
{{c}}
|
||||||
|
{{- caller_(3, 4) -}}
|
||||||
|
{%- endcall -%}
|
||||||
|
|outer after
|
||||||
|
{%- endmacro -%}
|
||||||
|
{%- call(a, b) outer() -%}
|
||||||
|
content{{a}}-{{b}}
|
||||||
|
{%- endcall -%}
|
||||||
|
"#,
|
||||||
|
ext = "html"
|
||||||
|
)]
|
||||||
|
struct NestedCallerAliasing;
|
||||||
|
assert_eq!(
|
||||||
|
NestedCallerAliasing.render().unwrap(),
|
||||||
|
"outer before|inner before|1content3-4|inner after|outer after"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_nested_caller_aliasing2() {
|
||||||
|
#[derive(Template)]
|
||||||
|
#[template(
|
||||||
|
source = r#"
|
||||||
|
{%- macro layer0() -%}A{{ caller() }}a{%- endmacro -%}
|
||||||
|
{%- macro layer1() -%}B
|
||||||
|
{%- set caller_layer1 = caller -%}
|
||||||
|
{%- call layer0() -%}{{ caller_layer1() }}{%- endcall -%}
|
||||||
|
b{%- endmacro -%}
|
||||||
|
{%- macro layer2() -%}C
|
||||||
|
{%- set caller_layer2 = caller -%}
|
||||||
|
{%- call layer1() -%}{{ caller_layer2() }}{%- endcall -%}
|
||||||
|
c{%- endmacro -%}
|
||||||
|
|
||||||
|
{%- call layer2() -%}_CONTENT_{%- endcall -%}
|
||||||
|
"#,
|
||||||
|
ext = "html"
|
||||||
|
)]
|
||||||
|
struct NestedCallerAliasing;
|
||||||
|
assert_eq!(NestedCallerAliasing.render().unwrap(), "CBA_CONTENT_abc");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_caller_struct() {
|
fn test_caller_struct() {
|
||||||
struct TestInput<'a> {
|
struct TestInput<'a> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user