reduce click capture latency
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
'use strict';
|
||||
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
const CaptureService = require('../../app/capture');
|
||||
|
||||
function makeService() {
|
||||
const store = {
|
||||
addStep() {
|
||||
throw new Error('not used in this test');
|
||||
},
|
||||
};
|
||||
const settings = {
|
||||
get(key) {
|
||||
if (key === 'capture.mode') return 'fullscreen';
|
||||
if (key === 'capture.delayMs') return 0;
|
||||
return null;
|
||||
},
|
||||
};
|
||||
return new CaptureService({
|
||||
store,
|
||||
settings,
|
||||
getWindow: () => null,
|
||||
notify: () => {},
|
||||
});
|
||||
}
|
||||
|
||||
test('click-triggered session capture uses the low-latency hide pause', async () => {
|
||||
const service = makeService();
|
||||
service.session = { guideId: 'guide-1', paused: false, count: 0, intervalSec: 0 };
|
||||
|
||||
let seenOptions = null;
|
||||
service.shoot = async (options) => {
|
||||
seenOptions = options;
|
||||
return { ok: true, step: { stepId: 'step-1' } };
|
||||
};
|
||||
|
||||
const result = await service.sessionCapture('click');
|
||||
|
||||
assert.equal(result.ok, true);
|
||||
assert.equal(service.session.count, 1);
|
||||
assert.deepEqual(seenOptions, {
|
||||
guideId: 'guide-1',
|
||||
mode: 'fullscreen',
|
||||
delayMs: 0,
|
||||
hideWindowDelayMs: 25,
|
||||
refocus: false,
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user