diff options
author | kpdecker <kpdecker@gmail.com> | 2015-09-23 22:08:59 -0500 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2015-09-23 22:08:59 -0500 |
commit | 94c840b6edd426947e1cafa1ff6d6b90e63dbb9a (patch) | |
tree | 4a56681553a8b4da7f0300979bad5c66b22709d6 | |
parent | 861d6f7b8d8149657c5396ed6b2e2930294edd4e (diff) | |
download | handlebars.js-94c840b6edd426947e1cafa1ff6d6b90e63dbb9a.zip handlebars.js-94c840b6edd426947e1cafa1ff6d6b90e63dbb9a.tar.gz handlebars.js-94c840b6edd426947e1cafa1ff6d6b90e63dbb9a.tar.bz2 |
Create data frame for @partial-block
Fixes #1099
-rw-r--r-- | lib/handlebars/runtime.js | 1 | ||||
-rw-r--r-- | spec/regressions.js | 8 |
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'); + }); }); |