pierre-tree.test.ts 689 B

1234567891011121314151617181920212223
  1. import { expect, test } from "bun:test"
  2. import { FileTree, type FileTreeDirectoryHandle } from "@pierre/trees"
  3. test("reports directory expansion changes", () => {
  4. const changes: Array<{ path: string; expanded: boolean }> = []
  5. const tree = new FileTree({
  6. paths: ["src/"],
  7. onExpansionChange: (change) => changes.push(change),
  8. })
  9. const src = tree.getItem("src/")
  10. if (!src || !src.isDirectory()) throw new Error("Expected src to be a directory")
  11. const directory = src as FileTreeDirectoryHandle
  12. directory.expand()
  13. directory.collapse()
  14. expect(changes).toEqual([
  15. { path: "src/", expanded: true },
  16. { path: "src/", expanded: false },
  17. ])
  18. tree.cleanUp()
  19. })