ReflectionGenerator_getTrace.phpt 750 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. ReflectionGenerator::getTrace() over multiple Generators
  3. --FILE--
  4. <?php
  5. function foo() {
  6. yield 1;
  7. yield 2;
  8. }
  9. function bar()
  10. {
  11. yield from foo();
  12. }
  13. function baz()
  14. {
  15. yield from bar();
  16. }
  17. $gen = baz();
  18. $gen->valid();
  19. var_dump((new ReflectionGenerator($gen))->getTrace());
  20. ?>
  21. --EXPECTF--
  22. array(3) {
  23. [0]=>
  24. array(4) {
  25. ["file"]=>
  26. string(%d) "%s"
  27. ["line"]=>
  28. int(%d)
  29. ["function"]=>
  30. string(3) "foo"
  31. ["args"]=>
  32. array(0) {
  33. }
  34. }
  35. [1]=>
  36. array(4) {
  37. ["file"]=>
  38. string(%d) "%s"
  39. ["line"]=>
  40. int(%d)
  41. ["function"]=>
  42. string(3) "bar"
  43. ["args"]=>
  44. array(0) {
  45. }
  46. }
  47. [2]=>
  48. array(2) {
  49. ["function"]=>
  50. string(3) "baz"
  51. ["args"]=>
  52. array(0) {
  53. }
  54. }
  55. }