You are here

class vfsStreamWrapperLargeFileTestCase in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/vfsStreamWrapperLargeFileTestCase.php \org\bovigo\vfs\vfsStreamWrapperLargeFileTestCase

Test for large file mocks.

@package bovigo_vfs @subpackage test @since 1.3.0 @group issue_79

Hierarchy

Expanded class hierarchy of vfsStreamWrapperLargeFileTestCase

File

vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/vfsStreamWrapperLargeFileTestCase.php, line 20

Namespace

org\bovigo\vfs
View source
class vfsStreamWrapperLargeFileTestCase extends \PHPUnit_Framework_TestCase {

  /**
   * large file to test
   *
   * @var  vfsStreamFile
   */
  private $largeFile;

  /**
   * set up test environment
   */
  public function setUp() {
    $root = vfsStream::setup();
    $this->largeFile = vfsStream::newFile('large.txt')
      ->withContent(LargeFileContent::withGigabytes(100))
      ->at($root);
  }

  /**
   * @test
   */
  public function hasLargeFileSize() {
    $this
      ->assertEquals(100 * 1024 * 1024 * 1024, filesize($this->largeFile
      ->url()));
  }

  /**
   * @test
   */
  public function canReadFromLargeFile() {
    $fp = fopen($this->largeFile
      ->url(), 'rb');
    $data = fread($fp, 15);
    fclose($fp);
    $this
      ->assertEquals(str_repeat(' ', 15), $data);
  }

  /**
   * @test
   */
  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));
  }

}

Members