generators_from_v8_003.phpt 608 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Test V8::executeString() : Generators V8 -> PHP (rewind)
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $js = <<<EOJS
  8. function* TheGen() {
  9. for(var i = 0; i < 4; i ++) {
  10. yield i;
  11. }
  12. }
  13. TheGen();
  14. EOJS;
  15. $v8 = new V8Js();
  16. $gen = $v8->executeString($js);
  17. foreach($gen as $a) {
  18. var_dump($a);
  19. }
  20. foreach($gen as $a) {
  21. var_dump($a);
  22. }
  23. ?>
  24. ===EOF===
  25. --EXPECTF--
  26. int(0)
  27. int(1)
  28. int(2)
  29. int(3)
  30. Fatal error: Uncaught V8JsException: V8Generator::rewind not supported by ES6 in %s
  31. Stack trace:
  32. #0 %s: V8Generator->rewind()
  33. #1 {main}
  34. thrown in %s on line 20