Gim/internal/syntax/registry_test.go
2026-04-07 11:01:07 -07:00

46 lines
995 B
Go

package syntax
import "testing"
func TestLanguageRegistryResolveByFiletype(t *testing.T) {
r := newLanguageRegistry()
res, ok, err := r.resolve("go", "")
if err != nil {
t.Fatalf("resolve error: %v", err)
}
if !ok || res == nil {
t.Fatalf("expected go to resolve")
}
if res.id != "go" {
t.Fatalf("expected go id, got %q", res.id)
}
}
func TestLanguageRegistryResolveByExtension(t *testing.T) {
r := newLanguageRegistry()
res, ok, err := r.resolve("", "main.js")
if err != nil {
t.Fatalf("resolve error: %v", err)
}
if !ok || res == nil {
t.Fatalf("expected javascript to resolve")
}
if res.id != "javascript" {
t.Fatalf("expected javascript id, got %q", res.id)
}
}
func TestLanguageRegistryUnknown(t *testing.T) {
r := newLanguageRegistry()
res, ok, err := r.resolve("txt", "notes.txt")
if err != nil {
t.Fatalf("expected no error for unknown language, got: %v", err)
}
if ok || res != nil {
t.Fatalf("expected unknown language to not resolve")
}
}