Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions kai-core/parse/parse.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,7 @@ func (p *Parser) Parse(content []byte, lang string) (*ParsedFile, error) {
parser = p.rsParser
extractFn = extractRustSymbols
default:
// Default to JavaScript parser for unknown languages
parser = p.jsParser
extractFn = extractSymbols
return nil, fmt.Errorf("unsupported language: %s", lang)
}

tree, err := parser.ParseCtx(context.Background(), nil, content)
Expand Down
21 changes: 21 additions & 0 deletions kai-core/parse/parse_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,27 @@ function hello(name) {
}
}

func TestParser_ParseUnsupportedLanguage(t *testing.T) {
parser := NewParser()

code := []byte(`
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
`)

_, err := parser.Parse(code, "java")
if err == nil {
t.Fatal("Expected error for unsupported language 'java', got nil")
}

if err.Error() != "unsupported language: java" {
t.Errorf("Expected error message to contain 'unsupported', got: %v", err)
}
}

func TestParser_ParseClass(t *testing.T) {
parser := NewParser()

Expand Down