class vfsStreamFileTestCase in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/vfsStreamFileTestCase.php \org\bovigo\vfs\vfsStreamFileTestCase
Test for org\bovigo\vfs\vfsStreamFile.
Hierarchy
- class \org\bovigo\vfs\vfsStreamFileTestCase extends \org\bovigo\vfs\PHPUnit_Framework_TestCase
Expanded class hierarchy of vfsStreamFileTestCase
File
- vendor/
mikey179/ vfsStream/ src/ test/ php/ org/ bovigo/ vfs/ vfsStreamFileTestCase.php, line 14
Namespace
org\bovigo\vfsView source
class vfsStreamFileTestCase extends \PHPUnit_Framework_TestCase {
/**
* instance to test
*
* @var vfsStreamFile
*/
protected $file;
/**
* set up test environment
*/
public function setUp() {
$this->file = new vfsStreamFile('foo');
}
/**
* test default values and methods
*
* @test
*/
public function defaultValues() {
$this
->assertEquals(vfsStreamContent::TYPE_FILE, $this->file
->getType());
$this
->assertEquals('foo', $this->file
->getName());
$this
->assertTrue($this->file
->appliesTo('foo'));
$this
->assertFalse($this->file
->appliesTo('foo/bar'));
$this
->assertFalse($this->file
->appliesTo('bar'));
}
/**
* test setting and getting the content of a file
*
* @test
*/
public function content() {
$this
->assertNull($this->file
->getContent());
$this
->assertSame($this->file, $this->file
->setContent('bar'));
$this
->assertEquals('bar', $this->file
->getContent());
$this
->assertSame($this->file, $this->file
->withContent('baz'));
$this
->assertEquals('baz', $this->file
->getContent());
}
/**
* test renaming the directory
*
* @test
*/
public function rename() {
$this->file
->rename('bar');
$this
->assertEquals('bar', $this->file
->getName());
$this
->assertFalse($this->file
->appliesTo('foo'));
$this
->assertFalse($this->file
->appliesTo('foo/bar'));
$this
->assertTrue($this->file
->appliesTo('bar'));
}
/**
* test reading contents from the file
*
* @test
*/
public function readEmptyFile() {
$this
->assertTrue($this->file
->eof());
$this
->assertEquals(0, $this->file
->size());
$this
->assertEquals('', $this->file
->read(5));
$this
->assertEquals(5, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->eof());
}
/**
* test reading contents from the file
*
* @test
*/
public function read() {
$this->file
->setContent('foobarbaz');
$this
->assertFalse($this->file
->eof());
$this
->assertEquals(9, $this->file
->size());
$this
->assertEquals('foo', $this->file
->read(3));
$this
->assertEquals(3, $this->file
->getBytesRead());
$this
->assertFalse($this->file
->eof());
$this
->assertEquals(9, $this->file
->size());
$this
->assertEquals('bar', $this->file
->read(3));
$this
->assertEquals(6, $this->file
->getBytesRead());
$this
->assertFalse($this->file
->eof());
$this
->assertEquals(9, $this->file
->size());
$this
->assertEquals('baz', $this->file
->read(3));
$this
->assertEquals(9, $this->file
->getBytesRead());
$this
->assertEquals(9, $this->file
->size());
$this
->assertTrue($this->file
->eof());
$this
->assertEquals('', $this->file
->read(3));
}
/**
* test seeking to offset
*
* @test
*/
public function seekEmptyFile() {
$this
->assertFalse($this->file
->seek(0, 55));
$this
->assertTrue($this->file
->seek(0, SEEK_SET));
$this
->assertEquals(0, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(5, SEEK_SET));
$this
->assertEquals(5, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(0, SEEK_CUR));
$this
->assertEquals(5, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(2, SEEK_CUR));
$this
->assertEquals(7, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(0, SEEK_END));
$this
->assertEquals(0, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(2, SEEK_END));
$this
->assertEquals(2, $this->file
->getBytesRead());
}
/**
* test seeking to offset
*
* @test
*/
public function seekRead() {
$this->file
->setContent('foobarbaz');
$this
->assertFalse($this->file
->seek(0, 55));
$this
->assertTrue($this->file
->seek(0, SEEK_SET));
$this
->assertEquals('foobarbaz', $this->file
->readUntilEnd());
$this
->assertEquals(0, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(5, SEEK_SET));
$this
->assertEquals('rbaz', $this->file
->readUntilEnd());
$this
->assertEquals(5, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(0, SEEK_CUR));
$this
->assertEquals('rbaz', $this->file
->readUntilEnd());
$this
->assertEquals(5, $this->file
->getBytesRead(), 5);
$this
->assertTrue($this->file
->seek(2, SEEK_CUR));
$this
->assertEquals('az', $this->file
->readUntilEnd());
$this
->assertEquals(7, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(0, SEEK_END));
$this
->assertEquals('', $this->file
->readUntilEnd());
$this
->assertEquals(9, $this->file
->getBytesRead());
$this
->assertTrue($this->file
->seek(2, SEEK_END));
$this
->assertEquals('', $this->file
->readUntilEnd());
$this
->assertEquals(11, $this->file
->getBytesRead());
}
/**
* test writing data into the file
*
* @test
*/
public function writeEmptyFile() {
$this
->assertEquals(3, $this->file
->write('foo'));
$this
->assertEquals('foo', $this->file
->getContent());
$this
->assertEquals(3, $this->file
->size());
$this
->assertEquals(3, $this->file
->write('bar'));
$this
->assertEquals('foobar', $this->file
->getContent());
$this
->assertEquals(6, $this->file
->size());
}
/**
* test writing data into the file
*
* @test
*/
public function write() {
$this->file
->setContent('foobarbaz');
$this
->assertTrue($this->file
->seek(3, SEEK_SET));
$this
->assertEquals(3, $this->file
->write('foo'));
$this
->assertEquals('foofoobaz', $this->file
->getContent());
$this
->assertEquals(9, $this->file
->size());
$this
->assertEquals(3, $this->file
->write('bar'));
$this
->assertEquals('foofoobar', $this->file
->getContent());
$this
->assertEquals(9, $this->file
->size());
}
/**
* setting and retrieving permissions for a file
*
* @test
* @group permissions
*/
public function permissions() {
$this
->assertEquals(0666, $this->file
->getPermissions());
$this
->assertSame($this->file, $this->file
->chmod(0644));
$this
->assertEquals(0644, $this->file
->getPermissions());
}
/**
* setting and retrieving permissions for a file
*
* @test
* @group permissions
*/
public function permissionsSet() {
$this->file = new vfsStreamFile('foo', 0644);
$this
->assertEquals(0644, $this->file
->getPermissions());
$this
->assertSame($this->file, $this->file
->chmod(0600));
$this
->assertEquals(0600, $this->file
->getPermissions());
}
/**
* setting and retrieving owner of a file
*
* @test
* @group permissions
*/
public function owner() {
$this
->assertEquals(vfsStream::getCurrentUser(), $this->file
->getUser());
$this
->assertTrue($this->file
->isOwnedByUser(vfsStream::getCurrentUser()));
$this
->assertSame($this->file, $this->file
->chown(vfsStream::OWNER_USER_1));
$this
->assertEquals(vfsStream::OWNER_USER_1, $this->file
->getUser());
$this
->assertTrue($this->file
->isOwnedByUser(vfsStream::OWNER_USER_1));
}
/**
* setting and retrieving owner group of a file
*
* @test
* @group permissions
*/
public function group() {
$this
->assertEquals(vfsStream::getCurrentGroup(), $this->file
->getGroup());
$this
->assertTrue($this->file
->isOwnedByGroup(vfsStream::getCurrentGroup()));
$this
->assertSame($this->file, $this->file
->chgrp(vfsStream::GROUP_USER_1));
$this
->assertEquals(vfsStream::GROUP_USER_1, $this->file
->getGroup());
$this
->assertTrue($this->file
->isOwnedByGroup(vfsStream::GROUP_USER_1));
}
/**
* @test
* @group issue_33
* @since 1.1.0
*/
public function truncateRemovesSuperflouosContent() {
$this
->assertEquals(11, $this->file
->write("lorem ipsum"));
$this
->assertTrue($this->file
->truncate(5));
$this
->assertEquals(5, $this->file
->size());
$this
->assertEquals('lorem', $this->file
->getContent());
}
/**
* @test
* @group issue_33
* @since 1.1.0
*/
public function truncateToGreaterSizeAddsZeroBytes() {
$this
->assertEquals(11, $this->file
->write("lorem ipsum"));
$this
->assertTrue($this->file
->truncate(25));
$this
->assertEquals(25, $this->file
->size());
$this
->assertEquals("lorem ipsum\0\0\0\0\0\0\0\0\0\0\0\0\0\0", $this->file
->getContent());
}
/**
* @test
* @group issue_79
* @since 1.3.0
*/
public function withContentAcceptsAnyFileContentInstance() {
$mockFileContent = $this
->getMock('org\\bovigo\\vfs\\content\\FileContent');
$mockFileContent
->expects($this
->once())
->method('content')
->will($this
->returnValue('foobarbaz'));
$this
->assertEquals('foobarbaz', $this->file
->withContent($mockFileContent)
->getContent());
}
/**
* @test
* @group issue_79
* @expectedException \InvalidArgumentException
* @since 1.3.0
*/
public function withContentThrowsInvalidArgumentExceptionWhenContentIsNoStringAndNoFileContent() {
$this->file
->withContent(313);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
vfsStreamFileTestCase:: |
protected | property | instance to test | |
vfsStreamFileTestCase:: |
public | function | test setting and getting the content of a file | |
vfsStreamFileTestCase:: |
public | function | test default values and methods | |
vfsStreamFileTestCase:: |
public | function | setting and retrieving owner group of a file | |
vfsStreamFileTestCase:: |
public | function | setting and retrieving owner of a file | |
vfsStreamFileTestCase:: |
public | function | setting and retrieving permissions for a file | |
vfsStreamFileTestCase:: |
public | function | setting and retrieving permissions for a file | |
vfsStreamFileTestCase:: |
public | function | test reading contents from the file | |
vfsStreamFileTestCase:: |
public | function | test reading contents from the file | |
vfsStreamFileTestCase:: |
public | function | test renaming the directory | |
vfsStreamFileTestCase:: |
public | function | test seeking to offset | |
vfsStreamFileTestCase:: |
public | function | test seeking to offset | |
vfsStreamFileTestCase:: |
public | function | set up test environment | |
vfsStreamFileTestCase:: |
public | function | @test @group issue_33 @since 1.1.0 | |
vfsStreamFileTestCase:: |
public | function | @test @group issue_33 @since 1.1.0 | |
vfsStreamFileTestCase:: |
public | function | @test @group issue_79 @since 1.3.0 | |
vfsStreamFileTestCase:: |
public | function | @test @group issue_79 @expectedException \InvalidArgumentException @since 1.3.0 | |
vfsStreamFileTestCase:: |
public | function | test writing data into the file | |
vfsStreamFileTestCase:: |
public | function | test writing data into the file |