コード例 #1
0
 public function testMessage()
 {
     $message = Factory::message(['t']);
     $messenger = Phake::mock('WyriHaximus\\React\\ChildProcess\\Messenger\\Messenger');
     $worker = new Worker($messenger);
     $worker->message($message);
     Phake::verify($messenger)->message($message);
 }
コード例 #2
0
 public function testMethods()
 {
     $loop = Phake::mock('React\\EventLoop\\LoopInterface');
     $poolPromise = Dummy::createFromClass('stdClass', $loop);
     $promiseHasResolved = false;
     $poolPromise->then(function ($pool) use(&$promiseHasResolved) {
         $pool->message(Factory::message([]));
         $pool->terminate(Factory::message([]));
         $this->assertInstanceOf('React\\Promise\\FulfilledPromise', $pool->rpc(Factory::rpc('abc', ['def'])));
         $this->assertSame([], $pool->info());
         $promiseHasResolved = true;
     });
     $this->assertTrue($promiseHasResolved);
 }
コード例 #3
0
 public function testTerminate()
 {
     $manager = Phake::mock('WyriHaximus\\React\\ChildProcess\\Pool\\ManagerInterface');
     Phake::when($manager)->info()->thenReturn([Info::TOTAL => 1, Info::IDLE => 2, Info::BUSY => 3]);
     $queue = Phake::mock('WyriHaximus\\React\\ChildProcess\\Pool\\QueueInterface');
     Phake::when($queue)->count()->thenReturn(4);
     $poolInstance = null;
     $process = Phake::mock('React\\ChildProcess\\Process');
     $loop = Phake::mock('React\\EventLoop\\LoopInterface');
     Phake::when($loop)->addTimer($this->isType('integer'), $this->isType('callable'))->thenReturnCallback(function ($interval, $function) {
         $function();
     });
     $poolPromise = Fixed::create($process, $loop, [Options::MANAGER => $manager, Options::QUEUE => $queue]);
     $this->assertInstanceOf('React\\Promise\\PromiseInterface', $poolPromise);
     $promiseHasResolved = false;
     $poolPromise->then(function ($pool) use(&$promiseHasResolved, &$poolInstance) {
         $promiseHasResolved = true;
         $poolInstance = $pool;
     });
     $this->assertTrue($promiseHasResolved);
     $poolInstance->terminate(Factory::message(['foo' => 'bar']));
     Phake::verify($manager)->terminate();
 }
コード例 #4
0
 public function testMessage()
 {
     $message = Factory::message(['bar']);
     $workerDeferred = new Deferred();
     $worker = null;
     $messenger = Phake::mock('WyriHaximus\\React\\ChildProcess\\Messenger\\Messenger');
     Phake::when($this->processCollection)->current()->thenReturnCallback(function () use($workerDeferred) {
         return function () use($workerDeferred) {
             return $workerDeferred->promise();
         };
     });
     $this->createManager();
     $this->manager->once('ready', function (WorkerInterface $workerInstance) use(&$worker) {
         $worker = $workerInstance;
     });
     $workerDeferred->resolve($messenger);
     $this->manager->message($message);
     Phake::verify($messenger)->message($message);
 }