public function testGetItemPath() { $expect = array('SILVERSTRIPE\\TEST\\CLASSA' => 'module/classes/ClassA.php', 'Silverstripe\\Test\\ClassA' => 'module/classes/ClassA.php', 'silverstripe\\test\\classa' => 'module/classes/ClassA.php', 'SILVERSTRIPE\\TEST\\INTERFACEA' => 'module/interfaces/InterfaceA.php', 'Silverstripe\\Test\\InterfaceA' => 'module/interfaces/InterfaceA.php', 'silverstripe\\test\\interfacea' => 'module/interfaces/InterfaceA.php'); foreach ($expect as $name => $path) { $this->assertEquals("{$this->base}/{$path}", $this->manifest->getItemPath($name)); } }
/** * Useful for writing unit tests without hardcoding folder structures. * * @return String Absolute path to current class. */ protected function getCurrentAbsolutePath() { $filename = self::$test_class_manifest->getItemPath(get_class($this)); if (!$filename) { throw new LogicException("getItemPath returned null for " . get_class($this)); } return dirname($filename); }