コード例 #1
0
 /**
  * Tests run method.
  */
 public function testRun()
 {
     $runner = new ManifestRunner();
     $finished = false;
     /** @var object $manifestProphecy */
     $manifestProphecy = $this->prophesize('Transfer\\Manifest\\ManifestInterface');
     $manifestProphecy->configureProcedureBuilder(Argument::type('object'))->willReturn(null);
     $manifestProphecy->getProcessor()->willReturn(new SequentialProcessor());
     $manifestProphecy->configureProcessor(Argument::type('object'))->will(function ($args) use(&$finished) {
         /** @var EventDrivenProcessor $processor */
         $processor = $args[0];
         $processor->addListener(TransferEvents::POST_PROCESS, function () use(&$finished) {
             $finished = true;
         });
     });
     /** @var ManifestInterface $manifest */
     $manifest = $manifestProphecy->reveal();
     $runner->setEventDispatcher(new EventDispatcher());
     $runner->run($manifest);
     $this->assertTrue($finished);
 }