Files
openit/utils/rm/node_modules/clash-proxy/test/test.js
GitHub Actions cd995d7629 Hello World
2022-06-30 02:18:52 +00:00

31 lines
819 B
JavaScript

const { inspect } = require('util');
const { AssertionError } = require('assert');
/**
* super tiny testing framework
*
* @author Liu song <hi@lsong.org>
* @github https://github.com/song940
*/
const test = async (title, fn) => {
try {
await fn();
console.log(color(`${title}`, 32));
} catch (err) {
console.error(color(`${title}`, 31));
console.log();
if (err instanceof AssertionError) {
console.log(color(` ${err.message}`, 31));
console.error(color(` expected: ${inspect(err.expected)}`, 32));
console.error(color(` actual: ${inspect(err.actual)}`, 31));
} else {
console.log(color(` ${err.stack}`, 31));
}
console.log();
}
};
function color(str, c) {
return "\x1b[" + c + "m" + str + "\x1b[0m";
};
module.exports = test;