# Test 'go get' with a local module with a name that is not valid for network lookup.
[short] skip

env GO111MODULE=on
go mod edit -fmt
cp go.mod go.mod.orig

# 'go get -u' within the main module should work, even if it has a local-only name.
cp go.mod.orig go.mod
go get -d -u ./...
grep 'rsc.io/quote.*v1.5.2' go.mod
grep 'golang.org/x/text.*v0.3.0' go.mod
cp go.mod go.mod.implicitmod

# 'go get -u local/...' should be equivalent to 'go get -u ./...'
# (assuming no nested modules)
cp go.mod.orig go.mod
go get -d -u local/...
cmp go.mod go.mod.implicitmod

# For the main module, @patch should be a no-op.
cp go.mod.orig go.mod
go get -d -u local/...@patch
cmp go.mod go.mod.implicitmod

# 'go get -u -d' in the empty root of the main module should fail.
# 'go get -u -d .' should also fail.
cp go.mod.orig go.mod
! go get -u -d
! go get -u -d .

# 'go get -u -d .' within a package in the main module updates the dependencies
# of that package.
cp go.mod.orig go.mod
cd uselang
go get -u -d .
cd ..
grep 'rsc.io/quote.*v1.3.0' go.mod
grep 'golang.org/x/text.*v0.3.0' go.mod
cp go.mod go.mod.dotpkg

# 'go get -u -d' with an explicit package in the main module updates the
# dependencies of that package.
cp go.mod.orig go.mod
go get -u -d local/uselang
cmp go.mod go.mod.dotpkg

-- go.mod --
module local

require (
	golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c
	rsc.io/quote v1.3.0
)

-- uselang/uselang.go --
package uselang
import _ "golang.org/x/text/language"

-- usequote/usequote.go --
package usequote
import _ "rsc.io/quote"
