mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-12 15:13:32 -07:00
44 lines
1.6 KiB
TypeScript
44 lines
1.6 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { runSupportAssetUpdatesForLauncherResult } from './update-support-assets-runtime';
|
|
|
|
test('runSupportAssetUpdatesForLauncherResult logs support-asset errors and preserves launcher result', async () => {
|
|
const warnings: string[] = [];
|
|
const launcherResult = { status: 'updated' } as const;
|
|
const result = await runSupportAssetUpdatesForLauncherResult({
|
|
launcherResult,
|
|
updateSupportAssets: async () => {
|
|
throw new Error('archive failed');
|
|
},
|
|
logWarn: (message, details) => {
|
|
warnings.push(`${message}:${details instanceof Error ? details.message : String(details)}`);
|
|
},
|
|
});
|
|
|
|
assert.equal(result, launcherResult);
|
|
assert.deepEqual(warnings, ['Support asset update failed after launcher update:archive failed']);
|
|
});
|
|
|
|
test('runSupportAssetUpdatesForLauncherResult uses support asset description in skip warnings', async () => {
|
|
const warnings: string[] = [];
|
|
const launcherResult = { status: 'updated' } as const;
|
|
|
|
const result = await runSupportAssetUpdatesForLauncherResult({
|
|
launcherResult,
|
|
assetDescription: 'Support asset update',
|
|
updateSupportAssets: async () => [
|
|
{ status: 'protected', command: 'install-theme' },
|
|
{ status: 'hash-mismatch', message: 'checksum failed' },
|
|
],
|
|
logWarn: (message) => {
|
|
warnings.push(message);
|
|
},
|
|
});
|
|
|
|
assert.equal(result, launcherResult);
|
|
assert.deepEqual(warnings, [
|
|
'Support asset update requires manual command: install-theme',
|
|
'Support asset update skipped: checksum failed',
|
|
]);
|
|
});
|