PATH:
opt
/
cpanel
/
ea-wappspector
/
vendor
/
mikey179
/
vfsstream
/
src
/
test
/
php
/
org
/
bovigo
/
vfs
<?php /** * This file is part of vfsStream. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package org\bovigo\vfs */ namespace org\bovigo\vfs; /** * Test for quota related functionality of org\bovigo\vfs\vfsStreamWrapper. * * @group issue_35 */ class vfsStreamWrapperQuotaTestCase extends \BC_PHPUnit_Framework_TestCase { /** * access to root * * @type vfsStreamDirectory */ private $root; /** * set up test environment */ public function setUp(): void { $this->root = vfsStream::setup(); vfsStream::setQuota(10); } /** * @test */ public function writeLessThanQuotaWritesEverything() { $this->assertEquals(9, file_put_contents(vfsStream::url('root/file.txt'), '123456789')); $this->assertEquals('123456789', $this->root->getChild('file.txt')->getContent()); } /** * @test */ public function writeUpToQotaWritesEverything() { $this->assertEquals(10, file_put_contents(vfsStream::url('root/file.txt'), '1234567890')); $this->assertEquals('1234567890', $this->root->getChild('file.txt')->getContent()); } /** * @test */ public function writeMoreThanQotaWritesOnlyUpToQuota() { try { file_put_contents(vfsStream::url('root/file.txt'), '12345678901'); } catch (\PHPUnit_Framework_Error $e) { $this->assertEquals('file_put_contents(): Only 10 of 11 bytes written, possibly out of free disk space', $e->getMessage() ); } $this->assertEquals('1234567890', $this->root->getChild('file.txt')->getContent()); } /** * @test */ public function considersAllFilesForQuota() { vfsStream::newFile('foo.txt') ->withContent('foo') ->at(vfsStream::newDirectory('bar') ->at($this->root) ); try { file_put_contents(vfsStream::url('root/file.txt'), '12345678901'); } catch (\PHPUnit_Framework_Error $e) { $this->assertEquals('file_put_contents(): Only 7 of 11 bytes written, possibly out of free disk space', $e->getMessage() ); } $this->assertEquals('1234567', $this->root->getChild('file.txt')->getContent()); } /** * @test * @group issue_33 */ public function truncateToLessThanQuotaWritesEverything() { if (version_compare(PHP_VERSION, '5.4.0', '<')) { $this->markTestSkipped('Requires PHP 5.4'); } if (strstr(PHP_VERSION, 'hiphop') !== false) { $this->markTestSkipped('Not supported on hhvm'); } $fp = fopen(vfsStream::url('root/file.txt'), 'w+'); $this->assertTrue(ftruncate($fp, 9)); fclose($fp); $this->assertEquals(9, $this->root->getChild('file.txt')->size() ); $this->assertEquals("\0\0\0\0\0\0\0\0\0", $this->root->getChild('file.txt')->getContent() ); } /** * @test * @group issue_33 */ public function truncateUpToQotaWritesEverything() { if (version_compare(PHP_VERSION, '5.4.0', '<')) { $this->markTestSkipped('Requires PHP 5.4'); } if (strstr(PHP_VERSION, 'hiphop') !== false) { $this->markTestSkipped('Not supported on hhvm'); } $fp = fopen(vfsStream::url('root/file.txt'), 'w+'); $this->assertTrue(ftruncate($fp, 10)); fclose($fp); $this->assertEquals(10, $this->root->getChild('file.txt')->size() ); $this->assertEquals("\0\0\0\0\0\0\0\0\0\0", $this->root->getChild('file.txt')->getContent() ); } /** * @test * @group issue_33 */ public function truncateToMoreThanQotaWritesOnlyUpToQuota() { if (version_compare(PHP_VERSION, '5.4.0', '<')) { $this->markTestSkipped('Requires PHP 5.4'); } if (strstr(PHP_VERSION, 'hiphop') !== false) { $this->markTestSkipped('Not supported on hhvm'); } $fp = fopen(vfsStream::url('root/file.txt'), 'w+'); $this->assertTrue(ftruncate($fp, 11)); fclose($fp); $this->assertEquals(10, $this->root->getChild('file.txt')->size() ); $this->assertEquals("\0\0\0\0\0\0\0\0\0\0", $this->root->getChild('file.txt')->getContent() ); } /** * @test * @group issue_33 */ public function truncateConsidersAllFilesForQuota() { if (version_compare(PHP_VERSION, '5.4.0', '<')) { $this->markTestSkipped('Requires PHP 5.4'); } if (strstr(PHP_VERSION, 'hiphop') !== false) { $this->markTestSkipped('Not supported on hhvm'); } vfsStream::newFile('bar.txt') ->withContent('bar') ->at(vfsStream::newDirectory('bar') ->at($this->root) ); $fp = fopen(vfsStream::url('root/file.txt'), 'w+'); $this->assertTrue(ftruncate($fp, 11)); fclose($fp); $this->assertEquals(7, $this->root->getChild('file.txt')->size() ); $this->assertEquals("\0\0\0\0\0\0\0", $this->root->getChild('file.txt')->getContent() ); } /** * @test * @group issue_33 */ public function canNotTruncateToGreaterLengthWhenDiscQuotaReached() { if (version_compare(PHP_VERSION, '5.4.0', '<')) { $this->markTestSkipped('Requires PHP 5.4'); } if (strstr(PHP_VERSION, 'hiphop') !== false) { $this->markTestSkipped('Not supported on hhvm'); } vfsStream::newFile('bar.txt') ->withContent('1234567890') ->at(vfsStream::newDirectory('bar') ->at($this->root) ); $fp = fopen(vfsStream::url('root/file.txt'), 'w+'); $this->assertFalse(ftruncate($fp, 11)); fclose($fp); $this->assertEquals(0, $this->root->getChild('file.txt')->size() ); $this->assertEquals('', $this->root->getChild('file.txt')->getContent() ); } }
[-] vfsStreamWrapperFileTestCase.php
[edit]
[-] vfsStreamExLockTestCase.php
[edit]
[-] vfsStreamWrapperSetOptionTestCase.php
[edit]
[-] QuotaTestCase.php
[edit]
[+]
proxy
[+]
..
[-] vfsStreamWrapperStreamSelectTestCase.php
[edit]
[-] vfsStreamWrapperFlockTestCase.php
[edit]
[-] vfsStreamWrapperDirTestCase.php
[edit]
[+]
visitor
[-] vfsStreamBlockTestCase.php
[edit]
[-] DirectoryIterationTestCase.php
[edit]
[-] PermissionsTestCase.php
[edit]
[-] vfsStreamWrapperLargeFileTestCase.php
[edit]
[-] vfsStreamFileTestCase.php
[edit]
[-] vfsStreamWrapperTestCase.php
[edit]
[-] vfsStreamGlobTestCase.php
[edit]
[-] vfsStreamContainerIteratorTestCase.php
[edit]
[-] vfsStreamResolveIncludePathTestCase.php
[edit]
[-] vfsStreamDirectoryIssue18TestCase.php
[edit]
[-] vfsStreamWrapperQuotaTestCase.php
[edit]
[-] vfsStreamWrapperUnregisterTestCase.php
[edit]
[-] vfsStreamUmaskTestCase.php
[edit]
[-] FilenameTestCase.php
[edit]
[-] vfsStreamWrapperBaseTestCase.php
[edit]
[-] vfsStreamWrapperDirSeparatorTestCase.php
[edit]
[-] vfsStreamDirectoryTestCase.php
[edit]
[-] UnlinkTestCase.php
[edit]
[-] vfsStreamZipTestCase.php
[edit]
[-] vfsStreamWrapperFileTimesTestCase.php
[edit]
[+]
content
[-] vfsStreamDirectoryIssue134TestCase.php
[edit]
[-] vfsStreamAbstractContentTestCase.php
[edit]
[-] vfsStreamWrapperAlreadyRegisteredTestCase.php
[edit]
[-] Issue104TestCase.php
[edit]
[-] vfsStreamTestCase.php
[edit]
[-] vfsStreamWrapperWithoutRootTestCase.php
[edit]