loop_newlines/
loop_newlines.rs1use net_shell::template::TemplateEngine;
2use serde_json::json;
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 println!("=== 测试循环换行符控制 ===");
6
7 let mut engine = TemplateEngine::new();
9 engine.set_variable("items", json!(["apple", "banana", "cherry"]));
10
11 let template = r#"
12{% for item in items %}
13- {{ item }}
14{% endfor %}"#;
15
16 let result = engine.render_string(template)?;
17 println!("保留换行符的结果:{}", result);
18
19 engine.set_preserve_loop_newlines(false);
21 let result = engine.render_string(template)?;
22 println!("去除换行符的结果:{}", result);
23
24 let template2 = r#"
26<ul>
27{% for item in items %}
28 <li>{{ item }}</li>
29{% endfor %}
30</ul>"#;
31
32 let mut engine2 = TemplateEngine::new();
33 engine2.set_variable("items", json!(["red", "green", "blue"]));
34
35 let result = engine2.render_string(template2)?;
36 println!("保留换行符的复杂模板:{}", result);
37
38 engine2.set_preserve_loop_newlines(false);
39 let result = engine2.render_string(template2)?;
40 println!("去除换行符的复杂模板:{}", result);
41
42 println!("=== 测试完成 ===");
43 Ok(())
44}