Fix whitespace handling for include blocks (fixes #69)

This commit is contained in:
Dirkjan Ochtman
2018-04-02 21:31:46 +02:00
parent 0bc3881450
commit c023c35a1a
3 changed files with 4 additions and 4 deletions

View File

@@ -512,7 +512,7 @@ impl<'a> Generator<'a> {
}
fn handle_include(&mut self, state: &'a State, ws: &WS, path: &str) {
self.prepare_ws(ws);
self.flush_ws(ws);
let path = path::find_template_from_path(path, Some(&state.input.path));
let src = path::get_template_source(&path);
let nodes = parser::parse(&src);
@@ -522,7 +522,7 @@ impl<'a> Generator<'a> {
gen.buf
};
self.buf.push_str(&nested);
self.flush_ws(ws);
self.prepare_ws(ws);
}
fn write_let_decl(&mut self, ws: &WS, var: &'a Target) {

View File

@@ -1,3 +1,3 @@
{% for s in strs -%}
{% for s in strs %}
{% include "included.html" %}
{%- endfor %}

View File

@@ -13,5 +13,5 @@ struct IncludeTemplate<'a> {
fn test_include() {
let strs = vec!["foo", "bar"];
let s = IncludeTemplate { strs: &strs };
assert_eq!(s.render().unwrap(), "INCLUDED: fooINCLUDED: bar")
assert_eq!(s.render().unwrap(), "\n INCLUDED: foo\n INCLUDED: bar")
}