| // Copyright 2015 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. |
| "golang.org/x/tools/go/buildutil" |
| func testContainingPackageCaseFold(file, want string) error { |
| bp, err := buildutil.ContainingPackage(&build.Default, ".", file) |
| if got := bp.ImportPath; got != want { |
| return fmt.Errorf("ContainingPackage(%q) = %s, want %s", file, got, want) |
| func TestContainingPackageCaseFold(t *testing.T) { |
| path := filepath.Join(runtime.GOROOT(), `src\fmt\print.go`) |
| err := testContainingPackageCaseFold(path, "fmt") |
| vol := filepath.VolumeName(path) |
| if len(vol) != 2 || vol[1] != ':' { |
| t.Fatalf("GOROOT path has unexpected volume name: %v", vol) |
| err = testContainingPackageCaseFold(strings.ToUpper(vol)+rest, "fmt") |
| err = testContainingPackageCaseFold(strings.ToLower(vol)+rest, "fmt") |