The header is literally
Key: Value
If the value or the key has leading or trailing spaces, those will
be lost by the round trip.
Found because testing/quick returns different values now.
Change-Id: I0f574bdbb5990689509c24309854d8f814b5efa0
Reviewed-on: https://go-review.googlesource.com/39211
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
func TestFuzz(t *testing.T) {
testRoundtrip := func(block Block) bool {
- for key := range block.Headers {
- if strings.Contains(key, ":") {
- // Keys with colons cannot be encoded.
+ for key, val := range block.Headers {
+ if strings.ContainsAny(key, ":\r\n") || strings.ContainsAny(val, "\r\n") || strings.TrimSpace(key) != key || strings.TrimSpace(val) != val {
+ // Keys with colons or newlines cannot be encoded.
+ // Keys/values with surrounding spaces might lose theirs.
return true
}
}