php-src/ext/zend_test/tests/observer_closure_01.phpt
Nikita Popov dbe5725ff3 Rename zend-test to zend_test
The extension name should match the name of the ext/ directory,
otherwise it will not get picked up by run-tests. It would be possible
to remap this in run-tests, but I think it's better to rename the
extension to follow the standard format. Other extensions also
use underscore instead of hyphen (e.g. pdo_mysql and not pdo-mysql).
Of course, the ./configure option remains hyphenated.

Closes GH-6613.
2021-01-19 15:28:15 +01:00

50 lines
849 B
PHP

--TEST--
Observer: Basic observability of closures
--SKIPIF--
<?php if (!extension_loaded('zend_test')) die('skip: zend_test extension required'); ?>
--INI--
zend_test.observer.enabled=1
zend_test.observer.observe_all=1
--FILE--
<?php
$bar = function() {
var_dump(array_sum([40,2]));
};
$foo = function($bar) {
echo 'Answer' . PHP_EOL;
$bar();
};
$foo($bar);
$foo($bar);
$foo($bar);
echo 'DONE' . PHP_EOL;
?>
--EXPECTF--
<!-- init '%s%eobserver_closure_%d.php' -->
<file '%s%eobserver_closure_%d.php'>
<!-- init {closure}() -->
<{closure}>
Answer
<!-- init {closure}() -->
<{closure}>
int(42)
</{closure}>
</{closure}>
<{closure}>
Answer
<{closure}>
int(42)
</{closure}>
</{closure}>
<{closure}>
Answer
<{closure}>
int(42)
</{closure}>
</{closure}>
DONE
</file '%s%eobserver_closure_%d.php'>