@opstarts/chimp
Version:
Develop acceptance tests & end-to-end tests with realtime feedback.
51 lines (38 loc) • 1.09 kB
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();
});