MCPcopy
hub / github.com/pquerna/ffjson / TestFuzzStringCycle

Function TestFuzzStringCycle

tests/fuzz_test.go:335–398  ·  view source on GitHub ↗

Test 1000 iterations

(t *testing.T)

Source from the content-addressed store, hash-verified

333
334// Test 1000 iterations
335func TestFuzzStringCycle(t *testing.T) {
336 ver := runtime.Version()
337 if strings.Contains(ver, "go1.3") || strings.Contains(ver, "go1.2") {
338 t.Skipf("Test requires go v1.4 or later, this is %s", ver)
339 }
340 f := fuzz.New()
341 f.NumElements(0, 50)
342 f.NilChance(0.1)
343 f.Funcs(fuzzTime)
344
345 rFF := FfFuzzString{}
346 r := FuzzString{}
347 for i := 0; i < 1000; i++ {
348 if i > 0 {
349 f.RandSource(rand.New(rand.NewSource(int64(i * 324221))))
350 f.Fuzz(&r)
351 }
352 rFF.A = r.A
353 rFF.B = r.B
354 rFF.C = r.C
355 rFF.D = r.D
356 rFF.E = r.E
357 rFF.F = r.F
358 rFF.G = r.G
359 rFF.H = r.H
360 rFF.I = r.I
361 rFF.J = r.J
362 rFF.M = r.M
363 rFF.N = r.N
364 rFF.O = r.O
365 rFF.P = r.P
366 rFF.Q = r.Q
367 rFF.R = r.R
368
369 // https://github.com/golang/go/issues/9812
370 // rFF.S = r.S
371
372 rFF.Ap = r.Ap
373 rFF.Bp = r.Bp
374 rFF.Cp = r.Cp
375 rFF.Dp = r.Dp
376 rFF.Ep = r.Ep
377 rFF.Fp = r.Fp
378 rFF.Gp = r.Gp
379 rFF.Hp = r.Hp
380 rFF.IP = r.IP
381 rFF.Jp = r.Jp
382 rFF.Mp = r.Mp
383 rFF.Np = r.Np
384 rFF.Op = r.Op
385 rFF.Pp = r.Pp
386 rFF.Qp = r.Qp
387 rFF.Rp = r.Rp
388 // https://github.com/golang/go/issues/9812
389 // rFF.Sp = r.Sp
390
391 // The "string" option signals that a field is stored as JSON inside a JSON-encoded string. It applies only to fields of string, floating point, or integer types. This extra level of encoding is sometimes used when communicating with JavaScript programs.
392 // Therefore tests on byte arrays are removed, since the golang decoder chokes on them.

Callers

nothing calls this directly

Calls 2

testSameMarshalFunction · 0.85
ContainsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…