getSubStream() public static method

public static getSubStream ( mageekguy\atoum\mock\stream\controller $controller, $stream = null )
$controller mageekguy\atoum\mock\stream\controller
Esempio n. 1
0
 public function testGetSubStream()
 {
     $this->if(mock\stream::setAdapter($adapter = new test\adapter()))->and($adapter->stream_get_wrappers = array())->and($adapter->stream_wrapper_register = true)->and($stream = mock\stream::get())->then->string($stream . '\\' . uniqid())->match('#^' . $stream . preg_quote('\\') . '[^' . preg_quote('\\') . ']+$#')->object($subStream = mock\stream::getSubStream($stream))->isInstanceOf('mageekguy\\atoum\\mock\\stream\\controller')->castToString($subStream)->match('#^' . $stream . preg_quote(DIRECTORY_SEPARATOR) . '[^' . preg_quote(DIRECTORY_SEPARATOR) . ']+$#')->object($subStream = mock\stream::getSubStream($stream, $basename = uniqid()))->isInstanceOf('mageekguy\\atoum\\mock\\stream\\controller')->castToString($subStream)->match('#^' . $stream . preg_quote(DIRECTORY_SEPARATOR) . $basename . '$#');
 }
Esempio n. 2
0
 public function testCleanDestinationDirectory()
 {
     $this->if($destinationDirectory = stream::get())->and($destinationDirectory->opendir = true)->and($destinationDirectory->readdir[1] = $directory = stream::getSubStream($destinationDirectory))->and($directory->opendir = true)->and($directory->readdir[1] = $firstFile = stream::getSubStream($directory))->and($firstFile->unlink = true)->and($directory->readdir[2] = $secondFile = stream::getSubStream($directory))->and($secondFile->unlink = true)->and($directory->readdir[3] = false)->and($destinationDirectory->readdir[2] = $emptyDirectory = stream::getSubStream($destinationDirectory))->and($emptyDirectory->opendir = true)->and($emptyDirectory->readdir[1] = false)->and($destinationDirectory->readdir[3] = $otherDirectory = stream::getSubStream($destinationDirectory))->and($otherDirectory->opendir = true)->and($otherDirectory->readdir[1] = $otherFirstFile = stream::getSubStream($otherDirectory))->and($otherFirstFile->unlink = true)->and($otherDirectory->readdir[2] = $otherSecondFile = stream::getSubStream($otherDirectory))->and($otherSecondFile->unlink = true)->and($otherDirectory->readdir[3] = false)->and($destinationDirectory->readdir[4] = $file = stream::getSubStream($destinationDirectory))->and($file->unlink = true)->and($destinationDirectory->readdir[5] = false)->and($field = new \mock\mageekguy\atoum\report\fields\runner\coverage\html(uniqid(), (string) $destinationDirectory))->and($field->setAdapter($adapter = new test\adapter()))->and($adapter->rmdir = function () {
     })->and($adapter->unlink = function () {
     })->then->object($field->cleanDestinationDirectory())->isIdenticalTo($field)->adapter($adapter)->call('unlink')->withArguments((string) $firstFile)->once()->call('unlink')->withArguments((string) $secondFile)->once()->call('rmdir')->withArguments((string) $directory)->once()->call('unlink')->withArguments((string) $otherFirstFile)->once()->call('unlink')->withArguments((string) $otherSecondFile)->once()->call('rmdir')->withArguments((string) $otherDirectory)->once()->call('unlink')->withArguments((string) $file)->once()->call('rmdir')->withArguments((string) $emptyDirectory)->once()->call('rmdir')->withArguments((string) $destinationDirectory)->never()->if($field->getMockController()->getDestinationDirectoryIterator->throw = new \exception())->then->object($field->cleanDestinationDirectory())->isIdenticalTo($field);
 }
