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') }) })