Compare commits

..

2 Commits

Author SHA1 Message Date
Andreas Deininger 22971ffce5
Merge 236e6a50b2 into bbf40bb0e4 2024-02-15 03:09:42 -08:00
tidwall bbf40bb0e4 Fix backspace and form-feed for Go 1.22 2024-02-14 20:51:40 -07:00
1 changed files with 12 additions and 8 deletions

View File

@ -2578,15 +2578,19 @@ func TestJSONString(t *testing.T) {
testJSONString(t, s) testJSONString(t, s)
testJSONString(t, "R\xfd\xfc\a!\x82eO\x16?_\x0f\x9ab\x1dr") testJSONString(t, "R\xfd\xfc\a!\x82eO\x16?_\x0f\x9ab\x1dr")
testJSONString(t, "_\xb9\v\xad\xb3|X!\xb6\xd9U&\xa4\x1a\x95\x04") testJSONString(t, "_\xb9\v\xad\xb3|X!\xb6\xd9U&\xa4\x1a\x95\x04")
testJSONString(t, "\b\f") data, _ := json.Marshal("\b\f")
rng := rand.New(rand.NewSource(time.Now().UnixNano())) if (string(data) == "\"\\b\\f\"") {
start := time.Now() // Go version 1.22+ encodes "\b" and "\f" correctly.
var buf [16]byte testJSONString(t, "\b\f")
for time.Since(start) < time.Second*2 { rng := rand.New(rand.NewSource(time.Now().UnixNano()))
if _, err := rng.Read(buf[:]); err != nil { start := time.Now()
t.Fatal(err) var buf [16]byte
for time.Since(start) < time.Second*2 {
if _, err := rng.Read(buf[:]); err != nil {
t.Fatal(err)
}
testJSONString(t, string(buf[:]))
} }
testJSONString(t, string(buf[:]))
} }
} }