mirror of
https://github.com/php/php-src.git
synced 2026-10-29 02:07:35 +08:00
RFC: https://wiki.php.net/rfc/partial_function_application_v2 Co-authored-by: Joe Watkins <krakjoe@php.net>
46 lines
909 B
PHP
46 lines
909 B
PHP
--TEST--
|
|
PFA of assert() behaves like a dynamic call to assert()
|
|
--FILE--
|
|
<?php
|
|
|
|
try {
|
|
echo "# Static call:\n";
|
|
assert(false);
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage(), "\n";
|
|
}
|
|
|
|
try {
|
|
echo "# Dynamic call:\n";
|
|
(function ($f) { $f(false); })('assert');
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage() ?: '(no message)', "\n";
|
|
}
|
|
|
|
try {
|
|
echo "# PFA call:\n";
|
|
$f = assert(?);
|
|
$f(false);
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage() ?: '(no message)', "\n";
|
|
}
|
|
|
|
try {
|
|
echo "# Upper-case assert():\n";
|
|
$f = ASSERT(?);
|
|
$f(false);
|
|
} catch (Error $e) {
|
|
echo $e::class, ": ", $e->getMessage() ?: '(no message)', "\n";
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
# Static call:
|
|
AssertionError: assert(false)
|
|
# Dynamic call:
|
|
AssertionError: (no message)
|
|
# PFA call:
|
|
AssertionError: (no message)
|
|
# Upper-case assert():
|
|
AssertionError: (no message)
|