Ruben Bridgewater
9 years ago
8 changed files with 171 additions and 106 deletions
@ -0,0 +1,89 @@ |
|||
'use strict'; |
|||
|
|||
var assert = require('assert'); |
|||
var errors = require('../lib/customErrors'); |
|||
|
|||
describe('errors', function () { |
|||
|
|||
describe('AbortError', function () { |
|||
it('should inherit from Error', function () { |
|||
var e = new errors.AbortError({}); |
|||
assert.strictEqual(e.message, ''); |
|||
assert.strictEqual(e.name, 'AbortError'); |
|||
assert.strictEqual(Object.keys(e).length, 0); |
|||
assert(e instanceof Error); |
|||
assert(e instanceof errors.AbortError); |
|||
}); |
|||
|
|||
it('should list options properties but not name and message', function () { |
|||
var e = new errors.AbortError({ |
|||
name: 'weird', |
|||
message: 'hello world', |
|||
property: true |
|||
}); |
|||
assert.strictEqual(e.message, 'hello world'); |
|||
assert.strictEqual(e.name, 'weird'); |
|||
assert.strictEqual(e.property, true); |
|||
assert.strictEqual(Object.keys(e).length, 1); |
|||
assert(e instanceof Error); |
|||
assert(e instanceof errors.AbortError); |
|||
assert(delete e.name); |
|||
assert.strictEqual(e.name, 'Error'); |
|||
}); |
|||
|
|||
it('should change name and message', function () { |
|||
var e = new errors.AbortError({ |
|||
message: 'hello world', |
|||
property: true |
|||
}); |
|||
assert.strictEqual(e.name, 'AbortError'); |
|||
assert.strictEqual(e.message, 'hello world'); |
|||
e.name = 'foo'; |
|||
e.message = 'foobar'; |
|||
assert.strictEqual(e.name, 'foo'); |
|||
assert.strictEqual(e.message, 'foobar'); |
|||
}); |
|||
}); |
|||
|
|||
describe('AggregateError', function () { |
|||
it('should inherit from Error and AbortError', function () { |
|||
var e = new errors.AggregateError({}); |
|||
assert.strictEqual(e.message, ''); |
|||
assert.strictEqual(e.name, 'AggregateError'); |
|||
assert.strictEqual(Object.keys(e).length, 0); |
|||
assert(e instanceof Error); |
|||
assert(e instanceof errors.AggregateError); |
|||
assert(e instanceof errors.AbortError); |
|||
}); |
|||
|
|||
it('should list options properties but not name and message', function () { |
|||
var e = new errors.AggregateError({ |
|||
name: 'weird', |
|||
message: 'hello world', |
|||
property: true |
|||
}); |
|||
assert.strictEqual(e.message, 'hello world'); |
|||
assert.strictEqual(e.name, 'weird'); |
|||
assert.strictEqual(e.property, true); |
|||
assert.strictEqual(Object.keys(e).length, 1); |
|||
assert(e instanceof Error); |
|||
assert(e instanceof errors.AggregateError); |
|||
assert(e instanceof errors.AbortError); |
|||
assert(delete e.name); |
|||
assert.strictEqual(e.name, 'Error'); |
|||
}); |
|||
|
|||
it('should change name and message', function () { |
|||
var e = new errors.AggregateError({ |
|||
message: 'hello world', |
|||
property: true |
|||
}); |
|||
assert.strictEqual(e.name, 'AggregateError'); |
|||
assert.strictEqual(e.message, 'hello world'); |
|||
e.name = 'foo'; |
|||
e.message = 'foobar'; |
|||
assert.strictEqual(e.name, 'foo'); |
|||
assert.strictEqual(e.message, 'foobar'); |
|||
}); |
|||
}); |
|||
}); |
Loading…
Reference in new issue