mirror of
https://github.com/askama-rs/askama.git
synced 2025-09-28 05:21:14 +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");
|
||||
}
|
||||
|
||||
#[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]
|
||||
fn test_caller_struct() {
|
||||
struct TestInput<'a> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user