Merge pull request #849 from wycats/helper-undefined

Fix undefined handling for pathed lookups
This commit is contained in:
Kevin Decker
2014-08-15 02:07:24 -05:00
2 changed files with 11 additions and 4 deletions
@@ -377,10 +377,9 @@ JavaScriptCompiler.prototype = {
for (; i < len; i++) {
this.replaceStack(function(current) {
var lookup = this.nameLookup(current, parts[i], 'context');
// We want to ensure that zero and false are handled properly for the first element
// of non-chained elements, if the context (falsy flag) needs to have the special
// handling for these values.
if (!falsy && !i && len === 1) {
// We want to ensure that zero and false are handled properly if the context (falsy flag)
// needs to have the special handling for these values.
if (!falsy) {
return ' != null ? ' + lookup + ' : ' + current;
} else {
// Otherwise we can use generic falsy handling
+8
View File
@@ -137,4 +137,12 @@ describe('Regressions', function() {
it('GH-820: zero pathed rendering', function() {
shouldCompileTo('{{foo.bar}}', {foo: 0}, '');
});
it('GH-837: undefined values for helpers', function() {
var helpers = {
str: function(value) { return value + ''; }
};
shouldCompileTo('{{str bar.baz}}', [{}, helpers], 'undefined');
});
});