This test checks that unimported completion is case-insensitive.

-- go.mod --
module mod.test

go 1.18

-- settings.json --
{
	"importsSource": "gopls"
}

-- main.go --
package main

//@item(Print, "Print", "func (from \"fmt\")", "func")
//@item(Printf, "Printf", "func (from \"fmt\")", "func")
//@item(Println, "Println", "func (from \"fmt\")", "func")

func main() {
	fmt.p //@complete(re"fmt.p()", Print, Printf, Println), diag("fmt", re"(undefined|undeclared)")
}

-- other.go --
package main

// Including another package that imports "fmt" causes completion to use the
// existing metadata, which is the codepath leading to golang/go#60545.
import "fmt"

func _() {
	fmt.Println()
}
