diff --git a/ext/session/tests/session_start_read_and_close.phpt b/ext/session/tests/session_start_read_and_close.phpt new file mode 100644 index 00000000000..aee8f1e76b0 --- /dev/null +++ b/ext/session/tests/session_start_read_and_close.phpt @@ -0,0 +1,49 @@ +--TEST-- +Test session_start() with flag read_and_close +--EXTENSIONS-- +session +--SKIPIF-- + +--FILE-- + $value]); + var_dump(session_status() === PHP_SESSION_NONE); +} + +foreach ($valuesDisablingReadAndClose as $value) { + session_start(["read_and_close" => $value]); + var_dump(session_status() === PHP_SESSION_ACTIVE); + session_write_close(); +} + +try { + session_start(["read_and_close" => 1.0]); +} catch (Throwable $e) { + echo $e::class, ': ', $e->getMessage(), PHP_EOL; +} + +ob_end_flush(); +?> +--EXPECTF-- +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +TypeError: session_start(): Option "read_and_close" must be of type string|int|bool, float given