/** * Print output */ public function output() { if (!$this->exists()) { return; } $stream = $this->_filesystem->createAndOpenStream($this->_getFilePath(), 'r'); while ($buffer = $stream->read(1024)) { echo $buffer; } $stream->close(); }
/** * Write Data into File * * @param bool $callback * @return string */ protected function _writeFile($callback = false) { $adapter = new Magento_Filesystem_Adapter_Local(); $filesystem = new Magento_Filesystem($adapter); $name = md5(microtime()); $file = TESTS_TEMP_DIR . DIRECTORY_SEPARATOR . $name . '.xml'; $stream = $filesystem->createAndOpenStream($file, 'w+', TESTS_TEMP_DIR); $stream->lock(true); if (!$callback) { $convert = new Magento_Convert_Excel(new ArrayIterator($this->_testData)); } else { $convert = new Magento_Convert_Excel(new ArrayIterator($this->_testData), array($this, 'callbackMethod')); } $convert->write($stream); $stream->unlock(); $stream->close(); return $file; }
/** * @expectedException InvalidArgumentException * @expectedExceptionMessage Wrong mode parameter */ public function testCreateAndOpenStreamException() { $path = '/tmp/test.txt'; $streamMock = $this->getMockBuilder('Magento_Filesystem_Stream_Local')->disableOriginalConstructor()->getMock(); $streamMock->expects($this->never())->method('open'); $adapterMock = $this->getMockBuilder('Magento_Filesystem_Adapter_Local')->getMock(); $adapterMock->expects($this->once())->method('isDirectory')->with('/tmp')->will($this->returnValue(true)); $adapterMock->expects($this->once())->method('createStream')->with($path)->will($this->returnValue($streamMock)); $filesystem = new Magento_Filesystem($adapterMock); $filesystem->setWorkingDirectory('/tmp'); $this->assertInstanceOf('Magento_Filesystem_Stream_Local', $filesystem->createAndOpenStream($path, new stdClass())); }