| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | --TEST--Test V8::executeString() : Generators V8 -> PHP (direct)--SKIPIF--<?phprequire_once(dirname(__FILE__) . '/skipif.inc');if (!class_exists('V8Generator')) {    die("skip Installed V8 version doesn't support generators");}?>--FILE--<?php$js = <<<EOJSfunction* TheGen() {  for(var i = 0; i < 4; i ++) {    yield i;  }}TheGen();EOJS;$v8 = new V8Js();$gen = $v8->executeString($js);var_dump($gen->current());// JS generators don't have the key concept (-> just "false")var_dump($gen->key());// fetching multiple times shouldn't leakvar_dump($gen->current());var_dump($gen->current());$gen->next(); // 1var_dump($gen->current());$gen->next(); // 2var_dump($gen->current());$gen->next(); // 3var_dump($gen->current());var_dump($gen->valid());$gen->next(); // undefvar_dump($gen->current());var_dump($gen->valid());?>===EOF===--EXPECTF--int(0)bool(false)int(0)int(0)int(1)int(2)int(3)bool(true)NULLbool(false)===EOF===
 |