receives tracing events2ms ‣
const t=[{type:"rule.enter",rule:"start",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:0,line:1,column:1}}},{type:"rule.enter",rule:"a",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:0,line:1,column:1}}},{type:"rule.fail",rule:"a",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:0,line:1,column:1}}},{type:"rule.enter",rule:"b",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:0,line:1,column:1}}},{type:"rule.match",rule:"b",result:"b",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:1,line:1,column:2}}},{type:"rule.match",rule:"start",result:"b",location:{source:void 0,start:{offset:0,line:1,column:1},end:{offset:1,line:1,column:2}}}],a={trace:r()};e.parse("b",{tracer:a}),o(a.trace.callCount).to.equal(t.length),t.forEach((e,t)=>{const r=a.trace.getCall(t);o(r.calledWithExactly(e)).to.equal(!0)})