Subtheme of barrio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

25 lines
1.1 KiB

"use strict";
var test = require('blue-tape');
var makeErrorCause = require('./index');
test('make error cause', function (t) {
var TestError = makeErrorCause('TestError');
var SubTestError = makeErrorCause('SubTestError', TestError);
t.test('render the cause', function (t) {
var cause = new Error('boom!');
var error = new TestError('something bad', cause);
var again = new SubTestError('more bad', error);
t.equal(error.cause, cause);
t.equal(error.toString(), 'TestError: something bad\nCaused by: Error: boom!');
t.ok(error instanceof Error);
t.ok(error instanceof makeErrorCause.BaseError);
t.ok(error instanceof TestError);
t.equal(again.cause, error);
t.equal(again.toString(), 'SubTestError: more bad\nCaused by: TestError: something bad\nCaused by: Error: boom!');
t.ok(again instanceof Error);
t.ok(again instanceof makeErrorCause.BaseError);
t.ok(again instanceof TestError);
t.ok(again instanceof SubTestError);
t.end();
});
});
//# sourceMappingURL=index.spec.js.map