mirror of
https://github.com/golang/go
synced 2024-11-19 04:54:41 -07:00
8979540587
The code was introducting syntax errors for some edge cases (example in regtest/import_test.go), and I found it hard to follow. The new code passes all the tests. There are new regtests to guarantee no CodeActions are returned for some cases that vim testing noticed. Change-Id: Ia09da667f74673c11bfe185e4f76a76c66940105 Reviewed-on: https://go-review.googlesource.com/c/tools/+/233117 Run-TryBot: Peter Weinberger <pjw@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com>
29 lines
796 B
Go
29 lines
796 B
Go
package source
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
type data struct {
|
|
input, want string
|
|
}
|
|
|
|
func TestImportPrefix(t *testing.T) {
|
|
var tdata = []data{
|
|
{"package foo\n", "package foo\n"},
|
|
{"package foo\n\nfunc f(){}\n", "package foo\n"},
|
|
{"package foo\n\nimport \"fmt\"\n", "package foo\n\nimport \"fmt\""},
|
|
{"package foo\nimport (\n\"fmt\"\n)\n", "package foo\nimport (\n\"fmt\"\n)"},
|
|
{"\n\n\npackage foo\n", "\n\n\npackage foo\n"},
|
|
{"// hi \n\npackage foo //xx\nfunc _(){}\n", "// hi \n\npackage foo //xx\n"},
|
|
{"package foo //hi\n", "package foo //hi\n"},
|
|
{"//hi\npackage foo\n//a\n\n//b\n", "//hi\npackage foo\n//a\n\n//b\n"},
|
|
}
|
|
for i, x := range tdata {
|
|
got := importPrefix("a.go", []byte(x.input))
|
|
if got != x.want {
|
|
t.Errorf("%d: got\n%q, wanted\n%q", i, got, x.want)
|
|
}
|
|
}
|
|
}
|