mageekguy\atoum\tests\units\scripts\phar\generator::testSetOriginDirectory PHP Метод

testSetOriginDirectory() публичный Метод

    public function testSetOriginDirectory()
    {
        $this->if($adapter = new atoum\test\adapter())->and($adapter->php_sapi_name = function () {
            return 'cli';
        })->and($adapter->realpath = function ($path) {
            return $path;
        })->and($generator = new phar\generator(uniqid(), $adapter))->then->exception(function () use($generator) {
            $generator->setOriginDirectory('');
        })->isInstanceOf('mageekguy\\atoum\\exceptions\\runtime')->hasMessage('Empty origin directory is invalid')->if($adapter->is_dir = function () {
            return false;
        })->then->exception(function () use($generator, &$directory) {
            $generator->setOriginDirectory($directory = uniqid());
        })->isInstanceOf('mageekguy\\atoum\\exceptions\\runtime')->hasMessage('Path \'' . $directory . '\' of origin directory is invalid')->if($adapter->is_dir = function () {
            return true;
        })->then->object($generator->setOriginDirectory('/'))->isIdenticalTo($generator)->string($generator->getOriginDirectory())->isEqualTo('/')->object($generator->setOriginDirectory(($directory = uniqid()) . DIRECTORY_SEPARATOR))->isIdenticalTo($generator)->string($generator->getOriginDirectory())->isEqualTo($directory)->if($generator->setDestinationDirectory(uniqid()))->then->exception(function () use($generator) {
            $generator->setOriginDirectory($generator->getDestinationDirectory());
        })->isInstanceOf('mageekguy\\atoum\\exceptions\\runtime')->hasMessage('Origin directory must be different from destination directory')->if($realDirectory = $generator->getDestinationDirectory() . DIRECTORY_SEPARATOR . uniqid())->and($adapter->realpath = function ($path) use($realDirectory) {
            return $realDirectory;
        })->then->object($generator->setOriginDirectory('/'))->isIdenticalTo($generator)->string($generator->getOriginDirectory())->isEqualTo($realDirectory);
    }