1import assert from 'node:assert/strict';2import test from 'node:test';34import {5 FRAME_CHANNEL_CAPACITY,6 activateFrameSession,7 isActiveFrameSession,8 newFrameSession,9 stageFrameAcknowledgment,10} from './frame-session.mjs';1112test('pre-result acknowledgments stay bounded and flush with the active generation', () => {13 const session = newFrameSession();14 for (let index = 0; index < FRAME_CHANNEL_CAPACITY; index++) {15 assert.equal(stageFrameAcknowledgment(session), null);16 }17 assert.throws(() => stageFrameAcknowledgment(session), /capacity exceeded/);18 assert.deepEqual(activateFrameSession(session, 12), {19 acknowledgments: [12, 12, 12, 12],20 });21 assert.equal(stageFrameAcknowledgment(session), 12);22});2324test('only the current non-closing frame session owns callbacks', () => {25 const current = newFrameSession();26 const stale = newFrameSession();27 assert.equal(isActiveFrameSession(current, current), true);28 assert.equal(isActiveFrameSession(stale, current), false);29 current.closing = true;30 assert.equal(isActiveFrameSession(current, current), false);31});