+++ /dev/null
-package regtest
-
-import (
- "testing"
-
- "golang.org/x/tools/internal/lsp"
- "golang.org/x/tools/internal/testenv"
-)
-
-const basicProxy = `
--- golang.org/x/hello@v1.2.3/go.mod --
-module golang.org/x/hello
-
-go 1.14
--- golang.org/x/hello@v1.2.3/hi/hi.go --
-package hi
-
-var Goodbye error
-`
-
-func TestInconsistentVendoring(t *testing.T) {
- testenv.NeedsGo1Point(t, 14)
- const pkgThatUsesVendoring = `
--- go.mod --
-module mod.com
-
-go 1.14
-
-require golang.org/x/hello v1.2.3
--- vendor/modules.txt --
--- a/a1.go --
-package a
-
-import "golang.org/x/hello/hi"
-
-func _() {
- _ = hi.Goodbye
- var q int // hardcode a diagnostic
-}
-`
- // TODO(rstambler): Remove this when golang/go#41819 is resolved.
- withOptions(
- WithModes(WithoutExperiments),
- WithProxyFiles(basicProxy),
- ).run(t, pkgThatUsesVendoring, func(t *testing.T, env *Env) {
- env.OpenFile("a/a1.go")
- env.Await(
- // The editor should pop up a message suggesting that the user
- // run `go mod vendor`, along with a button to do so.
- // By default, the fake editor always accepts such suggestions,
- // so once we see the request, we can assume that `go mod vendor`
- // will be executed.
- OnceMet(
- CompletedWork(lsp.DiagnosticWorkTitle(lsp.FromDidOpen), 1),
- ShowMessageRequest("go mod vendor"),
- ),
- )
- env.CheckForFileChanges()
- env.Await(
- OnceMet(
- CompletedWork(lsp.DiagnosticWorkTitle(lsp.FromDidChangeWatchedFiles), 1),
- DiagnosticAt("a/a1.go", 6, 5),
- ),
- )
- })
-}