123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- --TEST--
- Test V8::executeString() : Generators V8 -> PHP (instantiate in PHP + iterate in JS)
- --SKIPIF--
- <?php
- require_once(dirname(__FILE__) . '/skipif.inc');
- if (!class_exists('V8Generator')) {
- die("skip Installed V8 version doesn't support generators");
- }
- ?>
- --FILE--
- <?php
- $js = <<<EOJS
- function* TheGen() {
- for(var i = 0; i < 4; i ++) {
- yield i;
- }
- }
- TheGen;
- EOJS;
- $v8 = new V8Js();
- $TheGen = $v8->executeString($js);
- $gen = $TheGen();
- $js = <<<EOJS
- (function(gen) {
- for(var i of gen) {
- var_dump(i);
- }
- })
- EOJS;
- $fn = $v8->executeString($js);
- $fn($gen);
- ?>
- ===EOF===
- --EXPECTF--
- int(0)
- int(1)
- int(2)
- int(3)
- ===EOF===
|