+40
| var v8stack = require("./index.js"); | ||
| var assert = require("assert"); | ||
| var error; | ||
| var prepareStackTrace = Error.prepareStackTrace; | ||
| var stackTraceLimit = 5; | ||
| v8stack.enable(); | ||
| Error.stackTraceLimit = stackTraceLimit; | ||
| error = new Error(); | ||
| assert.strictEqual( | ||
| v8stack.get(error).length, stackTraceLimit, | ||
| "Error.stackTraceLimit not honoured" | ||
| ); | ||
| v8stack.disable(); | ||
| assert.deepEqual( | ||
| Error.prepareStackTrace, prepareStackTrace, | ||
| "Error.prepareStackTrace not restored" | ||
| ); | ||
| v8stack.enable(); | ||
| prepareStackTrace = function() { | ||
| return "test"; | ||
| }; | ||
| Error.prepareStackTrace = prepareStackTrace; | ||
| error = new Error(); | ||
| assert.strictEqual( | ||
| v8stack.get(error).length, stackTraceLimit, | ||
| "Error.stackTraceLimit not honoured" | ||
| ); | ||
| assert.strictEqual( | ||
| error.stack, "test", | ||
| "Error.prepareStackTrace not honoured" | ||
| ); | ||
| v8stack.disable(); | ||
| assert.deepEqual( | ||
| Error.prepareStackTrace, prepareStackTrace, | ||
| "Error.prepareStackTrace honoured but not restored" | ||
| ); |
+5
-5
@@ -51,3 +51,3 @@ /* | ||
| function hijackPrepareStackTrace() { | ||
| if (Error.prepareStackTrace !== hijackPrepareStackTrace) { | ||
| if (Error.prepareStackTrace !== v8stackPrepareStackTrace) { | ||
| prepareStackTrace = Error.prepareStackTrace; | ||
@@ -60,3 +60,3 @@ } | ||
| get: function() { | ||
| return hijackPrepareStackTrace; | ||
| return v8stackPrepareStackTrace; | ||
| }, | ||
@@ -89,3 +89,3 @@ set: function(value) { | ||
| */ | ||
| function hijackPrepareStackTrace(error, v8StackTrace) { | ||
| function v8stackPrepareStackTrace(error, v8StackTrace) { | ||
| if (!error) { | ||
@@ -101,5 +101,5 @@ return; | ||
| } else { | ||
| releasePrepareStackTrace(); | ||
| module.exports.disable(); | ||
| stack = error.stack; | ||
| hijackPrepareStackTrace(); | ||
| module.exports.enable(); | ||
| } | ||
@@ -106,0 +106,0 @@ |
+4
-1
| { | ||
| "name": "v8stack", | ||
| "version": "0.0.3", | ||
| "version": "0.0.4", | ||
| "description": "Access V8 error stack traces", | ||
@@ -24,3 +24,6 @@ "keywords": [ | ||
| }, | ||
| "scripts": { | ||
| "test": "node test.js" | ||
| }, | ||
| "license": "BSD-3-Clause" | ||
| } |
7691
15.31%6
20%145
33.03%