-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
Several areas of the lib/utils.js have duplicate resolution of promises - where an error calls BOTH reject AND resolve:
Example:
return new Promise((resolve, reject) => {
fs.readFile(file, 'utf8', function(err, data) {
if (err) {
reject(err);
}
resolve(data);
});
});
This will BOTH reject and resolve the error.
Also, the test cases are ambiguously written. It's not clear what behavior is actually expected:
it('should handle glob error', function(done) {
var files = new Error('custom: glob error');
utils.readFileGlobs(files)
.then(function() {
done('readFileGlobs did not throw error');
})
.catch(function(err) {
expect(err.message).to.equal('custom: glob error');
done();
});
});
Because the done() method accepts an error. Fro the Mocha docs:
This callback accepts both an Error instance (or subclass thereof) or a falsy value; anything else is invalid usage and throws an error (usually causing a failed test).
Metadata
Metadata
Assignees
Labels
No labels