0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-08 18:58:41 +00:00
phpv8/tests/generators_to_v8_003.phpt

56 lines
879 B
Plaintext
Raw Normal View History

--TEST--
Test V8::executeString() : Generators PHP -> V8 (instantiate in JS, iterate in PHP)
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
// Actually this check is a bit bad as it tests import, but currently
// there is no flag we can check for export
if (!class_exists('V8Generator')) {
die("skip Installed V8 version doesn't support generators");
}
?>
--FILE--
<?php
$v8 = new V8Js();
$v8->Gen = function() {
for($i = 0; $i < 6; $i ++) {
yield $i;
}
};
$JS = <<<EOJS
var g = PHP.Gen();
var_dump(g.next());
var_dump(g.next());
(g);
EOJS;
$gen = $v8->executeString($JS);
foreach($gen as $i) {
var_dump($i);
}
?>
===EOF===
--EXPECTF--
object(Object)#%d (2) {
["value"] =>
int(0)
["done"] =>
bool(false)
}
object(Object)#%d (2) {
["value"] =>
int(1)
["done"] =>
bool(false)
}
int(2)
int(3)
int(4)
int(5)
===EOF===