123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- var test = require('tape');
- var ErrorWithCause = require('error-cause/Error');
-
- var inspect = require('../');
-
- test('type error', function (t) {
- t.plan(1);
- var aerr = new TypeError();
- aerr.foo = 555;
- aerr.bar = [1, 2, 3];
-
- var berr = new TypeError('tuv');
- berr.baz = 555;
-
- var cerr = new SyntaxError();
- cerr.message = 'whoa';
- cerr['a-b'] = 5;
-
- var withCause = new ErrorWithCause('foo', { cause: 'bar' });
- var withCausePlus = new ErrorWithCause('foo', { cause: 'bar' });
- withCausePlus.foo = 'bar';
- var withUndefinedCause = new ErrorWithCause('foo', { cause: undefined });
- var withEnumerableCause = new Error('foo');
- withEnumerableCause.cause = 'bar';
-
- var obj = [
- new TypeError(),
- new TypeError('xxx'),
- aerr,
- berr,
- cerr,
- withCause,
- withCausePlus,
- withUndefinedCause,
- withEnumerableCause
- ];
- t.equal(inspect(obj), '[ ' + [
- '[TypeError]',
- '[TypeError: xxx]',
- '{ [TypeError] foo: 555, bar: [ 1, 2, 3 ] }',
- '{ [TypeError: tuv] baz: 555 }',
- '{ [SyntaxError: whoa] message: \'whoa\', \'a-b\': 5 }',
- 'cause' in Error.prototype ? '[Error: foo]' : '{ [Error: foo] [cause]: \'bar\' }',
- '{ [Error: foo] ' + ('cause' in Error.prototype ? '' : '[cause]: \'bar\', ') + 'foo: \'bar\' }',
- 'cause' in Error.prototype ? '[Error: foo]' : '{ [Error: foo] [cause]: undefined }',
- '{ [Error: foo] cause: \'bar\' }'
- ].join(', ') + ' ]');
- });
|