blob: 7e98e2de5cab0d1d6fb94514cfbb8c70d63b908e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
import { expect } from 'chai';
import ExtendableError from '../src/index';
class TestError extends ExtendableError {}
class SubTestError extends TestError {}
describe('ExtendableError', () => {
it('instance of', () => {
let err = new ExtendableError();
expect(err).to.be.an.instanceof(Error);
expect(err).to.be.an.instanceof(ExtendableError);
let err2 = new TestError();
expect(err2).to.be.an.instanceof(Error);
expect(err2).to.be.an.instanceof(ExtendableError);
expect(err2).to.be.an.instanceof(TestError);
let err3 = new SubTestError();
expect(err3).to.be.an.instanceof(Error);
expect(err3).to.be.an.instanceof(ExtendableError);
expect(err3).to.be.an.instanceof(TestError);
expect(err3).to.be.an.instanceof(SubTestError);
});
it('.name', () => {
let err = new ExtendableError();
expect(err.name).to.equal('ExtendableError');
let err2 = new TestError();
expect(err2.name).to.equal('TestError');
let err3 = new SubTestError();
expect(err3.name).to.equal('SubTestError');
});
it('name is not enumerable', () => {
let err = new ExtendableError();
expect(err.propertyIsEnumerable('name')).to.be.false;
});
it('.stack', () => {
let err = new ExtendableError();
expect(err.stack).to.be.a('string');
let err2 = new TestError();
expect(err2.stack).to.be.a('string');
});
it('#toString', () => {
let err = new ExtendableError();
expect(err.toString()).to.equal('ExtendableError');
let err2 = new TestError();
expect(err2.toString()).to.equal('TestError');
let err3 = new SubTestError();
expect(err3.toString()).to.equal('SubTestError');
});
it('.message', () => {
let err = new ExtendableError('error occurred');
expect(err.message).to.equal('error occurred');
})
});
|