34 lines
1.6 KiB
TypeScript
34 lines
1.6 KiB
TypeScript
import { strict as assert } from "node:assert";
|
|
import test from "node:test";
|
|
import { canTreeNodeExpand, canTreeNodeShowExpander, treeItemPaddingLeft } from "../src/lib/sidebarTreeItemLayout.ts";
|
|
|
|
test("treeItemPaddingLeft converts tree depth to sidebar indentation", () => {
|
|
assert.equal(treeItemPaddingLeft(0), "8px");
|
|
assert.equal(treeItemPaddingLeft(1), "24px");
|
|
assert.equal(treeItemPaddingLeft(2), "40px");
|
|
});
|
|
|
|
test("canTreeNodeExpand only returns true for expandable sidebar node types", () => {
|
|
assert.equal(canTreeNodeExpand("connection"), true);
|
|
assert.equal(canTreeNodeExpand("database"), true);
|
|
assert.equal(canTreeNodeExpand("schema"), true);
|
|
assert.equal(canTreeNodeExpand("table"), true);
|
|
assert.equal(canTreeNodeExpand("view"), true);
|
|
assert.equal(canTreeNodeExpand("saved-sql-root"), true);
|
|
assert.equal(canTreeNodeExpand("saved-sql-folder"), true);
|
|
|
|
assert.equal(canTreeNodeExpand("saved-sql-file"), false);
|
|
assert.equal(canTreeNodeExpand("object-browser"), false);
|
|
assert.equal(canTreeNodeExpand("column"), false);
|
|
assert.equal(canTreeNodeExpand("index"), false);
|
|
assert.equal(canTreeNodeExpand("redis-db"), false);
|
|
assert.equal(canTreeNodeExpand("mongo-collection"), false);
|
|
});
|
|
|
|
test("canTreeNodeShowExpander hides empty saved SQL containers", () => {
|
|
assert.equal(canTreeNodeShowExpander({ type: "saved-sql-root", childCount: 0 }), false);
|
|
assert.equal(canTreeNodeShowExpander({ type: "saved-sql-folder", childCount: 0 }), false);
|
|
assert.equal(canTreeNodeShowExpander({ type: "saved-sql-root", childCount: 1 }), true);
|
|
assert.equal(canTreeNodeShowExpander({ type: "saved-sql-folder", childCount: 1 }), true);
|
|
});
|