46 lines
995 B
Go
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")
|
|
}
|
|
}
|