Overlay 2.0 (#12)

This commit is contained in:
2026-03-01 02:36:51 -08:00
committed by GitHub
parent 45df3c466b
commit 44c7761c7c
397 changed files with 15139 additions and 7127 deletions
+6 -18
View File
@@ -3,26 +3,17 @@ import assert from 'node:assert/strict';
import {
createEnforceOverlayLayerOrderHandler,
createEnsureOverlayWindowLevelHandler,
createUpdateInvisibleOverlayBoundsHandler,
createUpdateVisibleOverlayBoundsHandler,
} from './overlay-window-layout';
test('visible bounds handler writes visible layer geometry', () => {
const calls: string[] = [];
const calls: Array<{ x: number; y: number; width: number; height: number }> = [];
const handleVisible = createUpdateVisibleOverlayBoundsHandler({
setOverlayWindowBounds: (layer) => calls.push(layer),
setOverlayWindowBounds: (geometry) => calls.push(geometry),
});
handleVisible({ x: 0, y: 0, width: 100, height: 50 });
assert.deepEqual(calls, ['visible']);
});
test('invisible bounds handler writes invisible layer geometry', () => {
const calls: string[] = [];
const handleInvisible = createUpdateInvisibleOverlayBoundsHandler({
setOverlayWindowBounds: (layer) => calls.push(layer),
});
handleInvisible({ x: 0, y: 0, width: 100, height: 50 });
assert.deepEqual(calls, ['invisible']);
const geometry = { x: 0, y: 0, width: 100, height: 50 };
handleVisible(geometry);
assert.deepEqual(calls, [geometry]);
});
test('ensure overlay window level handler delegates to core', () => {
@@ -39,15 +30,12 @@ test('enforce overlay layer order handler forwards resolved state', () => {
const enforce = createEnforceOverlayLayerOrderHandler({
enforceOverlayLayerOrderCore: (params) => {
calls.push(params.visibleOverlayVisible ? 'visible-on' : 'visible-off');
calls.push(params.invisibleOverlayVisible ? 'invisible-on' : 'invisible-off');
params.ensureOverlayWindowLevel({});
},
getVisibleOverlayVisible: () => true,
getInvisibleOverlayVisible: () => false,
getMainWindow: () => ({}),
getInvisibleWindow: () => ({}),
ensureOverlayWindowLevel: () => calls.push('ensure-level'),
});
enforce();
assert.deepEqual(calls, ['visible-on', 'invisible-off', 'ensure-level']);
assert.deepEqual(calls, ['visible-on', 'ensure-level']);
});