50 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|