mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-08-05 19:21:35 -07:00
80 lines
3.0 KiB
TypeScript
80 lines
3.0 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import {
|
|
createBuildBroadcastRuntimeOptionsChangedMainDepsHandler,
|
|
createBuildGetRuntimeOptionsStateMainDepsHandler,
|
|
createBuildOpenRuntimeOptionsPaletteMainDepsHandler,
|
|
createBuildRestorePreviousSecondarySubVisibilityMainDepsHandler,
|
|
createBuildSendToActiveOverlayWindowMainDepsHandler,
|
|
createBuildSetOverlayDebugVisualizationEnabledMainDepsHandler,
|
|
} from './overlay-runtime-main-actions-main-deps';
|
|
|
|
test('get runtime options state main deps builder maps callbacks', () => {
|
|
const manager = { listOptions: () => [] };
|
|
const deps = createBuildGetRuntimeOptionsStateMainDepsHandler({
|
|
getRuntimeOptionsManager: () => manager,
|
|
})();
|
|
assert.equal(deps.getRuntimeOptionsManager(), manager);
|
|
});
|
|
|
|
test('restore secondary sub visibility main deps builder maps callbacks', () => {
|
|
const deps = createBuildRestorePreviousSecondarySubVisibilityMainDepsHandler({
|
|
getMpvClient: () => ({ connected: true, restorePreviousSecondarySubVisibility: () => {} }),
|
|
})();
|
|
assert.equal(deps.getMpvClient()?.connected, true);
|
|
});
|
|
|
|
test('broadcast runtime options changed main deps builder maps callbacks', () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildBroadcastRuntimeOptionsChangedMainDepsHandler({
|
|
broadcastRuntimeOptionsChangedRuntime: () => calls.push('broadcast-runtime'),
|
|
getRuntimeOptionsState: () => [],
|
|
broadcastToOverlayWindows: (channel) => calls.push(channel),
|
|
})();
|
|
|
|
deps.broadcastRuntimeOptionsChangedRuntime(
|
|
() => [],
|
|
() => {},
|
|
);
|
|
deps.broadcastToOverlayWindows('runtime-options:changed');
|
|
assert.deepEqual(deps.getRuntimeOptionsState(), []);
|
|
assert.deepEqual(calls, ['broadcast-runtime', 'runtime-options:changed']);
|
|
});
|
|
|
|
test('send to active overlay window main deps builder maps callbacks', () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildSendToActiveOverlayWindowMainDepsHandler({
|
|
sendToActiveOverlayWindowRuntime: () => {
|
|
calls.push('send');
|
|
return true;
|
|
},
|
|
})();
|
|
|
|
assert.equal(deps.sendToActiveOverlayWindowRuntime('x'), true);
|
|
assert.deepEqual(calls, ['send']);
|
|
});
|
|
|
|
test('set overlay debug visualization main deps builder maps callbacks', () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildSetOverlayDebugVisualizationEnabledMainDepsHandler({
|
|
setOverlayDebugVisualizationEnabledRuntime: () => calls.push('set-runtime'),
|
|
getCurrentEnabled: () => false,
|
|
setCurrentEnabled: () => calls.push('set-current'),
|
|
})();
|
|
|
|
deps.setOverlayDebugVisualizationEnabledRuntime(false, true, () => {});
|
|
assert.equal(deps.getCurrentEnabled(), false);
|
|
deps.setCurrentEnabled(true);
|
|
assert.deepEqual(calls, ['set-runtime', 'set-current']);
|
|
});
|
|
|
|
test('open runtime options palette main deps builder maps callbacks', () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildOpenRuntimeOptionsPaletteMainDepsHandler({
|
|
openRuntimeOptionsPaletteRuntime: () => calls.push('open'),
|
|
})();
|
|
|
|
deps.openRuntimeOptionsPaletteRuntime();
|
|
assert.deepEqual(calls, ['open']);
|
|
});
|