Skip to content

Commit fbb898e

Browse files
committed
Merge pull request #73 from mcampa/bugFix
Quick fix for error: MessageFormat: 'NUM' isn't a number
2 parents 425d593 + 6d43348 commit fbb898e

4 files changed

Lines changed: 40 additions & 2 deletions

File tree

helpers/helperMissing.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var helper = function (handlebars) {
2+
this.handlebars = handlebars;
3+
};
4+
5+
helper.prototype.register = function (context) {
6+
this.handlebars.registerHelper('helperMissing', function () {
7+
return undefined;
8+
});
9+
};
10+
11+
module.exports = helper;

lib/localizer.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ internals.getTranslator = function (localeName, translations) {
124124
translations[key] = formatter.compile(translations[key]);
125125
}
126126

127-
return translations[key](parameters);
127+
try {
128+
return translations[key](parameters);
129+
} catch (err) {
130+
// @TODO: add proper logging
131+
return '';
132+
}
128133
};
129134
};
130135

test/helpers/helperMissing.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
var Code = require('code'),
2+
Lab = require('lab'),
3+
Paper = require('../../index'),
4+
lab = exports.lab = Lab.script(),
5+
describe = lab.experiment,
6+
expect = Code.expect,
7+
it = lab.it;
8+
9+
function c(template, context) {
10+
return new Paper().loadTemplatesSync({template: template}).render('template', context);
11+
}
12+
13+
describe('helperMissing', function() {
14+
15+
it('should return empty string if the helper is missing', function(done) {
16+
17+
expect(c('{{thisHelperDoesNotExist}}', {}))
18+
.to.be.equal('');
19+
20+
done();
21+
});
22+
});

test/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var Code = require('code'),
22
Lab = require('lab'),
3-
Handlebars = require('Handlebars'),
3+
Handlebars = require('handlebars'),
44
Paper = require('../index'),
55
lab = exports.lab = Lab.script(),
66
describe = lab.experiment,

0 commit comments

Comments
 (0)