feat(sidebar): copy selected names in double-click mode

This commit is contained in:
t8y2
2026-05-15 18:38:27 +08:00
parent 38eba3956c
commit cb3157c5ae
3 changed files with 44 additions and 2 deletions
+10 -1
View File
@@ -1,6 +1,6 @@
import test from "node:test";
import assert from "node:assert/strict";
import { treeNodeRowAction, treeNodeRowDoubleClickAction } from "../src/lib/treeNodeClick.ts";
import { sidebarSelectionCopyAction, treeNodeRowAction, treeNodeRowDoubleClickAction } from "../src/lib/treeNodeClick.ts";
test("table and view rows open data without toggling structure groups", () => {
assert.equal(treeNodeRowAction("table", true), "open-data");
@@ -58,3 +58,12 @@ test("double click does not open object browser for non-browsable rows", () => {
assert.equal(treeNodeRowDoubleClickAction("table", true), "none");
assert.equal(treeNodeRowDoubleClickAction("column", true), "none");
});
test("double click navigation mode copies the selected sidebar row name", () => {
assert.equal(sidebarSelectionCopyAction({ key: "c", metaKey: true }, "double"), "copy-name");
assert.equal(sidebarSelectionCopyAction({ key: "C", ctrlKey: true }, "double"), "copy-name");
});
test("single click navigation mode leaves copy shortcuts alone", () => {
assert.equal(sidebarSelectionCopyAction({ key: "c", metaKey: true }, "single"), "none");
});