| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { describe, expect, test } from "bun:test";
- import { extractGlobBaseDirectory } from "../glob";
- describe("extractGlobBaseDirectory", () => {
- test("extracts base dir from glob with *", () => {
- const result = extractGlobBaseDirectory("src/utils/*.ts");
- expect(result.baseDir).toBe("src/utils");
- expect(result.relativePattern).toBe("*.ts");
- });
- test("extracts base dir from glob with **", () => {
- const result = extractGlobBaseDirectory("src/**/*.ts");
- expect(result.baseDir).toBe("src");
- expect(result.relativePattern).toBe("**/*.ts");
- });
- test("returns dirname for literal path", () => {
- const result = extractGlobBaseDirectory("src/utils/file.ts");
- expect(result.baseDir).toBe("src/utils");
- expect(result.relativePattern).toBe("file.ts");
- });
- test("handles glob starting with pattern", () => {
- const result = extractGlobBaseDirectory("*.ts");
- expect(result.baseDir).toBe("");
- expect(result.relativePattern).toBe("*.ts");
- });
- test("handles braces pattern", () => {
- const result = extractGlobBaseDirectory("src/{a,b}/*.ts");
- expect(result.baseDir).toBe("src");
- expect(result.relativePattern).toBe("{a,b}/*.ts");
- });
- test("handles question mark pattern", () => {
- const result = extractGlobBaseDirectory("src/?.ts");
- expect(result.baseDir).toBe("src");
- expect(result.relativePattern).toBe("?.ts");
- });
- });
|