Пример #1
0
 /**
  * @param ObjectStream $stream
  * @return \React\Promise\Promise
  */
 public static function promise(ObjectStream $stream)
 {
     $deferred = new Deferred();
     $list = new \SplObjectStorage();
     $stream->on('data', function ($object) use($list) {
         $list->attach($object);
     });
     $stream->on('end', function () use($deferred, $list) {
         $deferred->resolve($list);
     });
     return $deferred->promise();
 }
Пример #2
0
 public function testObjectStream()
 {
     $node = $this->getMock('React\\Filesystem\\Node\\NodeInterface');
     $stream = new ObjectStream();
     $this->assertTrue($stream->isWritable());
     $this->assertTrue($stream->isReadable());
     $stream->on('data', function (NodeInterface $data) use($node) {
         $this->assertEquals($node, $data);
     });
     $stream->end($node);
     $this->assertFalse($stream->isWritable());
     $this->assertFalse($stream->isReadable());
     $stream->close();
     $this->assertFalse($stream->isWritable());
     $this->assertFalse($stream->isReadable());
 }