refactor(core): 重命名 grep_content 工具为 grep
- 重命名 grep_content.ts 为 grep.ts - 更新工具名称从 grep_content 改为 grep - 更新所有引用该工具的代码和测试文件 - 更新描述文件名称
This commit is contained in:
+20
-20
@@ -21,35 +21,35 @@ vi.mock('../../../../src/tools/load_description.js', () => ({
|
||||
loadDescription: vi.fn(() => '在文件内容中搜索文本'),
|
||||
}));
|
||||
|
||||
import { grepContentTool } from '../../../../src/tools/filesystem/grep_content.js';
|
||||
import { grepTool } from '../../../../src/tools/filesystem/grep.js';
|
||||
import * as fs from 'fs/promises';
|
||||
import { getPermissionManager } from '../../../../src/permission/index.js';
|
||||
|
||||
describe('grepContentTool - 内容搜索工具', () => {
|
||||
describe('grepTool - 内容搜索工具', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
describe('工具定义', () => {
|
||||
it('有正确的名称', () => {
|
||||
expect(grepContentTool.name).toBe('grep_content');
|
||||
expect(grepTool.name).toBe('grep');
|
||||
});
|
||||
|
||||
it('有正确的元数据', () => {
|
||||
expect(grepContentTool.metadata.category).toBe('filesystem');
|
||||
expect(grepContentTool.metadata.keywords).toContain('grep');
|
||||
expect(grepContentTool.metadata.keywords).toContain('search');
|
||||
expect(grepContentTool.metadata.keywords).toContain('content');
|
||||
expect(grepTool.metadata.category).toBe('filesystem');
|
||||
expect(grepTool.metadata.keywords).toContain('grep');
|
||||
expect(grepTool.metadata.keywords).toContain('search');
|
||||
expect(grepTool.metadata.keywords).toContain('content');
|
||||
});
|
||||
|
||||
it('定义了必需参数', () => {
|
||||
expect(grepContentTool.parameters.directory.required).toBe(true);
|
||||
expect(grepContentTool.parameters.pattern.required).toBe(true);
|
||||
expect(grepTool.parameters.directory.required).toBe(true);
|
||||
expect(grepTool.parameters.pattern.required).toBe(true);
|
||||
});
|
||||
|
||||
it('定义了可选参数', () => {
|
||||
expect(grepContentTool.parameters.file_pattern.required).toBe(false);
|
||||
expect(grepContentTool.parameters.max_results.required).toBe(false);
|
||||
expect(grepTool.parameters.file_pattern.required).toBe(false);
|
||||
expect(grepTool.parameters.max_results.required).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -60,7 +60,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
] as any);
|
||||
vi.mocked(fs.readFile).mockResolvedValue('const hello = "world";\nconst foo = "bar";');
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'hello',
|
||||
});
|
||||
@@ -76,7 +76,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
] as any);
|
||||
vi.mocked(fs.readFile).mockResolvedValue('const foo = "bar";');
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'notfound',
|
||||
});
|
||||
@@ -92,7 +92,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
] as any);
|
||||
vi.mocked(fs.readFile).mockResolvedValue('const hello = "world";');
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'hello',
|
||||
file_pattern: '*.ts',
|
||||
@@ -112,7 +112,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
'hello1\nhello2\nhello3\nhello4\nhello5'
|
||||
);
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'hello',
|
||||
max_results: 2,
|
||||
@@ -135,7 +135,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
] as any);
|
||||
vi.mocked(fs.readFile).mockResolvedValue('const test = 1;');
|
||||
|
||||
await grepContentTool.execute({
|
||||
await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'test',
|
||||
});
|
||||
@@ -153,7 +153,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
}),
|
||||
} as any);
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '/protected',
|
||||
pattern: 'test',
|
||||
});
|
||||
@@ -171,7 +171,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
}),
|
||||
} as any);
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'test',
|
||||
});
|
||||
@@ -194,7 +194,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
] as any);
|
||||
vi.mocked(fs.readFile).mockResolvedValue('const test = 1;');
|
||||
|
||||
const result = await grepContentTool.execute({
|
||||
const result = await grepTool.execute({
|
||||
directory: '.',
|
||||
pattern: 'test',
|
||||
});
|
||||
@@ -210,7 +210,7 @@ describe('grepContentTool - 内容搜索工具', () => {
|
||||
} as any);
|
||||
vi.mocked(fs.readdir).mockResolvedValue([]);
|
||||
|
||||
await grepContentTool.execute({
|
||||
await grepTool.execute({
|
||||
directory: 'src',
|
||||
pattern: 'test',
|
||||
});
|
||||
@@ -167,7 +167,7 @@ describe('loadDescription', () => {
|
||||
{ tool: 'list_directory', category: 'filesystem' },
|
||||
{ tool: 'create_directory', category: 'filesystem' },
|
||||
{ tool: 'search_files', category: 'filesystem' },
|
||||
{ tool: 'grep_content', category: 'filesystem' },
|
||||
{ tool: 'grep', category: 'filesystem' },
|
||||
{ tool: 'get_file_info', category: 'filesystem' },
|
||||
{ tool: 'move_file', category: 'filesystem' },
|
||||
{ tool: 'copy_file', category: 'filesystem' },
|
||||
|
||||
@@ -116,12 +116,12 @@ describe('toolSearchTool', () => {
|
||||
|
||||
it('搜索结果格式化正确', async () => {
|
||||
vi.mocked(toolRegistry.search).mockReturnValue([
|
||||
{ name: 'grep_content', description: '搜索文件内容', category: 'filesystem' },
|
||||
{ name: 'grep', description: '搜索文件内容', category: 'filesystem' },
|
||||
] as any);
|
||||
|
||||
const result = await toolSearchTool.execute({ query: 'grep' });
|
||||
|
||||
expect(result.output).toContain('- grep_content: 搜索文件内容 [filesystem]');
|
||||
expect(result.output).toContain('- grep: 搜索文件内容 [filesystem]');
|
||||
});
|
||||
|
||||
it('多个搜索结果正确排列', async () => {
|
||||
|
||||
Reference in New Issue
Block a user