mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-11-10 04:46:07 -08:00
- 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
47 lines
1.8 KiB
TypeScript
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);
|
|
});
|
|
}
|