import test from 'node:test'; import assert from 'node:assert/strict'; import {EditDiagnostics} from '../edit-diagnostics.js'; test('edit timings separate round trip and mesh publication, and ignore unrelated changes',()=>{ const d=new EditDiagnostics();d.request([16,2,-1],0,10); d.confirmed([{pos:[16,2,-1],block:2}],20); assert.equal(d.published('1,0,-1',30),null); d.confirmed([{pos:[16,2,-1],block:0}],25); assert.equal(d.published('0,0,-1',40),null); assert.deepEqual(d.published('1,0,-1',45),{acknowledgementMs:15,geometryMs:20,totalMs:35}); assert.equal(d.published('1,0,-1',50),null); }); test('expired requests and world resets cannot produce misleading edit timings',()=>{ const d=new EditDiagnostics();d.request([0,0,0],1,0); d.confirmed([{pos:[0,0,0],block:1}],6000); assert.equal(d.published('0,0,0',6001),null); d.request([0,0,0],1,6002);d.confirmed([{pos:[0,0,0],block:1}],6003);d.reset(); assert.equal(d.published('0,0,0',6004),null);assert.equal(d.last,null); });