MCPcopy Index your code
hub / github.com/php/frankenphp / TestPersistentZvalRoundtrip

Function TestPersistentZvalRoundtrip

zval_test.go:20–50  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestPersistentZvalRoundtrip(t *testing.T) {
21 cwd, _ := os.Getwd()
22 testDataDir := cwd + "/testdata/"
23
24 require.NoError(t, frankenphp.Init())
25 t.Cleanup(frankenphp.Shutdown)
26
27 req := httptest.NewRequest("GET", "http://example.com/persist-roundtrip.php", nil)
28 fr, err := frankenphp.NewRequestWithContext(req, frankenphp.WithRequestDocumentRoot(testDataDir, false))
29 require.NoError(t, err)
30
31 w := httptest.NewRecorder()
32 err = frankenphp.ServeHTTP(w, fr)
33 if err != nil {
34 require.ErrorAs(t, err, &frankenphp.ErrRejected{})
35 }
36
37 body, _ := io.ReadAll(w.Result().Body)
38 out := string(body)
39
40 if strings.Contains(out, "SKIP") {
41 t.Skip("FRANKENPHP_TEST not set; skipping persistent_zval roundtrip tests")
42 }
43
44 require.NotContains(t, out, "FAIL", "persist-roundtrip.php reported a failure:\n"+out)
45 require.Contains(t, out, "OK null")
46 require.Contains(t, out, "OK enum active")
47 require.Contains(t, out, "OK stdClass rejected")
48 require.Contains(t, out, "OK resource rejected")
49 require.Contains(t, out, "OK nested stdClass rejected")
50}

Callers

nothing calls this directly

Calls 5

InitFunction · 0.92
NewRequestWithContextFunction · 0.92
WithRequestDocumentRootFunction · 0.92
ServeHTTPFunction · 0.92
ResultMethod · 0.80

Tested by

no test coverage detected