marked/test/specs/redos-spec.js

25 lines
642 B
JavaScript
Raw Normal View History

const path = require('path');
const fs = require('fs');
const redosDir = path.resolve(__dirname, '../redos');
describe('ReDOS tests', () => {
const files = fs.readdirSync(redosDir);
files.forEach(file => {
if (!file.match(/\.js$/)) {
return;
}
2019-04-12 11:33:41 -05:00
const spec = require(path.resolve(redosDir, file));
(spec.only ? fit : it)(file, () => {
const before = process.hrtime();
expect(spec).toRender(spec.html);
const elapsed = process.hrtime(before);
if (elapsed[0] > 0) {
const s = (elapsed[0] + elapsed[1] * 1e-9).toFixed(3);
fail(`took too long: ${s}s`);
}
});
});
});