mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-11-15 04:46:10 -08:00
Drop 16 overlay preload methods with no caller (onSubtitleAss, getCurrentSubtitleAss, onVisibility, getOverlayVisibility, openYomitanSettings, quitApp, toggleOverlay, getMecabStatus, setMecabEnabled, getKeybindings, saveControllerPreference, getAnkiConnectStatus, setAnkiConnectEnabled, clearAnkiConnectHistory, cycleRuntimeOption, appendClipboardVideoToQueue) along with their IPC_CHANNELS keys, handlers, validators and dep plumbing. With both ASS consumers gone, stop observing sub-text/ass in mpv and remove the subtitle-ass-change event chain and appState.currentSubAssText. The main-process functions these wrapped stay; tray, CLI, shortcuts and session actions still use them.
27 lines
862 B
TypeScript
27 lines
862 B
TypeScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import {
|
|
applyRuntimeOptionResultRuntime,
|
|
setRuntimeOptionFromIpcRuntime,
|
|
} from './runtime-options-ipc';
|
|
|
|
test('applyRuntimeOptionResultRuntime emits success OSD message', () => {
|
|
const osd: string[] = [];
|
|
const result = applyRuntimeOptionResultRuntime({ ok: true, osdMessage: 'Updated' }, (text) => {
|
|
osd.push(text);
|
|
});
|
|
|
|
assert.equal(result.ok, true);
|
|
assert.deepEqual(osd, ['Updated']);
|
|
});
|
|
|
|
test('setRuntimeOptionFromIpcRuntime returns unavailable when manager missing', () => {
|
|
const osd: string[] = [];
|
|
const result = setRuntimeOptionFromIpcRuntime(null, 'anki.autoUpdateNewCards', true, (text) => {
|
|
osd.push(text);
|
|
});
|
|
assert.equal(result.ok, false);
|
|
assert.equal(result.error, 'Runtime options manager unavailable');
|
|
assert.deepEqual(osd, []);
|
|
});
|