aboutsummaryrefslogtreecommitdiff
path: root/src/bufio/scan_test.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-11-05 22:50:24 -0500
committerRuss Cox <rsc@golang.org>2014-11-05 22:50:24 -0500
commit2d0db8e591513a1123057b8c330c946ddcb4fbc8 (patch)
tree887fa345faf178b4666ec567a3ed8129f54a1ed2 /src/bufio/scan_test.go
parent67742ef560be186a2ebeb45aaab50399bf81b358 (diff)
downloadgo-2d0db8e591513a1123057b8c330c946ddcb4fbc8.tar.xz
bufio: fix reading of many blank lines in a row
Fixes #9020. LGTM=bradfitz, r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/170030043
Diffstat (limited to 'src/bufio/scan_test.go')
-rw-r--r--src/bufio/scan_test.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bufio/scan_test.go b/src/bufio/scan_test.go
index a1cf90ddbf..bf888dafb5 100644
--- a/src/bufio/scan_test.go
+++ b/src/bufio/scan_test.go
@@ -489,6 +489,18 @@ func TestDontLoopForever(t *testing.T) {
}
}
+func TestBlankLines(t *testing.T) {
+ s := NewScanner(strings.NewReader(strings.Repeat("\n", 1000)))
+ for count := 0; s.Scan(); count++ {
+ if count > 2000 {
+ t.Fatal("looping")
+ }
+ }
+ if s.Err() != nil {
+ t.Fatal("after scan:", s.Err())
+ }
+}
+
type countdown int
func (c *countdown) split(data []byte, atEOF bool) (advance int, token []byte, err error) {