44 lines
2.0 KiB
TypeScript
44 lines
2.0 KiB
TypeScript
|
|
import assert from "node:assert/strict";
|
||
|
|
import { readFileSync } from "node:fs";
|
||
|
|
import test from "node:test";
|
||
|
|
|
||
|
|
const source = readFileSync(new URL("./SettingsTerminalTab.tsx", import.meta.url), "utf8");
|
||
|
|
|
||
|
|
test("terminal settings expose cursor line highlight toggle", () => {
|
||
|
|
assert.match(source, /settings\.terminal\.cursor\.highlightLine/);
|
||
|
|
assert.match(source, /checked=\{terminalSettings\.highlightCursorLine\}/);
|
||
|
|
assert.match(source, /updateTerminalSetting\("highlightCursorLine", v\)/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings hide terminal theme pickers while following app theme", () => {
|
||
|
|
assert.match(source, /\{!followAppTerminalTheme && \(/);
|
||
|
|
assert.doesNotMatch(source, /settings\.terminal\.theme\.followingTheme/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings only update the legacy global theme for the active mode", () => {
|
||
|
|
assert.match(source, /if \(themeModalSlot === resolvedTheme\) \{\s*setTerminalThemeId\(id\);/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings expose host key verification toggle", () => {
|
||
|
|
assert.match(source, /settings\.terminal\.connection\.verifyHostKeys/);
|
||
|
|
assert.match(source, /checked=\{terminalSettings\.verifyHostKeys\}/);
|
||
|
|
assert.match(source, /updateTerminalSetting\("verifyHostKeys", v\)/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings expose SSH auto reconnect toggle", () => {
|
||
|
|
assert.match(source, /settings\.terminal\.connection\.sshAutoReconnectEnabled/);
|
||
|
|
assert.match(source, /checked=\{terminalSettings\.sshAutoReconnectEnabled\}/);
|
||
|
|
assert.match(source, /updateTerminalSetting\("sshAutoReconnectEnabled", v\)/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings expose the host information bar toggle", () => {
|
||
|
|
assert.match(source, /checked=\{terminalSettings\.showHostInfoBar\}/);
|
||
|
|
assert.match(source, /updateTerminalSetting\("showHostInfoBar", v\)/);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("terminal settings expose host information title mode when the bar is shown", () => {
|
||
|
|
assert.match(source, /terminalSettings\.showHostInfoBar && \(/);
|
||
|
|
assert.match(source, /updateTerminalSetting\("hostInfoBarTitleMode"/);
|
||
|
|
assert.match(source, /settings\.terminal\.hostInfoBar\.titleMode/);
|
||
|
|
});
|