43 lines
943 B
JavaScript
43 lines
943 B
JavaScript
const readFile = require("fs").readFileSync;
|
|
const parseScenario = require("./scenarioBuilder").parseScenario;
|
|
|
|
const CASE_DELIM = "#";
|
|
const SPECIAL_TIMEOUT = "wait";
|
|
|
|
function parser() {
|
|
const rawData = readFile("sample", "utf8");
|
|
const lines = rawData.split("\n");
|
|
const allScenarios = [];
|
|
|
|
let scenario = [];
|
|
|
|
for (var line = 0; line < lines.length; line++) {
|
|
const lineData = lines[line].split(" ");
|
|
|
|
var scenarioPhone;
|
|
|
|
if (lineData[0] === CASE_DELIM) {
|
|
scenarioPhone = lineData[1];
|
|
|
|
if (line > 0) {
|
|
allScenarios.push(scenario);
|
|
scenario = [];
|
|
}
|
|
} else if (lineData[0] === SPECIAL_TIMEOUT) {
|
|
scenario.push([
|
|
{
|
|
input: false,
|
|
timeout: true,
|
|
duration: lineData[1] * 1000,
|
|
},
|
|
]);
|
|
} else {
|
|
scenario.push(parseScenario(scenarioPhone, lines[line]));
|
|
}
|
|
}
|
|
|
|
return allScenarios;
|
|
}
|
|
|
|
module.exports = { parser };
|