Files
MonocoEditor-With-Lsp-Backend/backend/internal/lsp/client_test.go
2026-02-15 15:55:49 +08:00

50 lines
1.1 KiB
Go

package lsp
import (
"path/filepath"
"testing"
)
func TestNormalizeURIRebasesRelativeFileURI(t *testing.T) {
workspace, err := filepath.Abs(filepath.Join("testdata", "ws"))
if err != nil {
t.Fatalf("filepath.Abs() error = %v", err)
}
client := &Client{workspaceDir: workspace}
got, err := client.normalizeURI("file:///main.go")
if err != nil {
t.Fatalf("normalizeURI() error = %v", err)
}
want, err := pathToURI(filepath.Join(workspace, "main.go"))
if err != nil {
t.Fatalf("pathToURI() error = %v", err)
}
if got != want {
t.Fatalf("normalizeURI() = %q, want %q", got, want)
}
}
func TestNormalizeURIKeepsAbsoluteFileURI(t *testing.T) {
workspace, err := filepath.Abs(filepath.Join("testdata", "ws"))
if err != nil {
t.Fatalf("filepath.Abs() error = %v", err)
}
client := &Client{workspaceDir: workspace}
absPath := filepath.Join(workspace, "demo.go")
uri, err := pathToURI(absPath)
if err != nil {
t.Fatalf("pathToURI() error = %v", err)
}
got, err := client.normalizeURI(uri)
if err != nil {
t.Fatalf("normalizeURI() error = %v", err)
}
if got != uri {
t.Fatalf("normalizeURI() = %q, want %q", got, uri)
}
}