Create a new generator spy.
public static createGeneratorSpy ( Eloquent\Phony\Call\Call $call, Generator $generator, |
||
$call | Eloquent\Phony\Call\Call | The call from which the generator originated. |
$generator | Generator | The generator. |
$callEventFactory | The call event factory to use. | |
$isGeneratorImplicitNextSupported | boolean | True if implicit generator next() behavior is supported. |
return | Generator | The newly created generator spy. |
/** * Create a new generator spy. * * @param Call $call The call from which the generator originated. * @param Generator $generator The generator. * * @return Generator The newly created generator spy. */ public function create(Call $call, Generator $generator) { if ($this->isHhvm) { // @codeCoverageIgnoreStart if ($this->isGeneratorReturnSupported) { $spy = GeneratorSpyFactoryDetailHhvmWithReturn::createGeneratorSpy($call, $generator, $this->callEventFactory); } else { $spy = GeneratorSpyFactoryDetailHhvm::createGeneratorSpy($call, $generator, $this->callEventFactory, $this->isGeneratorImplicitNextSupported); } // @codeCoverageIgnoreEnd } elseif ($this->isGeneratorReturnSupported) { $spy = GeneratorSpyFactoryDetailPhpWithReturn::createGeneratorSpy($call, $generator, $this->callEventFactory); // @codeCoverageIgnoreStart } else { $spy = GeneratorSpyFactoryDetailPhp::createGeneratorSpy($call, $generator, $this->callEventFactory); } // @codeCoverageIgnoreEnd $spy->_phonySubject = $generator; return $spy; }