nested-error-stacks
Advanced tools
Comparing version
10
index.js
@@ -5,3 +5,2 @@ var util = require('util'); | ||
Error.call(this); | ||
this.message = message; | ||
this.nested = nested; | ||
@@ -13,2 +12,11 @@ | ||
if (typeof message !== 'undefined') { | ||
Object.defineProperty(this, 'message', { | ||
value: message, | ||
writable: true, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
} | ||
Object.defineProperties(this, { | ||
@@ -15,0 +23,0 @@ stack: { |
{ | ||
"name": "nested-error-stacks", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "An Error subclass that will chain nested Errors and dump nested stacktraces", | ||
@@ -5,0 +5,0 @@ "bugs": { |
@@ -33,2 +33,3 @@ Nested stacktraces for Node.js! | ||
```javascript | ||
var NestedError = require('nested-error-stacks'); | ||
@@ -42,1 +43,2 @@ var net = require('net'); | ||
}); | ||
``` |
36
test.js
@@ -7,3 +7,3 @@ var NestedError = require('./index.js'); | ||
describe('NestedErrors', function () { | ||
it('are instances of Error', function () { | ||
@@ -18,3 +18,3 @@ var error = new NestedError(); | ||
var nested = new NestedError(message); | ||
expect(nested.stack).to.contain(message); | ||
@@ -26,9 +26,9 @@ }); | ||
var child = new Error(childMessage); | ||
var message = uuid.v1(); | ||
var nested = new NestedError(message, child); | ||
expect(nested.stack).to.contain('Caused By: ' + child.stack); | ||
}); | ||
it('allows multiple nested errors', function () { | ||
@@ -40,3 +40,3 @@ var childMessage = uuid.v1(); | ||
var child2 = new NestedError(child2Message, child); | ||
var message = uuid.v1(); | ||
@@ -54,3 +54,3 @@ var nested = new NestedError(message, child2); | ||
SubclassError.prototype.name = 'SubclassError'; | ||
var message = uuid.v1(); | ||
@@ -68,6 +68,6 @@ var error = new SubclassError(message); | ||
SubclassError.prototype.name = 'SubclassError'; | ||
var childMessage = uuid.v1(); | ||
var child = new Error(childMessage); | ||
var message = uuid.v1(); | ||
@@ -78,3 +78,19 @@ var error = new SubclassError(message, child); | ||
}); | ||
it('messages are ECMAScript6 compatible', function () { | ||
var nested = new NestedError(uuid.v1()); | ||
var messageDescriptor = Object.getOwnPropertyDescriptor(nested, 'message'); | ||
expect(messageDescriptor.writable).to.be.equal(true); | ||
expect(messageDescriptor.enumerable).to.be.equal(false); | ||
expect(messageDescriptor.configurable).to.be.equal(true); | ||
}); | ||
it('without messages are ECMAScript6 compatible', function () { | ||
var nested = new NestedError(); | ||
var messageDescriptor = Object.getOwnPropertyDescriptor(nested, 'message'); | ||
expect(messageDescriptor).to.be.undefined; | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
7419
12.07%96
24.68%43
4.88%