Outlook_Addin_LLM/node_modules/stack-chain/test/simple/callSite-property.js

62 lines
1.3 KiB
JavaScript
Raw Normal View History

var test = require("tap").test;
var chain = require('../../');
var produce = require('../produce.js');
Error.stackTraceLimit = Infinity;
test("stack extend part", function (t) {
var modify = function (text) {
return function (error, frames) {
if (error.test) {
frames.push(text);
}
return frames;
};
};
t.test("no extend modifier attached", function (t) {
var error = new Error();
error.test = error;
var original = error.callSite.original.length;
var mutated = error.callSite.mutated.length;
t.strictEqual(mutated, original);
t.end();
});
t.test("attach modifier", function (t) {
var error = new Error();
error.test = error;
var wonderLand = modify("wonder land");
chain.extend.attach(wonderLand);
var original = error.callSite.original.length;
var mutated = error.callSite.mutated.length;
t.strictEqual(mutated, original + 1);
chain.extend.deattach(wonderLand);
t.end();
});
t.test("setting callSite", function (t) {
var error = new Error();
error.test = error;
error.correct = true;
error.callSite = "custom";
t.strictEqual(error.callSite, "custom");
error.stack;
t.strictEqual(error.callSite, "custom");
t.end();
});
t.end();
});