Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/create-error/test/ drwxr-xr-x | |
| Viewing file: Select action/file-type: var equal = require('assert').equal;
var deepEqual = require('assert').deepEqual;
var createError = require('../create-error');
describe('create-error', function() {
describe('error creation', function() {
it('should create a new error', function() {
var TestingError = createError('TestingError');
var a = new TestingError('msgA');
var b = new TestingError('msgB');
equal((a instanceof TestingError), true);
equal((a instanceof Error), true);
equal(a.message, 'msgA');
equal(b.message, 'msgB');
equal((a.stack.length > 0), true);
});
it('should attach properties in the second argument', function() {
var TestingError = createError('TestingError', {anArray: []});
var a = new TestingError('Test the array');
deepEqual(a.anArray, []);
});
it('should give the name "CustomError" if the name is omitted', function() {
var TestingError = createError();
var a = new TestingError("msg");
equal(a.name, 'CustomError');
});
it('should not reference the same property in subsequent errors', function() {
var TestingError = createError('TestingError', {anArray: []});
var a = new TestingError('Test the array');
a.anArray.push('a');
var b = new TestingError('');
deepEqual(b.anArray, []);
});
it('should allow for empty objects on the cloned hash', function() {
var TestingError = createError('TestingError', {anEmptyObj: Object.create(null)});
var a = new TestingError('Test the array');
deepEqual(a.anEmptyObj, Object.create(null));
});
it('attaches attrs in the second arg of the error ctor, #3', function() {
var RequestError = createError('RequestError', {status: 400});
var reqErr = new RequestError('404 Error', {status: 404});
equal(reqErr.status, 404);
equal(reqErr.message, '404 Error');
equal(reqErr.name, 'RequestError');
});
});
describe('subclassing errors', function() {
it('takes an object in the first argument', function() {
var TestingError = createError('TestingError');
var SubTestingError = createError(TestingError, 'SubTestingError');
var x = new SubTestingError();
equal((x instanceof SubTestingError), true);
equal((x instanceof TestingError), true);
equal((x instanceof Error), true);
});
it('attaches the properties appropriately.', function() {
var TestingError = createError('TestingError');
var SubTestingError = createError(TestingError, 'SubTestingError', {key: []});
var x = new SubTestingError();
deepEqual(x.key, []);
});
it('allows for a default message, #4', function() {
var TestingError = createError('TestingError', {message: 'Error with testing'});
var x = new TestingError();
equal(x.message, 'Error with testing');
});
});
describe('invalid values sent to the second argument', function() {
it('should ignore falsy values', function() {
var TestingError = createError('TestingError', '');
var TestingError2 = createError('TestingError', null);
var TestingError3 = createError('TestingError', void 0);
var a = new TestingError('Test the array');
var b = new TestingError2('Test the array');
var c = new TestingError3('Test the array');
});
it('should ignore arrays', function() {
var TestingError = createError('TestingError', [{anArray: []}]);
var a = new TestingError('Test the array');
equal(a.anArray, void 0);
});
});
}); |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0734 ]-- |