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()); }
/** * @param FileInterface $node * @return ObjectStream */ protected function copyToFile(FileInterface $node) { $stream = new ObjectStream(); $this->open('r')->then(function (ReadableStreamInterface $readStream) use($node, $stream) { $node->open('ctw')->then(function (WritableStreamInterface $writeStream) use($readStream, $node, $stream) { $readStream->pipe($writeStream)->on('end', function () use($stream, $node) { $stream->end($node); }); }); }); return $stream; }