ru_php/Zend/tests/fibers/start-arguments.phpt

30 lines
623 B
PHP

--TEST--
Arguments to fiber callback
--FILE--
<?php
$fiber = new Fiber(function (int $x): int {
return $x + Fiber::suspend($x);
});
$x = $fiber->start(1);
$fiber->resume(0);
var_dump($fiber->getReturn());
$fiber = new Fiber(function (int $x): int {
return $x + Fiber::suspend($x);
});
$fiber->start('test');
?>
--EXPECTF--
int(1)
Fatal error: Uncaught TypeError: {closure:%s:%d}(): Argument #1 ($x) must be of type int, string given in %s:%d
Stack trace:
#0 [internal function]: {closure:%s:%d}('test')
#1 %sstart-arguments.php(%d): Fiber->start('test')
#2 {main}
thrown in %sstart-arguments.php on line %d