diff --git a/lib/handlebars/runtime.js b/lib/handlebars/runtime.js index bc12fc9fd..9dae28407 100644 --- a/lib/handlebars/runtime.js +++ b/lib/handlebars/runtime.js @@ -142,7 +142,7 @@ export function template(templateSpec, env) { } } - return templateSpec.main.call(container, context, container.helpers, container.partials, data, blockParams, depths); + return '' + templateSpec.main.call(container, context, container.helpers, container.partials, data, blockParams, depths); } ret.isTop = true; diff --git a/spec/regressions.js b/spec/regressions.js index f04107046..009fec90b 100644 --- a/spec/regressions.js +++ b/spec/regressions.js @@ -182,4 +182,18 @@ describe('Regressions', function() { shouldCompileTo('{{#each data}}Key: {{@key}}\n{{/each}}', {data: data}, 'Key: \nKey: name\nKey: value\n'); }); + + it('GH-1054: Should handle simple safe string responses', function() { + var root = '{{#wrap}}{{>partial}}{{/wrap}}'; + var partials = { + partial: '{{#wrap}}{{/wrap}}' + }; + var helpers = { + wrap: function(options) { + return new Handlebars.SafeString(options.fn()); + } + }; + + shouldCompileToWithPartials(root, [{}, helpers, partials], true, ''); + }); });