/** * @param Path $path * * @return mixed */ protected function getSourceCode(Path $path) { return $this->adapter->file_get_contents((string) $path->resolve()); }
public function testResolve() { $this->if($path = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('/a/b/..', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a')->if($path = new testedClass('/a/b/../..', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR)->if($path = new testedClass('/a/b/.', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('/a/./b', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('//a////./////b', DIRECTORY_SEPARATOR))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->given($adapter = new atoum\test\adapter())->and($adapter->getcwd = $currentDirectory = '/current/directory')->then->if($path = new testedClass('a/b', DIRECTORY_SEPARATOR, $adapter))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'current' . DIRECTORY_SEPARATOR . 'directory' . DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('./a/b', DIRECTORY_SEPARATOR, $adapter))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'current' . DIRECTORY_SEPARATOR . 'directory' . DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('../a/b', DIRECTORY_SEPARATOR, $adapter))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'current' . DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b')->if($path = new testedClass('../../a/b', DIRECTORY_SEPARATOR, $adapter))->then->object($path->resolve())->isIdenticalTo($path)->toString->isEqualTo(DIRECTORY_SEPARATOR . 'a' . DIRECTORY_SEPARATOR . 'b'); }
protected function makeSourceElement(score\coverage $coverage) { $sources = array(); foreach ($coverage->getClasses() as $class => $file) { $path = new atoum\fs\path($file); $source = $this->adapter->file_get_contents((string) $path->resolve()); $sources[] = array('name' => ltrim((string) $path->relativizeFrom($this->sourceDir), '.' . DIRECTORY_SEPARATOR), 'source' => $source, 'coverage' => $this->makeCoverageElement($coverage->getCoverageForClass($class))); } return $sources; }