ref: be21e2cbed6c7832d060c7c186459e9f6b7de238
parent: be1429fa88a5d872b568bf89cdc4ab4745a9f69b
author: bep <[email protected]>
date: Sun Mar 29 21:22:08 EDT 2015
Add some more corner tests for ReaderContains
--- a/helpers/general.go
+++ b/helpers/general.go
@@ -115,7 +115,7 @@
// ReaderContains reports whether subslice is within r.
func ReaderContains(r io.Reader, subslice []byte) bool {
- if len(subslice) == 0 {
+ if r == nil || len(subslice) == 0 {
return false
}
--- a/helpers/general_test.go
+++ b/helpers/general_test.go
@@ -86,7 +86,7 @@
{"abc", []byte("d"), false},
{containsTestText, []byte("стремился"), true},
{containsTestText, []byte(containsTestText[10:80]), true},
- {containsTestText, []byte(containsTestText[100:110]), true},
+ {containsTestText, []byte(containsTestText[100:111]), true},
{containsTestText, []byte(containsTestText[len(containsTestText)-100 : len(containsTestText)-10]), true},
{containsTestText, []byte(containsTestText[len(containsTestText)-20:]), true},
{containsTestText, []byte("notfound"), false},
@@ -98,6 +98,7 @@
v2 []byte
expect bool
}{
+ {"", nil, false},
{"", []byte("a"), false},
{"a", []byte(""), false},
{"", []byte(""), false},
@@ -110,6 +111,9 @@
t.Errorf("[%d] Got %t but expected %t", i, result, this.expect)
}
}
+
+ assert.False(t, ReaderContains(nil, []byte("a")))
+ assert.False(t, ReaderContains(nil, nil))
}
func BenchmarkReaderContains(b *testing.B) {