Global Metrics
path: .metrics.halstead.N2
old: 272.0
new: 273.0
path: .metrics.halstead.bugs
old: 1.1515153186222769
new: 1.1554808242367764
path: .metrics.halstead.effort
old: 203042.27073003276
new: 204092.0067344964
path: .metrics.halstead.purity_ratio
old: 1.0790896242981702
new: 1.0774862221818282
path: .metrics.halstead.length
old: 672.0
new: 673.0
path: .metrics.halstead.difficulty
old: 43.82222222222222
new: 43.983333333333334
path: .metrics.halstead.time
old: 11280.126151668486
new: 11338.444818583135
path: .metrics.halstead.volume
old: 4633.317536942938
new: 4640.2123547062465
path: .metrics.halstead.level
old: 0.02281947261663286
new: 0.022735884804850323
path: .metrics.mi.mi_original
old: 25.5532239439257
new: 25.545491600493506
path: .metrics.mi.mi_sei
old: -2.1126236029653036
new: -2.1237790164894115
path: .metrics.mi.mi_visual_studio
old: 14.943405815161228
new: 14.938883976896786
Spaces Data
Minimal test - lines (217, 244)
path: .spaces[5].metrics.halstead.purity_ratio
old: 1.7340883888430534
new: 1.7184659709255483
path: .spaces[5].metrics.halstead.time
old: 564.4194600753212
new: 582.7959076126573
path: .spaces[5].metrics.halstead.volume
old: 596.8891230172308
new: 602.3153877719328
path: .spaces[5].metrics.halstead.N2
old: 43.0
new: 44.0
path: .spaces[5].metrics.halstead.bugs
old: 0.15636098633423162
new: 0.15973671333169617
path: .spaces[5].metrics.halstead.level
old: 0.0587515299877601
new: 0.057416267942583726
path: .spaces[5].metrics.halstead.difficulty
old: 17.020833333333332
new: 17.416666666666668
path: .spaces[5].metrics.halstead.effort
old: 10159.55028135578
new: 10490.326337027833
path: .spaces[5].metrics.halstead.length
old: 110.0
new: 111.0
path: .spaces[5].metrics.mi.mi_sei
old: 57.53026472040712
new: 57.462372725714786
path: .spaces[5].metrics.mi.mi_original
old: 81.71128379787773
new: 81.66422465317414
path: .spaces[5].metrics.mi.mi_visual_studio
old: 47.784376489986975
new: 47.75685652232406
Code
async function waitForEvents(events, message, ordered = false) {
let expected = events.expected || events;
let unexpected = events.unexpected || [];
// Next expected event index.
let currentIdx = 0;
let unexpectedListener = new UnexpectedEvents(unexpected);
let results = await Promise.all(
expected.map((evt, idx) => {
const [eventType, matchCriteria] = evt;
return waitForEvent(eventType, matchCriteria, message).then(result => {
return [result, idx == currentIdx++];
});
})
);
unexpectedListener.stop();
if (ordered) {
ok(
results.every(([, isOrdered]) => isOrdered),
`${message ? message + ": " : ""}Correct event order`
);
}
return results.map(([event]) => event);
}