2020-08-13 10:48:39 -06:00
|
|
|
// Copyright 2020 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package regtest
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2020-08-17 12:36:26 -06:00
|
|
|
func TestStdlibReferences(t *testing.T) {
|
2020-08-13 10:48:39 -06:00
|
|
|
const files = `
|
|
|
|
-- go.mod --
|
|
|
|
module mod.com
|
|
|
|
|
|
|
|
-- main.go --
|
|
|
|
package main
|
|
|
|
|
|
|
|
import "fmt"
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
fmt.Print()
|
|
|
|
}
|
|
|
|
`
|
|
|
|
|
|
|
|
run(t, files, func(t *testing.T, env *Env) {
|
|
|
|
env.OpenFile("main.go")
|
|
|
|
file, pos := env.GoToDefinition("main.go", env.RegexpSearch("main.go", `fmt.(Print)`))
|
|
|
|
refs, err := env.Editor.References(env.Ctx, file, pos)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
if len(refs) != 2 {
|
|
|
|
t.Fatalf("got %v reference(s), want 2", len(refs))
|
|
|
|
}
|
|
|
|
// The first reference is guaranteed to be the definition.
|
|
|
|
if got, want := refs[1].URI, env.Sandbox.Workdir.URI("main.go"); got != want {
|
|
|
|
t.Errorf("found reference in %v, wanted %v", got, want)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|