internal/middleware: fix isRobot

Previously, isRobot was always returning true due to a bug in the
function and tests. This logic is now fixed.

Change-Id: Iac406355b9d3ca2a60701940e72ee197d6c32c25
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/276195
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/internal/middleware/requestlog.go b/internal/middleware/requestlog.go
index c3ce38f..cf70f91 100644
--- a/internal/middleware/requestlog.go
+++ b/internal/middleware/requestlog.go
@@ -107,7 +107,7 @@
 		return true
 	}
 	for _, b := range browserAgentPrefixes {
-		if strings.HasPrefix(userAgent, b+"/") {
+		if strings.HasPrefix(userAgent, b) {
 			return false
 		}
 	}
diff --git a/internal/middleware/requestlog_test.go b/internal/middleware/requestlog_test.go
index 594026a..39c7e25 100644
--- a/internal/middleware/requestlog_test.go
+++ b/internal/middleware/requestlog_test.go
@@ -137,7 +137,7 @@
 		"Safari/15609.1.20.111.8 CFNetwork/1125.2 Darwin/19.4.0 (x86_64)",
 		"MobileSafari/604.1 CFNetwork/1126 Darwin/19.5.0",
 	} {
-		if !isRobot(test) {
+		if isRobot(test) {
 			t.Errorf("isRobot(%q) = true; want = false", test)
 		}
 	}