Files
SubMiner/src/main/runtime/startup-mode-flags.test.ts
T
sudacode d9fdc7ef6d feat(dictionary): add Hachidori backend support
- Add backend selection, setup gating, Anki integration, and external host support
- Add launcher flags, documentation, packaging, and focused tests
- Open on-demand overlay modals on the first attempt
2026-09-22 00:21:19 -07:00

47 lines
1.8 KiB
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { parseArgs } from '../../cli/args';
import {
getStartupModeFlags,
shouldHandleInitialArgsBeforeDeferredOverlayWarmup,
shouldRefreshAnilistOnConfigReload,
shouldStartAutomaticUpdateChecks,
} from './startup-mode-flags';
test('settings window startup uses minimal startup and skips background integrations', () => {
const args = parseArgs(['--settings']);
const flags = getStartupModeFlags(args);
assert.equal(flags.shouldUseMinimalStartup, true);
assert.equal(flags.shouldSkipHeavyStartup, true);
assert.equal(shouldRefreshAnilistOnConfigReload(args), false);
assert.equal(shouldStartAutomaticUpdateChecks(args), false);
});
test('normal startup still allows background integrations', () => {
const flags = getStartupModeFlags(null);
assert.equal(flags.shouldUseMinimalStartup, false);
assert.equal(flags.shouldSkipHeavyStartup, false);
assert.equal(shouldRefreshAnilistOnConfigReload(null), true);
assert.equal(shouldStartAutomaticUpdateChecks(null), true);
});
test('managed background playback handles initial args before deferred overlay warmup', () => {
const args = parseArgs(['--start', '--background', '--managed-playback']);
assert.equal(shouldHandleInitialArgsBeforeDeferredOverlayWarmup(args), true);
assert.equal(
shouldHandleInitialArgsBeforeDeferredOverlayWarmup(parseArgs(['--start', '--background'])),
false,
);
assert.equal(shouldHandleInitialArgsBeforeDeferredOverlayWarmup(null), false);
});
for (const flag of ['--yomitan', '--hachidori']) {
test(`${flag} settings startup skips heavy startup`, () => {
assert.equal(getStartupModeFlags(parseArgs([flag])).shouldSkipHeavyStartup, true);
assert.equal(getStartupModeFlags(parseArgs([flag, '--start'])).shouldSkipHeavyStartup, false);
});
}