@hazae41/phobos
Version:
Modern and minimalist testing library for the web
36 lines (32 loc) • 962 B
JavaScript
var context = require('../context/context.cjs');
var error = require('../error.cjs');
function unwrap(error$1) {
let message = error$1.message;
while (error$1.cause instanceof error.TestError) {
error$1 = error$1.cause;
message = `${message} > ${error$1.message}`;
}
return new error.TestError(message, { cause: error$1.cause });
}
/**
* Run a test block
* @param message message to show
* @param closure closure to run
* @returns result of closure
*/
async function test(message, closure) {
try {
const context$1 = new context.Context(message);
await closure(context$1);
await context$1.wait();
}
catch (cause) {
if (cause instanceof error.TestError)
throw unwrap(new error.TestError(message, { cause }));
throw new error.TestError(message, { cause });
}
}
exports.test = test;
exports.unwrap = unwrap;
//# sourceMappingURL=global.cjs.map
;