mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 15:15:24 +00:00
48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
resolveTerminalContextMenuAction,
|
|
selectedTextToCopy,
|
|
} from "../../../src/frontend/terminal/terminal-clipboard-actions";
|
|
|
|
describe("terminal clipboard actions", () => {
|
|
it("copies a completed left-button selection when enabled", () => {
|
|
expect(
|
|
selectedTextToCopy({
|
|
copyOnSelect: true,
|
|
button: 0,
|
|
selection: "selected output",
|
|
}),
|
|
).toBe("selected output");
|
|
expect(
|
|
selectedTextToCopy({ copyOnSelect: false, button: 0, selection: "x" }),
|
|
).toBeNull();
|
|
});
|
|
|
|
it("pastes on right-click after copy-on-select", () => {
|
|
expect(
|
|
resolveTerminalContextMenuAction({
|
|
rightClickCopyPaste: true,
|
|
copyOnSelect: true,
|
|
hasSelection: true,
|
|
}),
|
|
).toBe("paste");
|
|
});
|
|
|
|
it("preserves existing right-click and native-menu behavior", () => {
|
|
expect(
|
|
resolveTerminalContextMenuAction({
|
|
rightClickCopyPaste: true,
|
|
copyOnSelect: false,
|
|
hasSelection: true,
|
|
}),
|
|
).toBe("copy");
|
|
expect(
|
|
resolveTerminalContextMenuAction({
|
|
rightClickCopyPaste: false,
|
|
copyOnSelect: true,
|
|
hasSelection: true,
|
|
}),
|
|
).toBe("native");
|
|
});
|
|
});
|