69 lines
1.9 KiB
TypeScript
69 lines
1.9 KiB
TypeScript
|
|
import test from 'node:test';
|
||
|
|
import assert from 'node:assert/strict';
|
||
|
|
|
||
|
|
import {
|
||
|
|
DEFAULT_STARTUP_LANDING,
|
||
|
|
isStartupLanding,
|
||
|
|
resolveStartupLandingSetting,
|
||
|
|
shouldOpenLocalTerminalOnStartup,
|
||
|
|
} from './startupLanding.ts';
|
||
|
|
|
||
|
|
test('startup landing defaults to vault', () => {
|
||
|
|
assert.equal(DEFAULT_STARTUP_LANDING, 'vault');
|
||
|
|
assert.equal(resolveStartupLandingSetting(null), 'vault');
|
||
|
|
assert.equal(resolveStartupLandingSetting(undefined), 'vault');
|
||
|
|
assert.equal(resolveStartupLandingSetting('nope'), 'vault');
|
||
|
|
});
|
||
|
|
|
||
|
|
test('startup landing accepts stored values', () => {
|
||
|
|
assert.equal(isStartupLanding('vault'), true);
|
||
|
|
assert.equal(isStartupLanding('local-terminal'), true);
|
||
|
|
assert.equal(isStartupLanding('sftp'), false);
|
||
|
|
assert.equal(resolveStartupLandingSetting('vault'), 'vault');
|
||
|
|
assert.equal(resolveStartupLandingSetting('local-terminal'), 'local-terminal');
|
||
|
|
});
|
||
|
|
|
||
|
|
test('should open local terminal only for empty main-window cold start', () => {
|
||
|
|
assert.equal(
|
||
|
|
shouldOpenLocalTerminalOnStartup({
|
||
|
|
startupLanding: 'local-terminal',
|
||
|
|
hasRestoredSessionState: false,
|
||
|
|
isPeerSessionWindow: false,
|
||
|
|
}),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
shouldOpenLocalTerminalOnStartup({
|
||
|
|
startupLanding: 'vault',
|
||
|
|
hasRestoredSessionState: false,
|
||
|
|
isPeerSessionWindow: false,
|
||
|
|
}),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
shouldOpenLocalTerminalOnStartup({
|
||
|
|
startupLanding: 'local-terminal',
|
||
|
|
hasRestoredSessionState: true,
|
||
|
|
isPeerSessionWindow: false,
|
||
|
|
}),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
shouldOpenLocalTerminalOnStartup({
|
||
|
|
startupLanding: 'local-terminal',
|
||
|
|
hasRestoredSessionState: false,
|
||
|
|
isPeerSessionWindow: true,
|
||
|
|
}),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
shouldOpenLocalTerminalOnStartup({
|
||
|
|
startupLanding: 'local-terminal',
|
||
|
|
hasRestoredSessionState: false,
|
||
|
|
isPeerSessionWindow: false,
|
||
|
|
hasQueuedStartupIntent: true,
|
||
|
|
}),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
});
|