20 lines
1 KiB
JavaScript
Executable file
20 lines
1 KiB
JavaScript
Executable file
const fs = require('fs');
|
|
const text = fs.readFileSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep-parity.test.tsx', 'utf8');
|
|
const regex = /^\s*it\([\'\"\].*?[\'\"\],\s*(?:async\s*)?\(\)\s*=>\s*\{/gm;
|
|
let matches = [];
|
|
let match;
|
|
while ((match = regex.exec(text)) !== null) { matches.push(match.index); }
|
|
let tailIdx = text.lastIndexOf('})');
|
|
let prefix = text.substring(0, matches[0]);
|
|
let suffix = text.substring(tailIdx);
|
|
let batchSize = Math.ceil(matches.length / 4);
|
|
|
|
for (let i = 0; i < 4; i++) {
|
|
let chunk = matches.slice(i * batchSize, (i + 1) * batchSize);
|
|
if (!chunk.length) break;
|
|
let start = chunk[0];
|
|
let end = (i === 3 || !matches[(i+1)*batchSize]) ? tailIdx : matches[(i+1)*batchSize];
|
|
let body = text.substring(start, end);
|
|
fs.writeFileSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep.part' + (i+1) + '.test.tsx', prefix + body + suffix);
|
|
}
|
|
fs.unlinkSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep-parity.test.tsx');
|