generators_from_v8_006.phpt 517 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Test V8::executeString() : Generators V8 -> PHP (yield from)
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. function PhpGen() {
  8. yield 23;
  9. $js = <<<EOJS
  10. function* TheGen() {
  11. for(var i = 0; i < 4; i ++) {
  12. yield i;
  13. }
  14. }
  15. TheGen();
  16. EOJS;
  17. $v8 = new V8Js();
  18. $jsGen = $v8->executeString($js);
  19. yield from $jsGen;
  20. }
  21. $gen = PhpGen();
  22. foreach($gen as $a) {
  23. var_dump($a);
  24. }
  25. ?>
  26. ===EOF===
  27. --EXPECTF--
  28. int(23)
  29. int(0)
  30. int(1)
  31. int(2)
  32. int(3)
  33. ===EOF===