You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
The text was updated successfully, but these errors were encountered:
matmar10
added a commit
to matmar10/livingcss
that referenced
this issue
Apr 5, 2020
@straker If you can comment on the desired functionality and what the test case means to assert, I can fix this. See PR #82 which already fixes based on what is an assumed reasonable functionality.
Ya for the longest time I just saw any string passed to done() threw the error with the string as the message, so never bothered to turn it into an actual Error. So any time a done() is called with a string that should be a failed test case and should technically be done(new Error(msg)).
For the code, it should probably be return reject(data) and I forgot the return.
matmar10
added a commit
to matmar10/livingcss
that referenced
this issue
Aug 30, 2021
Several areas of the
lib/utils.js
have duplicate resolution of promises - where an error calls BOTHreject
ANDresolve
:Example:
This will BOTH reject and resolve the error.
Also, the test cases are ambiguously written. It's not clear what behavior is actually expected:
Because the
done()
method accepts an error. Fro the Mocha docs:The text was updated successfully, but these errors were encountered: