p.Name = pkg
firstFile = name
} else if pkg != p.Name {
- return p, &MultiplePackageError{p.Dir, []string{firstFile, name}, []string{p.Name, pkg}}
+ return p, &MultiplePackageError{
+ Dir: p.Dir,
+ Packages: []string{p.Name, pkg},
+ Files: []string{firstFile, name},
+ }
}
if pf.Doc != nil && p.Doc == "" {
p.Doc = doc.Synopsis(pf.Doc.Text())
func TestMultiplePackageImport(t *testing.T) {
_, err := Import(".", "testdata/multi", 0)
- if _, ok := err.(*MultiplePackageError); !ok {
+ mpe, ok := err.(*MultiplePackageError)
+ if !ok {
t.Fatal(`Import("testdata/multi") did not return MultiplePackageError.`)
}
+ want := &MultiplePackageError{
+ Dir: "testdata/multi",
+ Packages: []string{"main", "test_package"},
+ Files: []string{"file.go", "file_appengine.go"},
+ }
+ if !reflect.DeepEqual(mpe, want) {
+ t.Errorf("got %#v; want %#v", mpe, want)
+ }
}
func TestLocalDirectory(t *testing.T) {