Kraken\_Module\Stream\StreamTest::testStream_WriteAndReadDataScenario PHP Method

testStream_WriteAndReadDataScenario() public method

    public function testStream_WriteAndReadDataScenario()
    {
        $local = $this->basePath();
        $writer = new Stream(fopen("file://{$local}/temp", 'w+'));
        $reader = new Stream(fopen("file://{$local}/temp", 'r+'));
        $expectedData = "qwertyuiop\n";
        $capturedData = null;
        $readData = null;
        $reader->on('data', function ($origin, $data) use(&$capturedData) {
            $capturedData = $data;
        });
        $reader->on('error', $this->expectCallableNever());
        $reader->on('close', $this->expectCallableOnce());
        $writer->on('drain', $this->expectCallableOnce());
        $writer->on('error', $this->expectCallableNever());
        $writer->on('close', $this->expectCallableOnce());
        $writer->write($expectedData);
        $readData = $reader->read();
        $writer->close();
        $reader->close();
        $this->assertEquals($expectedData, $readData);
        $this->assertEquals($expectedData, $capturedData);
    }