diff --git a/test/unit/io_clock.js b/test/unit/io_clock.js index 03ee48fb..a7248de6 100644 --- a/test/unit/io_clock.js +++ b/test/unit/io_clock.js @@ -35,3 +35,24 @@ test('cycle', t => { rt._step(); t.ok(c.projectTimer() > 0); }); + +test('reset on runtime dispose', t => { + const rt = new Runtime(); + const c = rt.ioDevices.clock; + let simulatedTime = 0; + + c._projectTimer = { + timeElapsed: () => simulatedTime, + start: () => { + simulatedTime = 0; + } + }; + + t.ok(c.projectTimer() === 0); + simulatedTime += 1000; + t.ok(c.projectTimer() === 1); + rt.dispose(); + // When the runtime is disposed, the clock should be reset + t.ok(c.projectTimer() === 0); + t.end(); +});