mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-13 20:12:54 -07:00
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import {
|
|
createBuildEnsureYomitanExtensionLoadedMainDepsHandler,
|
|
createBuildLoadYomitanExtensionMainDepsHandler,
|
|
} from './yomitan-extension-loader-main-deps';
|
|
|
|
test('load yomitan extension main deps builder maps callbacks', async () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildLoadYomitanExtensionMainDepsHandler({
|
|
loadYomitanExtensionCore: async () => {
|
|
calls.push('load-core');
|
|
return null;
|
|
},
|
|
userDataPath: '/tmp/subminer',
|
|
externalProfilePath: '/tmp/gsm-profile',
|
|
getYomitanParserWindow: () => null,
|
|
setYomitanParserWindow: () => calls.push('set-window'),
|
|
setYomitanParserReadyPromise: () => calls.push('set-ready'),
|
|
setYomitanParserInitPromise: () => calls.push('set-init'),
|
|
setYomitanExtension: () => calls.push('set-ext'),
|
|
setYomitanSession: () => calls.push('set-session'),
|
|
})();
|
|
|
|
assert.equal(deps.userDataPath, '/tmp/subminer');
|
|
assert.equal(deps.externalProfilePath, '/tmp/gsm-profile');
|
|
await deps.loadYomitanExtensionCore({} as never);
|
|
deps.setYomitanParserWindow(null);
|
|
deps.setYomitanParserReadyPromise(null);
|
|
deps.setYomitanParserInitPromise(null);
|
|
deps.setYomitanExtension(null);
|
|
deps.setYomitanSession(null as never);
|
|
assert.deepEqual(calls, [
|
|
'load-core',
|
|
'set-window',
|
|
'set-ready',
|
|
'set-init',
|
|
'set-ext',
|
|
'set-session',
|
|
]);
|
|
});
|
|
|
|
test('ensure yomitan extension loaded main deps builder maps callbacks', async () => {
|
|
const calls: string[] = [];
|
|
const deps = createBuildEnsureYomitanExtensionLoadedMainDepsHandler({
|
|
getYomitanExtension: () => null,
|
|
getLoadInFlight: () => null,
|
|
setLoadInFlight: () => calls.push('set-inflight'),
|
|
loadYomitanExtension: async () => {
|
|
calls.push('load');
|
|
return null;
|
|
},
|
|
})();
|
|
|
|
assert.equal(deps.getYomitanExtension(), null);
|
|
assert.equal(deps.getLoadInFlight(), null);
|
|
deps.setLoadInFlight(null);
|
|
await deps.loadYomitanExtension();
|
|
assert.deepEqual(calls, ['set-inflight', 'load']);
|
|
});
|