Skip to content

Commit c1dfaa9

Browse files
committed
test:overload anonymous reference
1 parent b2ea1ec commit c1dfaa9

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

Diff for: gopls/internal/regtest/misc/references_gox_test.go

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package misc
2+
3+
import (
4+
"fmt"
5+
"strings"
6+
"testing"
7+
8+
"github.com/google/go-cmp/cmp"
9+
. "golang.org/x/tools/gopls/internal/lsp/regtest"
10+
)
11+
12+
func TestReferencesOnOverloadMember(t *testing.T) {
13+
const files = `
14+
-- go.mod --
15+
module mod.com
16+
17+
go 1.12
18+
-- def.gop --
19+
func add = (
20+
func(a, b int) int {
21+
return a + b
22+
}
23+
func(a, b string) string {
24+
return a + b
25+
}
26+
)
27+
-- test.gop --
28+
println add(1,2)
29+
println add("Hello", "World")
30+
`
31+
Run(t, files, func(t *testing.T, env *Env) {
32+
env.OpenFile("test.gop")
33+
loc := env.GoToDefinition(env.RegexpSearch("test.gop", `println (add)\(1,2\)`))
34+
refs, err := env.Editor.References(env.Ctx, loc)
35+
if err != nil {
36+
t.Fatalf("references on (*s).Error failed: %v", err)
37+
}
38+
var buf strings.Builder
39+
for _, ref := range refs {
40+
fmt.Fprintf(&buf, "%s %s\n", env.Sandbox.Workdir.URIToPath(ref.URI), ref.Range)
41+
}
42+
got := buf.String()
43+
want := "def.gop 1:1-1:19\n" +
44+
"test.gop 0:8-0:11\n" // overload int call
45+
if diff := cmp.Diff(want, got); diff != "" {
46+
t.Errorf("unexpected references on (*s).Error (-want +got):\n%s", diff)
47+
}
48+
})
49+
}

0 commit comments

Comments
 (0)