mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-21 00:11:27 -07:00
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import {
|
|
createBuildSetVisibleOverlayVisibleMainDepsHandler,
|
|
createBuildToggleVisibleOverlayMainDepsHandler,
|
|
} from './overlay-visibility-actions-main-deps';
|
|
|
|
test('overlay visibility action main deps builders map callbacks', () => {
|
|
const calls: string[] = [];
|
|
let warmupStarts = 0;
|
|
|
|
const setVisible = createBuildSetVisibleOverlayVisibleMainDepsHandler({
|
|
setVisibleOverlayVisibleCore: () => calls.push('visible-core'),
|
|
setVisibleOverlayVisibleState: (visible) => calls.push(`visible-state:${visible}`),
|
|
updateVisibleOverlayVisibility: () => calls.push('update-visible'),
|
|
onVisibleOverlayEnabled: () => {
|
|
warmupStarts += 1;
|
|
},
|
|
})();
|
|
setVisible.setVisibleOverlayVisibleCore({
|
|
visible: true,
|
|
setVisibleOverlayVisibleState: () => {},
|
|
updateVisibleOverlayVisibility: () => {},
|
|
});
|
|
setVisible.setVisibleOverlayVisibleState(true);
|
|
setVisible.updateVisibleOverlayVisibility();
|
|
setVisible.onVisibleOverlayEnabled?.();
|
|
|
|
const toggleVisible = createBuildToggleVisibleOverlayMainDepsHandler({
|
|
getVisibleOverlayVisible: () => false,
|
|
setVisibleOverlayVisible: (visible) => calls.push(`toggle-visible:${visible}`),
|
|
})();
|
|
assert.equal(toggleVisible.getVisibleOverlayVisible(), false);
|
|
toggleVisible.setVisibleOverlayVisible(true);
|
|
|
|
assert.deepEqual(calls, [
|
|
'visible-core',
|
|
'visible-state:true',
|
|
'update-visible',
|
|
'toggle-visible:true',
|
|
]);
|
|
assert.equal(warmupStarts, 1);
|
|
});
|