@@ -500,6 +500,84 @@ class: "Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest"
500
500
);
501
501
}
502
502
503
+ /**
504
+ * @requires PHP < 8.4
505
+ */
506
+ public function testGeneratorPriorTo84 ()
507
+ {
508
+ if (\extension_loaded ('xdebug ' )) {
509
+ $ this ->markTestSkipped ('xdebug is active ' );
510
+ }
511
+
512
+ $ generator = new GeneratorDemo ();
513
+ $ generator = $ generator ->baz ();
514
+
515
+ $ expectedDump = <<<'EODUMP'
516
+ Generator {
517
+ this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { …}
518
+ %s: {
519
+ %sGeneratorDemo.php:14 {
520
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz()
521
+ › {
522
+ › yield from bar();
523
+ › }
524
+ }
525
+ %A}
526
+ closed: false
527
+ }
528
+ EODUMP;
529
+
530
+ $ this ->assertDumpMatchesFormat ($ expectedDump , $ generator );
531
+
532
+ foreach ($ generator as $ v ) {
533
+ break ;
534
+ }
535
+
536
+ $ expectedDump = <<<'EODUMP'
537
+ array:2 [
538
+ 0 => ReflectionGenerator {
539
+ this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { …}
540
+ %s: {
541
+ %s%eTests%eFixtures%eGeneratorDemo.php:%d {
542
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo()
543
+ %A › yield 1;
544
+ %A }
545
+ %s%eTests%eFixtures%eGeneratorDemo.php:20 { …}
546
+ %s%eTests%eFixtures%eGeneratorDemo.php:14 { …}
547
+ %A }
548
+ closed: false
549
+ }
550
+ 1 => Generator {
551
+ %s: {
552
+ %s%eTests%eFixtures%eGeneratorDemo.php:%d {
553
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo()
554
+ › yield 1;
555
+ › }
556
+ ›
557
+ }
558
+ %A }
559
+ closed: false
560
+ }
561
+ ]
562
+ EODUMP;
563
+
564
+ $ r = new \ReflectionGenerator ($ generator );
565
+ $ this ->assertDumpMatchesFormat ($ expectedDump , [$ r , $ r ->getExecutingGenerator ()]);
566
+
567
+ foreach ($ generator as $ v ) {
568
+ }
569
+
570
+ $ expectedDump = <<<'EODUMP'
571
+ Generator {
572
+ closed: true
573
+ }
574
+ EODUMP;
575
+ $ this ->assertDumpMatchesFormat ($ expectedDump , $ generator );
576
+ }
577
+
578
+ /**
579
+ * @requires PHP 8.4
580
+ */
503
581
public function testGenerator ()
504
582
{
505
583
if (\extension_loaded ('xdebug ' )) {
@@ -511,6 +589,7 @@ public function testGenerator()
511
589
512
590
$ expectedDump = <<<'EODUMP'
513
591
Generator {
592
+ function: "Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::baz"
514
593
this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { …}
515
594
%s: {
516
595
%sGeneratorDemo.php:14 {
@@ -519,6 +598,7 @@ public function testGenerator()
519
598
› yield from bar();
520
599
› }
521
600
}
601
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz() {}
522
602
%A}
523
603
closed: false
524
604
}
@@ -545,6 +625,7 @@ public function testGenerator()
545
625
closed: false
546
626
}
547
627
1 => Generator {
628
+ function: "Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo"
548
629
%s: {
549
630
%s%eTests%eFixtures%eGeneratorDemo.php:%d {
550
631
Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo()
@@ -566,6 +647,7 @@ public function testGenerator()
566
647
567
648
$ expectedDump = <<<'EODUMP'
568
649
Generator {
650
+ function: "Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::baz"
569
651
closed: true
570
652
}
571
653
EODUMP;
0 commit comments