Partie-2/node_modules/stack-chain/test/simple/conflict-format-existing.js
Simon Priet 9e2991e668 init
2021-09-05 22:53:58 +02:00

51 lines
1.1 KiB
JavaScript

var test = require("tap").test;
var defaultFormater = require('../../format.js');
var produce = require('../produce.js');
// Set a formater before stack-chain is required
Error.prepareStackTrace = function (error, frames) {
if (error.test) {
var lines = [];
lines.push(error.toString());
for (var i = 0, l = frames.length; i < l; i++) {
lines.push(frames[i].getFunctionName());
}
return lines.join("\n");
}
return defaultFormater(error, frames);
};
var chain = require('../../');
test("set Error.prepareStackTrace before require", function (t) {
t.test("default formatter replaced", function (t) {
t.equal(produce.real(3), produce.fake([
'Error: trace',
'',
'deepStack',
'deepStack'
]));
t.end();
});
t.test("restore default formater", function (t) {
chain.format.restore();
t.equal(produce.real(3), produce.fake([
'Error: trace',
' at {where}:18:17',
' at deepStack ({where}:5:5)',
' at deepStack ({where}:7:5)'
]));
t.end();
});
t.end();
});