vfsStreamWrapperLargeFileTestCase.php in Zircon Profile 8.0
File
vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/vfsStreamWrapperLargeFileTestCase.php
View source
<?php
namespace org\bovigo\vfs;
use org\bovigo\vfs\content\LargeFileContent;
class vfsStreamWrapperLargeFileTestCase extends \PHPUnit_Framework_TestCase {
private $largeFile;
public function setUp() {
$root = vfsStream::setup();
$this->largeFile = vfsStream::newFile('large.txt')
->withContent(LargeFileContent::withGigabytes(100))
->at($root);
}
public function hasLargeFileSize() {
$this
->assertEquals(100 * 1024 * 1024 * 1024, filesize($this->largeFile
->url()));
}
public function canReadFromLargeFile() {
$fp = fopen($this->largeFile
->url(), 'rb');
$data = fread($fp, 15);
fclose($fp);
$this
->assertEquals(str_repeat(' ', 15), $data);
}
public function canWriteIntoLargeFile() {
$fp = fopen($this->largeFile
->url(), 'rb+');
fseek($fp, 100 * 1024 * 1024, SEEK_SET);
fwrite($fp, 'foobarbaz');
fclose($fp);
$this->largeFile
->seek(100 * 1024 * 1024 - 3, SEEK_SET);
$this
->assertEquals(' foobarbaz ', $this->largeFile
->read(15));
}
}