/** * @return bool */ protected function _validateData() { $sourceClassName = $this->_getSourceClassName(); $resultClassName = $this->_getResultClassName(); $resultFileName = $this->_ioObject->getResultFileName($resultClassName); $autoloader = $this->_autoloader; if (!$autoloader::getFile($sourceClassName)) { $this->_addError('Source class ' . $sourceClassName . ' doesn\'t exist.'); return false; } elseif ($autoloader::getFile($resultClassName)) { $this->_addError('Result class ' . $resultClassName . ' already exists.'); return false; } elseif (!$this->_ioObject->makeGenerationDirectory()) { $this->_addError('Can\'t create directory ' . $this->_ioObject->getGenerationDirectory() . '.'); return false; } elseif (!$this->_ioObject->makeResultFileDirectory($resultClassName)) { $this->_addError('Can\'t create directory ' . $this->_ioObject->getResultFileDirectory($resultClassName) . '.'); return false; } elseif ($this->_ioObject->fileExists($resultFileName)) { $this->_addError('Result file ' . $resultFileName . ' already exists.'); return false; } return true; }
public function testMakeGenerationDirectoryReadOnly() { $this->_ioObjectMock->expects($this->once())->method('isWriteable')->with($this->equalTo($this->_generationDirectory))->will($this->returnValue(false)); $this->_ioObjectMock->expects($this->once())->method('mkdir')->with($this->equalTo($this->_generationDirectory), $this->anything(), $this->isTrue())->will($this->returnValue(true)); $this->assertTrue($this->_object->makeGenerationDirectory()); }