summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/handlebars/runtime.js1
-rw-r--r--spec/regressions.js8
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/handlebars/runtime.js b/lib/handlebars/runtime.js
index 52d9b94..b47d961 100644
--- a/lib/handlebars/runtime.js
+++ b/lib/handlebars/runtime.js
@@ -230,6 +230,7 @@ export function invokePartial(partial, context, options) {
let partialBlock;
if (options.fn && options.fn !== noop) {
+ options.data = createFrame(options.data);
partialBlock = options.data['partial-block'] = options.fn;
if (partialBlock.partials) {
diff --git a/spec/regressions.js b/spec/regressions.js
index bd0a111..83765a2 100644
--- a/spec/regressions.js
+++ b/spec/regressions.js
@@ -239,4 +239,12 @@ describe('Regressions', function() {
};
shouldCompileToWithPartials(string, [{}, {}, partials], true, 'doctypelayoutsubcontent');
});
+ it('GH-1099: should support greater than 3 nested levels of inline partials', function() {
+ var string = '{{#> layout}}Outer{{/layout}}';
+ var partials = {
+ layout: '{{#> inner}}Inner{{/inner}}{{> @partial-block }}',
+ inner: ''
+ };
+ shouldCompileToWithPartials(string, [{}, {}, partials], true, 'Outer');
+ });
});