bugger-mcp
Version:
MCP Server for managing bugs, feature requests, and improvements
47 lines • 2.06 kB
JavaScript
// Test script for TreeSitterCodeAnalyzer
import { TreeSitterCodeAnalyzer } from './treesitter-code-analyzer.js';
async function testTreeSitterAnalyzer() {
console.log('Testing TreeSitterCodeAnalyzer...');
const analyzer = new TreeSitterCodeAnalyzer(process.cwd());
try {
// Test 1: Find function definitions
console.log('\n1. Testing function discovery...');
const functions = await analyzer.findFunctionDefinitions();
console.log(`Found ${functions.length} functions`);
if (functions.length > 0) {
console.log('Sample function:', {
name: functions[0].name,
filePath: functions[0].filePath.split('/').pop(),
signature: functions[0].signature.substring(0, 60) + '...'
});
}
// Test 2: Find class definitions
console.log('\n2. Testing class discovery...');
const classes = await analyzer.findClassDefinitions();
console.log(`Found ${classes.length} classes`);
if (classes.length > 0) {
console.log('Sample class:', {
name: classes[0].name,
filePath: classes[0].filePath.split('/').pop(),
methods: classes[0].methods.slice(0, 3)
});
}
// Test 3: Pattern matching
console.log('\n3. Testing pattern matching...');
const patterns = await analyzer.findSimilarPatterns('function test() { return true; }');
console.log(`Found ${patterns.length} similar patterns`);
if (patterns.length > 0) {
console.log('Sample pattern:', {
filePath: patterns[0].filePath.split('/').pop(),
similarity: patterns[0].similarity.toFixed(2),
matchType: patterns[0].matchType
});
}
console.log('\n✅ TreeSitterCodeAnalyzer tests completed successfully!');
}
catch (error) {
console.error('❌ Test failed:', error);
}
}
testTreeSitterAnalyzer();
//# sourceMappingURL=test-treesitter.js.map