mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +00:00
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
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')
|
|
})
|
|
})
|