package com.github.jknack.handlebars.issues;
import java.io.IOException;
import org.junit.Test;
import com.github.jknack.handlebars.Handlebars;
import com.github.jknack.handlebars.v4Test;
public class Hbs523 extends v4Test {
@Override
protected void configure(final Handlebars handlebars) {
super.configure(handlebars);
handlebars.deletePartialAfterMerge(true);
}
@Test
public void shouldCallPartialWithoutSideEffect() throws IOException {
String base = "text from base partial<br>\n" +
"{{#> inlinePartial}}{{/inlinePartial}}<br>";
String inherit1 = "inherit1<br>\n" +
"{{#>base}}\n" +
"{{#*inline \"inlinePartial\"}}\n" +
"inline partial defined by inherit1, called from base\n" +
"{{/inline}}\n" +
"{{/base}}";
String inherit2 = "inherit2<br>\n" +
"{{#>base}}\n" +
"{{/base}}";
String main = "main has partials:<br>\n" +
"-------------<br>\n" +
"{{>inherit1}}\n" +
"-------------<br>\n" +
"{{>inherit2}}";
shouldCompileTo(main,
$("partials", $("base", base, "inherit1", inherit1, "inherit2", inherit2)),
"main has partials:<br>\n" +
"-------------<br>\n" +
"inherit1<br>\n" +
"text from base partial<br>\n" +
"\n" +
"inline partial defined by inherit1, called from base\n" +
"<br>\n" +
"-------------<br>\n" +
"inherit2<br>\n" +
"text from base partial<br>\n" +
"<br>");
}
}