php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/generators/ |
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/generators/generator_rewind.phpt |
--TEST-- A generator can only be rewinded before or at the first yield --FILE-- <?php function gen() { echo "before yield\n"; yield; echo "after yield\n"; yield; } $gen = gen(); $gen->rewind(); $gen->rewind(); $gen->next(); try { $gen->rewind(); } catch (Exception $e) { echo "\n", $e, "\n\n"; } function &gen2() { $foo = 'bar'; yield $foo; yield $foo; } $gen = gen2(); foreach ($gen as $v) { } try { foreach ($gen as $v) { } } catch (Exception $e) { echo $e, "\n\n"; } function gen3() { echo "in generator\n"; if (false) yield; } $gen = gen3(); $gen->rewind(); ?> --EXPECTF-- before yield after yield Exception: Cannot rewind a generator that was already run in %s:%d Stack trace: #0 %s(%d): Generator->rewind() #1 {main} Exception: Cannot traverse an already closed generator in %s:%d Stack trace: #0 {main} in generatory~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`