in x-test.js [1015:1047]
static number(context, stepId) {
const step = context.state.steps[stepId];
switch (step.type) {
case 'it': {
const it = context.state.its[step.itId]; // eslint-disable-line no-shadow
const parentChildren = it.parents.at(-1)?.type === 'describe'
? context.state.describes[it.parents.at(-1).describeId].children
: context.state.tests[it.parents.at(-1).testId].children;
const index = parentChildren.findIndex(candidate => candidate.itId === it.itId);
return index + 1;
}
case 'describe-end': {
const describe = context.state.describes[step.describeId]; // eslint-disable-line no-shadow
const parentChildren = describe.parents.at(-1)?.type === 'describe'
? context.state.describes[describe.parents.at(-1).describeId].children
: context.state.tests[describe.parents.at(-1).testId].children;
const index = parentChildren.findIndex(candidate => candidate.describeId === describe.describeId);
return index + 1;
}
case 'test-end': {
const test = context.state.tests[step.testId]; // eslint-disable-line no-shadow
const index = context.state.children.findIndex(candidate => candidate.testId === test.testId);
return index + 1;
}
case 'coverage': {
const coverage = context.state.coverages[step.coverageId]; // eslint-disable-line no-shadow
const index = context.state.children.findIndex(candidate => candidate.coverageId === coverage.coverageId);
return index + 1;
}
default:
throw new Error(`Unexpected type "${step.type}".`);
}
}