Esempio n. 3
0
 public function testKey()
 {
     $this->if($sourceDirectory = stream::get())->and($sourceDirectory->opendir = true)->and($sourceDirectory->rewinddir = true)->and($sourceDirectory->readdir = false)->and($sourceDirectory->closedir = true)->and($iterator = new iterators\recursives\atoum\source($sourceDirectory))->then->integer($iterator->key())->isZero()->if($file = stream::getSubStream($sourceDirectory))->and($sourceDirectory->readdir[1] = $file->getBasename())->and($sourceDirectory->readdir[2] = false)->and($iterator = new iterators\recursives\atoum\source($sourceDirectory))->then->string($iterator->key())->isEqualTo($file)->if($sourceDirectory->readdir[1] = '.file')->and($iterator = new iterators\recursives\atoum\source($sourceDirectory))->then->integer($iterator->key())->isZero()->if($iterator = new iterators\recursives\atoum\source($sourceDirectory, $pharDirectory = uniqid()))->then->string($iterator->key())->isEmpty()->if($sourceDirectory->readdir[1] = $file->getBasename())->and($iterator = new iterators\recursives\atoum\source($sourceDirectory, $pharDirectory = uniqid()))->then->string($iterator->key())->isEqualTo($pharDirectory . DIRECTORY_SEPARATOR . $file->getBasename())->if($sourceDirectory->readdir[1] = '.file')->and($iterator = new iterators\recursives\atoum\source($sourceDirectory, $pharDirectory = uniqid()))->then->string($iterator->key())->isEmpty();
 }
Esempio n. 4
0
 public function testCleanWorkingDirectory()
 {
     $this->if($adapter = new atoum\test\adapter())->and($adapter->extension_loaded = true)->and($adapter->unlink = function () {
     })->and($adapter->rmdir = function () {
     })->and($workingDirectory = stream::get('workingDirectory'))->and($workingDirectory->opendir = true)->and($workingDirectory->readdir[1] = $aDirectory = stream::getSubStream($workingDirectory))->and($aDirectory->opendir = true)->and($aDirectory->readdir[1] = $firstFile = stream::getSubStream($aDirectory))->and($firstFile->unlink = true)->and($aDirectory->readdir[2] = $secondFile = stream::getSubStream($aDirectory))->and($secondFile->unlink = true)->and($aDirectory->readdir[3] = false)->and($workingDirectory->readdir[2] = $emptyDirectory = stream::getSubStream($workingDirectory))->and($emptyDirectory->opendir = true)->and($emptyDirectory->readdir[1] = false)->and($workingDirectory->readdir[3] = $anOtherDirectory = stream::getSubStream($workingDirectory))->and($anOtherDirectory->opendir = true)->and($anOtherDirectory->readdir[1] = $anOtherFirstFile = stream::getSubStream($anOtherDirectory))->and($anOtherFirstFile->unlink = true)->and($anOtherDirectory->readdir[2] = $anOtherSecondFile = stream::getSubStream($anOtherDirectory))->and($anOtherSecondFile->unlink = true)->and($anOtherDirectory->readdir[3] = false)->and($workingDirectory->readdir[4] = $aFile = stream::getSubStream($workingDirectory))->and($aFile->unlink = true)->and($workingDirectory->readdir[5] = false)->and($svn = new \mock\mageekguy\atoum\scripts\builder\vcs\svn($adapter, $svnController = new mock\controller()))->and($svn->setWorkingDirectory('atoum://workingDirectory'))->then->object($svn->cleanWorkingDirectory())->isIdenticalTo($svn)->adapter($adapter)->call('unlink')->withArguments((string) $firstFile)->once()->call('unlink')->withArguments((string) $secondFile)->once()->call('rmdir')->withArguments((string) $aDirectory)->once()->call('rmdir')->withArguments((string) $emptyDirectory)->once()->call('unlink')->withArguments((string) $anOtherFirstFile)->once()->call('unlink')->withArguments((string) $anOtherSecondFile)->once()->call('rmdir')->withArguments((string) $anOtherDirectory)->once()->call('unlink')->withArguments((string) $aFile)->once()->call('rmdir')->withArguments((string) $workingDirectory)->never();
 }