mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 22:16:31 +00:00

covert lib/fs.js over to using lib/internal/errors.js i have not addressed the cases that use errnoException(), for reasons described in GH-12926 - throw the ERR_INVALID_CALLBACK error when the the callback is invalid - replace the ['object', 'string'] with ['string', 'object'] in the error constructor call, to better match the previous err msg in the getOptions() function - add error ERR_VALUE_OUT_OF_RANGE in lib/internal/errors.js, this error is thrown when a numeric value is out of range - document the ERR_VALUE_OUT_OF_RANGE err in errors.md - correct the expected args, in the error thrown in the function fs._toUnixTimestamp() to ['Date', 'time in seconds'] (lib/fs.js) - update the listener error type in the fs.watchFile() function, from Error to TypeError (lib/fs.js) - update errors from ERR_INVALID_OPT_VALUE to ERR_INVALID_ARG_TYPE in the functions fs.ReadStream() and fs.WriteStream(), for the cases of range errors use the new error: ERR_VALUE_OUT_OF_RANGE (lib/fs.js) PR-URL: https://github.com/nodejs/node/pull/15043 Refs: https://github.com/nodejs/node/issues/11273 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
33 lines
974 B
JavaScript
33 lines
974 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}];
|
|
const warn = 'Calling an asynchronous function without callback is deprecated.';
|
|
|
|
function testMakeStatsCallback(cb) {
|
|
return function() {
|
|
// fs.stat() calls makeStatsCallback() on its second argument
|
|
fs.stat(__filename, cb);
|
|
};
|
|
}
|
|
|
|
common.expectWarning('DeprecationWarning', warn);
|
|
|
|
// Verify the case where a callback function is provided
|
|
assert.doesNotThrow(testMakeStatsCallback(common.mustCall()));
|
|
|
|
// Passing undefined/nothing calls rethrow() internally, which emits a warning
|
|
assert.doesNotThrow(testMakeStatsCallback());
|
|
|
|
function invalidCallbackThrowsTests() {
|
|
callbackThrowValues.forEach((value) => {
|
|
common.expectsError(testMakeStatsCallback(value), {
|
|
code: 'ERR_INVALID_CALLBACK',
|
|
type: TypeError
|
|
});
|
|
});
|
|
}
|
|
|
|
invalidCallbackThrowsTests();
|